mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Removed old code in per object settings that caused crash.
This commit is contained in:
parent
a334e8876d
commit
ede0cbcfe6
1 changed files with 2 additions and 25 deletions
|
@ -24,16 +24,11 @@ class PerObjectSettingsModel(ListModel):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self._scene = Application.getInstance().getController().getScene()
|
self._scene = Application.getInstance().getController().getScene()
|
||||||
self._root = self._scene.getRoot()
|
self._root = self._scene.getRoot()
|
||||||
self._root.transformationChanged.connect(self._updatePositions)
|
|
||||||
self._root.childrenChanged.connect(self._updateNodes)
|
|
||||||
self._updateNodes(None)
|
|
||||||
|
|
||||||
self.addRoleName(self.IdRole,"id")
|
self.addRoleName(self.IdRole,"id")
|
||||||
self.addRoleName(self.XRole,"x")
|
|
||||||
self.addRoleName(self.YRole,"y")
|
|
||||||
self.addRoleName(self.MaterialRole, "material")
|
self.addRoleName(self.MaterialRole, "material")
|
||||||
self.addRoleName(self.ProfileRole, "profile")
|
self.addRoleName(self.ProfileRole, "profile")
|
||||||
self.addRoleName(self.SettingsRole, "settings")
|
self.addRoleName(self.SettingsRole, "settings")
|
||||||
|
self._updateModel()
|
||||||
|
|
||||||
@pyqtSlot("quint64", str)
|
@pyqtSlot("quint64", str)
|
||||||
def setObjectProfile(self, object_id, profile_name):
|
def setObjectProfile(self, object_id, profile_name):
|
||||||
|
@ -72,27 +67,11 @@ class PerObjectSettingsModel(ListModel):
|
||||||
if len(node.callDecoration("getAllSettings")) == 0:
|
if len(node.callDecoration("getAllSettings")) == 0:
|
||||||
node.removeDecorator(SettingOverrideDecorator)
|
node.removeDecorator(SettingOverrideDecorator)
|
||||||
|
|
||||||
def _updatePositions(self, source):
|
def _updateModel(self):
|
||||||
camera = Application.getInstance().getController().getScene().getActiveCamera()
|
|
||||||
for node in BreadthFirstIterator(self._root):
|
|
||||||
if type(node) is not SceneNode or not node.getMeshData():
|
|
||||||
continue
|
|
||||||
|
|
||||||
projected_position = camera.project(node.getWorldPosition())
|
|
||||||
|
|
||||||
index = self.find("id", id(node))
|
|
||||||
self.setProperty(index, "x", float(projected_position[0]))
|
|
||||||
self.setProperty(index, "y", float(projected_position[1]))
|
|
||||||
|
|
||||||
def _updateNodes(self, source):
|
|
||||||
self.clear()
|
self.clear()
|
||||||
camera = Application.getInstance().getController().getScene().getActiveCamera()
|
|
||||||
for node in BreadthFirstIterator(self._root):
|
for node in BreadthFirstIterator(self._root):
|
||||||
if type(node) is not SceneNode or not node.getMeshData() or not node.isSelectable():
|
if type(node) is not SceneNode or not node.getMeshData() or not node.isSelectable():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
projected_position = camera.project(node.getWorldPosition())
|
|
||||||
|
|
||||||
node_profile = node.callDecoration("getProfile")
|
node_profile = node.callDecoration("getProfile")
|
||||||
if not node_profile:
|
if not node_profile:
|
||||||
node_profile = "global"
|
node_profile = "global"
|
||||||
|
@ -101,8 +80,6 @@ class PerObjectSettingsModel(ListModel):
|
||||||
|
|
||||||
self.appendItem({
|
self.appendItem({
|
||||||
"id": id(node),
|
"id": id(node),
|
||||||
"x": float(projected_position[0]),
|
|
||||||
"y": float(projected_position[1]),
|
|
||||||
"material": "",
|
"material": "",
|
||||||
"profile": node_profile,
|
"profile": node_profile,
|
||||||
"settings": SettingOverrideModel.SettingOverrideModel(node)
|
"settings": SettingOverrideModel.SettingOverrideModel(node)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue