From a6d754a2c4632c9b27e0054f33ac8d047de15f6b Mon Sep 17 00:00:00 2001 From: David Vierra Date: Sun, 4 Oct 2015 00:31:43 -1000 Subject: [PATCH] Fix rotated objects not moving with their box handle. --- src/mcedit2/editortools/move.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mcedit2/editortools/move.py b/src/mcedit2/editortools/move.py index 6f55e8e..52c80b5 100644 --- a/src/mcedit2/editortools/move.py +++ b/src/mcedit2/editortools/move.py @@ -196,7 +196,8 @@ class PendingImportNode(Node, QtCore.QObject): self.textureAtlas) self.transformedWorldScene.depthOffsetNode.depthOffset = DepthOffset.PreviewRenderer self.transformedWorldTranslateNode.addChild(self.transformedWorldScene) - self.transformedWorldTranslateNode.translateOffset = self.pos - self.pendingImport.rotateAnchor + self.pendingImport.bounds.size * 0.5 + + self.updateTransformedSceneOffset() cPos = list(self.pendingImport.transformedDim.chunkPositions()) self.loader = WorldLoader(self.transformedWorldScene, @@ -211,6 +212,9 @@ class PendingImportNode(Node, QtCore.QObject): self.transformedWorldTranslateNode.removeChild(self.transformedWorldScene) self.transformedWorldScene = None + def updateTransformedSceneOffset(self): + self.transformedWorldTranslateNode.translateOffset = self.pos - self.pendingImport.rotateAnchor + self.pendingImport.bounds.size * 0.5 + @property def pos(self): return self.positionTranslateNode.translateOffset @@ -221,6 +225,8 @@ class PendingImportNode(Node, QtCore.QObject): return self.positionTranslateNode.translateOffset = value + self.updateTransformedSceneOffset() + bounds = BoundingBox(value, self.pendingImport.bounds.size) self.handleNode.bounds = bounds