浏览代码

use setTransform() instead of setMat()

David Rose 23 年之前
父节点
当前提交
08592a90a7

+ 7 - 8
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()
 

+ 3 - 4
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)

+ 6 - 8
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')