Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'cura/Scene/CuraSceneNode.py')
-rw-r--r--cura/Scene/CuraSceneNode.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py
index eb609def5a..b9f2279414 100644
--- a/cura/Scene/CuraSceneNode.py
+++ b/cura/Scene/CuraSceneNode.py
@@ -15,9 +15,11 @@ from cura.Settings.ExtruderStack import ExtruderStack # For typing.
from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator # For per-object settings.
-## Scene nodes that are models are only seen when selecting the corresponding build plate
-# Note that many other nodes can just be UM SceneNode objects.
class CuraSceneNode(SceneNode):
+ """Scene nodes that are models are only seen when selecting the corresponding build plate
+
+ Note that many other nodes can just be UM SceneNode objects.
+ """
def __init__(self, parent: Optional["SceneNode"] = None, visible: bool = True, name: str = "", no_setting_override: bool = False) -> None:
super().__init__(parent = parent, visible = visible, name = name)
if not no_setting_override:
@@ -36,9 +38,11 @@ class CuraSceneNode(SceneNode):
def isSelectable(self) -> bool:
return super().isSelectable() and self.callDecoration("getBuildPlateNumber") == cura.CuraApplication.CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate
- ## Get the extruder used to print this node. If there is no active node, then the extruder in position zero is returned
- # TODO The best way to do it is by adding the setActiveExtruder decorator to every node when is loaded
def getPrintingExtruder(self) -> Optional[ExtruderStack]:
+ """Get the extruder used to print this node. If there is no active node, then the extruder in position zero is returned
+
+ TODO The best way to do it is by adding the setActiveExtruder decorator to every node when is loaded
+ """
global_container_stack = Application.getInstance().getGlobalContainerStack()
if global_container_stack is None:
return None
@@ -69,8 +73,9 @@ class CuraSceneNode(SceneNode):
# This point should never be reached
return None
- ## Return the color of the material used to print this model
def getDiffuseColor(self) -> List[float]:
+ """Return the color of the material used to print this model"""
+
printing_extruder = self.getPrintingExtruder()
material_color = "#808080" # Fallback color
@@ -86,8 +91,9 @@ class CuraSceneNode(SceneNode):
1.0
]
- ## Return if any area collides with the convex hull of this scene node
def collidesWithAreas(self, areas: List[Polygon]) -> bool:
+ """Return if any area collides with the convex hull of this scene node"""
+
convex_hull = self.callDecoration("getPrintingArea")
if convex_hull:
if not convex_hull.isValid():
@@ -101,8 +107,9 @@ class CuraSceneNode(SceneNode):
return True
return False
- ## Override of SceneNode._calculateAABB to exclude non-printing-meshes from bounding box
def _calculateAABB(self) -> None:
+ """Override of SceneNode._calculateAABB to exclude non-printing-meshes from bounding box"""
+
self._aabb = None
if self._mesh_data:
self._aabb = self._mesh_data.getExtents(self.getWorldTransformation())
@@ -122,8 +129,9 @@ class CuraSceneNode(SceneNode):
else:
self._aabb = self._aabb + child.getBoundingBox()
- ## Taken from SceneNode, but replaced SceneNode with CuraSceneNode
def __deepcopy__(self, memo: Dict[int, object]) -> "CuraSceneNode":
+ """Taken from SceneNode, but replaced SceneNode with CuraSceneNode"""
+
copy = CuraSceneNode(no_setting_override = True) # Setting override will be added later
copy.setTransformation(self.getLocalTransformation())
copy.setMeshData(self._mesh_data)