mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
use setTransform() instead of setMat()
This commit is contained in:
parent
7b1134461c
commit
08592a90a7
@ -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()
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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')
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user