mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Merge branch 'feature_bottom_face' of https://github.com/Ultimaker/Cura into feature_bottom_face
This commit is contained in:
commit
d9b10e7180
2 changed files with 6 additions and 3 deletions
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, QUrl
|
from PyQt5.QtCore import QObject, QUrl
|
||||||
from PyQt5.QtGui import QDesktopServices
|
from PyQt5.QtGui import QDesktopServices
|
||||||
from typing import List, cast
|
from typing import List, Optional, cast
|
||||||
|
|
||||||
from UM.Event import CallFunctionEvent
|
from UM.Event import CallFunctionEvent
|
||||||
from UM.FlameProfiler import pyqtSlot
|
from UM.FlameProfiler import pyqtSlot
|
||||||
|
@ -85,7 +85,7 @@ class CuraActions(QObject):
|
||||||
|
|
||||||
original_node, face_id = selected_face
|
original_node, face_id = selected_face
|
||||||
meshdata = original_node.getMeshDataTransformed()
|
meshdata = original_node.getMeshDataTransformed()
|
||||||
if not meshdata or face_id < 0 or face_id > Selection.maxFaceSelectionId():
|
if not meshdata or face_id < 0 or face_id > Selection.getMaxFaceSelectionId():
|
||||||
return
|
return
|
||||||
|
|
||||||
rotation_point, face_normal = meshdata.getFacePlane(face_id)
|
rotation_point, face_normal = meshdata.getFacePlane(face_id)
|
||||||
|
@ -94,12 +94,15 @@ class CuraActions(QObject):
|
||||||
rotation_quaternion = Quaternion.rotationTo(face_normal_vector.normalized(), Vector(0.0, -1.0, 0.0))
|
rotation_quaternion = Quaternion.rotationTo(face_normal_vector.normalized(), Vector(0.0, -1.0, 0.0))
|
||||||
|
|
||||||
operation = GroupedOperation()
|
operation = GroupedOperation()
|
||||||
|
current_node = None # type: Optional[SceneNode]
|
||||||
for node in Selection.getAllSelectedObjects():
|
for node in Selection.getAllSelectedObjects():
|
||||||
current_node = node
|
current_node = node
|
||||||
parent_node = current_node.getParent()
|
parent_node = current_node.getParent()
|
||||||
while parent_node and parent_node.callDecoration("isGroup"):
|
while parent_node and parent_node.callDecoration("isGroup"):
|
||||||
current_node = parent_node
|
current_node = parent_node
|
||||||
parent_node = current_node.getParent()
|
parent_node = current_node.getParent()
|
||||||
|
if current_node is None:
|
||||||
|
return
|
||||||
|
|
||||||
rotate_operation = RotateOperation(current_node, rotation_quaternion, rotation_point_vector)
|
rotate_operation = RotateOperation(current_node, rotation_quaternion, rotation_point_vector)
|
||||||
operation.addOperation(rotate_operation)
|
operation.addOperation(rotate_operation)
|
||||||
|
|
|
@ -142,7 +142,7 @@ class SolidView(View):
|
||||||
|
|
||||||
# Color the currently selected face-id.
|
# Color the currently selected face-id.
|
||||||
face = Selection.getSelectedFace()
|
face = Selection.getSelectedFace()
|
||||||
uniforms["selected_face"] = (Selection.maxFaceSelectionId() + 1) if not face or node != face[0] else face[1]
|
uniforms["selected_face"] = (Selection.getMaxFaceSelectionId() + 1) if not face or node != face[0] else face[1]
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue