Code simplification of move subelements command

This commit is contained in:
Dion Moult
2019-02-25 21:44:15 +11:00
committed by Yorik van Havre
parent 8501377119
commit bc3af1afbc
2 changed files with 9 additions and 12 deletions

View File

@@ -1488,17 +1488,17 @@ def cut(object1,object2):
return obj
def moveVertex(object, vertex_index, vertex, vector):
def moveVertex(object, vertex_index, vector):
points = object.Points
points[vertex_index] = object.Placement.inverse().multVec(vertex).add(vector)
points[vertex_index] = points[vertex_index].add(vector)
object.Points = points
def moveEdge(object, edge_index, vector):
moveVertex(object, edge_index, object.Placement.multVec(object.Points[edge_index]), vector)
moveVertex(object, edge_index, vector)
if isClosedEdge(edge_index, object):
moveVertex(object, 0, object.Placement.multVec(object.Points[0]), vector)
moveVertex(object, 0, vector)
else:
moveVertex(object, edge_index+1, object.Placement.multVec(object.Points[edge_index+1]), vector)
moveVertex(object, edge_index+1, vector)
def copyEdges(copy_edge_arguments):
copied_edges = []

View File

@@ -2623,7 +2623,7 @@ class Move(Modifier):
def handle_mouse_click_event(self, arg):
if not self.ghosts:
self.set_ghost()
self.set_ghosts()
if not self.point:
return
self.ui.redraw()
@@ -2644,7 +2644,7 @@ class Move(Modifier):
else:
self.finish(cont=True)
def set_ghost(self):
def set_ghosts(self):
if self.ui.isSubelementMode.isChecked():
return self.set_subelement_ghosts()
self.ghosts = [ghostTracker(self.selected_objects)]
@@ -2655,9 +2655,7 @@ class Move(Modifier):
for subelement in object.SubObjects:
if isinstance(subelement, Part.Vertex) \
or isinstance(subelement, Part.Edge):
ghost = ghostTracker(subelement)
ghost.on()
self.ghosts.append(ghost)
self.ghosts.append(ghostTracker(subelement))
def move(self):
if self.ui.isSubelementMode.isChecked():
@@ -2697,10 +2695,9 @@ class Move(Modifier):
for object in self.selected_subelements:
for index, subelement in enumerate(object.SubObjects):
if isinstance(subelement, Part.Vertex):
command.append('Draft.moveVertex(FreeCAD.ActiveDocument.{}, {}, {}, {})'.format(
command.append('Draft.moveVertex(FreeCAD.ActiveDocument.{}, {}, {})'.format(
object.ObjectName,
int(object.SubElementNames[index][len("Vertex"):])-1,
DraftVecUtils.toString(subelement.Point),
DraftVecUtils.toString(self.vector)
))
elif isinstance(subelement, Part.Edge):