Skip to content

Commit

Permalink
Fixed aachman98#172 Deselect not working in "Select by Normal" node
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Yuen committed Aug 18, 2020
1 parent 4db7e71 commit 26f1bff
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions nodes/selection/ScSelectByNormal.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,27 @@ def functionality(self):
bpy.ops.object.mode_set(mode="OBJECT")

if (bpy.context.tool_settings.mesh_select_mode[0]):
for edge in self.inputs["Object"].default_value.data.edges:
edge.select = False
for face in self.inputs["Object"].default_value.data.polygons:
face.select = False
for vertex in self.inputs["Object"].default_value.data.vertices:
if (((vertex.normal[0]>=self.inputs["Minimum"].default_value[0] and vertex.normal[1]>=self.inputs["Minimum"].default_value[1] and vertex.normal[2]>=self.inputs["Minimum"].default_value[2]) and (vertex.normal[0]<=self.inputs["Maximum"].default_value[0] and vertex.normal[1]<=self.inputs["Maximum"].default_value[1] and vertex.normal[2]<=self.inputs["Maximum"].default_value[2]))):
vertex.select = not self.inputs["Deselect"].default_value
if (bpy.context.tool_settings.mesh_select_mode[1]):
for vertex in self.inputs["Object"].default_value.data.vertices:
vertex.select = False
for face in self.inputs["Object"].default_value.data.polygons:
face.select = False
for edge in self.inputs["Object"].default_value.data.edges:
normal = (self.inputs["Object"].default_value.data.vertices[edge.vertices[0]].normal + self.inputs["Object"].default_value.data.vertices[edge.vertices[1]].normal)/2
if (((normal[0]>=self.inputs["Minimum"].default_value[0] and normal[1]>=self.inputs["Minimum"].default_value[1] and normal[2]>=self.inputs["Minimum"].default_value[2]) and (normal[0]<=self.inputs["Maximum"].default_value[0] and normal[1]<=self.inputs["Maximum"].default_value[1] and normal[2]<=self.inputs["Maximum"].default_value[2]))):
edge.select = not self.inputs["Deselect"].default_value
if (bpy.context.tool_settings.mesh_select_mode[2]):
for vertex in self.inputs["Object"].default_value.data.vertices:
vertex.select = False
for edge in self.inputs["Object"].default_value.data.edges:
edge.select = False
for face in self.inputs["Object"].default_value.data.polygons:
if (((face.normal[0]>=self.inputs["Minimum"].default_value[0] and face.normal[1]>=self.inputs["Minimum"].default_value[1] and face.normal[2]>=self.inputs["Minimum"].default_value[2]) and (face.normal[0]<=self.inputs["Maximum"].default_value[0] and face.normal[1]<=self.inputs["Maximum"].default_value[1] and face.normal[2]<=self.inputs["Maximum"].default_value[2]))):
face.select = not self.inputs["Deselect"].default_value
Expand Down

0 comments on commit 26f1bff

Please sign in to comment.