diff --git a/direct/src/directtools/DirectCameraControl.py b/direct/src/directtools/DirectCameraControl.py index 2ae855e1e1..56b62a7e5a 100644 --- a/direct/src/directtools/DirectCameraControl.py +++ b/direct/src/directtools/DirectCameraControl.py @@ -236,13 +236,12 @@ class DirectCameraControl(PandaObject): self.camManipRef.setPos(self.coaMarkerPos) self.camManipRef.setHpr(direct.camera, ZERO_POINT) else: - wrtMat = Mat4() - wrtMat.assign(direct.camera.getMat( self.camManipRef )) + wrt = direct.camera.getTransform( self.camManipRef ) self.camManipRef.setHpr(self.camManipRef, (-1 * deltaX * 180.0), (deltaY * 180.0), 0.0) - direct.camera.setMat(self.camManipRef, wrtMat) + direct.camera.setTransform(self.camManipRef, wrt) return Task.cont def spawnMouseRollTask(self): @@ -254,12 +253,12 @@ class DirectCameraControl(PandaObject): t = Task.Task(self.mouseRollTask) t.coaCenter = getScreenXY(self.coaMarker) t.lastAngle = getCrankAngle(t.coaCenter) - # Get a copy of the camera/manipRef offset matrix - t.wrtMat = Mat4(direct.camera.getMat( self.camManipRef )) + # Store the camera/manipRef offset transform + t.wrt = direct.camera.getTransform( self.camManipRef ) taskMgr.add(t, 'manipulateCamera') def mouseRollTask(self, state): - wrtMat = state.wrtMat + wrt = state.wrt angle = getCrankAngle(state.coaCenter) deltaAngle = angle - state.lastAngle state.lastAngle = angle @@ -267,7 +266,7 @@ class DirectCameraControl(PandaObject): self.camManipRef.setHpr(self.camManipRef, 0, 0, deltaAngle) else: self.camManipRef.setHpr(self.camManipRef, 0, 0, -deltaAngle) - direct.camera.setMat(self.camManipRef, wrtMat) + direct.camera.setTransform(self.camManipRef, wrt) return Task.cont def lockCOA(self): @@ -383,7 +382,7 @@ class DirectCameraControl(PandaObject): # Record undo point direct.pushUndo([direct.camera]) direct.camera.reparentTo(render) - direct.camera.setMat(Mat4.identMat()) + direct.camera.clearMat() # Resize coa marker self.updateCoaMarkerSize() diff --git a/direct/src/directtools/DirectSelection.py b/direct/src/directtools/DirectSelection.py index 9f2b4de791..9be499a4d0 100644 --- a/direct/src/directtools/DirectSelection.py +++ b/direct/src/directtools/DirectSelection.py @@ -21,8 +21,7 @@ class DirectNodePath(NodePath): self.mCoa2Dnp.assign(Mat4.identMat()) #self.mCoa2Dnp.setRow(3, Vec4(center[0], center[1], center[2], 1)) # Transform from nodePath to widget - self.mDnp2Widget = Mat4() - self.mDnp2Widget.assign(Mat4.identMat()) + self.tDnp2Widget = TransformState.makeIdentity() def highlight(self): self.bbox.show() @@ -168,13 +167,13 @@ class SelectedNodePaths(PandaObject): self.forEachSelectedNodePathDo(self.getWrt) def getWrt(self, nodePath): - nodePath.mDnp2Widget.assign(nodePath.getMat(direct.widget)) + nodePath.tDnp2Widget = nodePath.getTransform(direct.widget) def moveWrtWidgetAll(self): self.forEachSelectedNodePathDo(self.moveWrtWidget) def moveWrtWidget(self, nodePath): - nodePath.setMat(direct.widget, nodePath.mDnp2Widget) + nodePath.setTransform(direct.widget, nodePath.tDnp2Widget) def deselectAll(self): self.forEachSelectedNodePathDo(self.deselect) diff --git a/direct/src/directtools/DirectSession.py b/direct/src/directtools/DirectSession.py index 6d24e77b5f..f5a93ed3bc 100644 --- a/direct/src/directtools/DirectSession.py +++ b/direct/src/directtools/DirectSession.py @@ -642,9 +642,8 @@ class DirectSession(PandaObject): # Assemble group of changes undoGroup = [] for nodePath in nodePathList: - m = Mat4() - m.assign(nodePath.getMat()) - undoGroup.append([nodePath, m]) + t = nodePath.getTransform() + undoGroup.append([nodePath, t]) # Now record group self.undoList.append(undoGroup) # Truncate list @@ -670,9 +669,8 @@ class DirectSession(PandaObject): # Assemble group of changes redoGroup = [] for nodePath in nodePathList: - m = Mat4() - m.assign(nodePath.getMat()) - redoGroup.append([nodePath, m]) + t = nodePath.getTransform() + redoGroup.append([nodePath, t]) # Now record redo group self.redoList.append(redoGroup) # Truncate list @@ -701,7 +699,7 @@ class DirectSession(PandaObject): # Now undo xform for group for pose in undoGroup: # Undo xform - pose[0].setMat(pose[1]) + pose[0].setTransform(pose[1]) # Alert anyone who cares messenger.send('DIRECT_undo') @@ -714,7 +712,7 @@ class DirectSession(PandaObject): self.pushUndo(nodePathList, fResetRedo = 0) # Redo xform for pose in redoGroup: - pose[0].setMat(pose[1]) + pose[0].setTransform(pose[1]) # Alert anyone who cares messenger.send('DIRECT_redo')