|
@@ -615,10 +615,9 @@ class DirectSession(PandaObject):
|
|
|
# Assemble group of changes
|
|
# Assemble group of changes
|
|
|
undoGroup = []
|
|
undoGroup = []
|
|
|
for nodePath in nodePathList:
|
|
for nodePath in nodePathList:
|
|
|
- pos = nodePath.getPos()
|
|
|
|
|
- hpr = nodePath.getHpr()
|
|
|
|
|
- scale = nodePath.getScale()
|
|
|
|
|
- undoGroup.append([nodePath, pos,hpr,scale])
|
|
|
|
|
|
|
+ m = Mat4()
|
|
|
|
|
+ m.assign(nodePath.getMat())
|
|
|
|
|
+ undoGroup.append([nodePath, m])
|
|
|
# Now record group
|
|
# Now record group
|
|
|
self.undoList.append(undoGroup)
|
|
self.undoList.append(undoGroup)
|
|
|
# Truncate list
|
|
# Truncate list
|
|
@@ -644,10 +643,9 @@ class DirectSession(PandaObject):
|
|
|
# Assemble group of changes
|
|
# Assemble group of changes
|
|
|
redoGroup = []
|
|
redoGroup = []
|
|
|
for nodePath in nodePathList:
|
|
for nodePath in nodePathList:
|
|
|
- pos = nodePath.getPos()
|
|
|
|
|
- hpr = nodePath.getHpr()
|
|
|
|
|
- scale = nodePath.getScale()
|
|
|
|
|
- redoGroup.append([nodePath, pos,hpr,scale])
|
|
|
|
|
|
|
+ m = Mat4()
|
|
|
|
|
+ m.assign(nodePath.getMat())
|
|
|
|
|
+ redoGroup.append([nodePath, m])
|
|
|
# Now record redo group
|
|
# Now record redo group
|
|
|
self.redoList.append(redoGroup)
|
|
self.redoList.append(redoGroup)
|
|
|
# Truncate list
|
|
# Truncate list
|
|
@@ -676,7 +674,7 @@ class DirectSession(PandaObject):
|
|
|
# Now undo xform for group
|
|
# Now undo xform for group
|
|
|
for pose in undoGroup:
|
|
for pose in undoGroup:
|
|
|
# Undo xform
|
|
# Undo xform
|
|
|
- pose[0].setPosHprScale(pose[1], pose[2], pose[3])
|
|
|
|
|
|
|
+ pose[0].setMat(pose[1])
|
|
|
# Alert anyone who cares
|
|
# Alert anyone who cares
|
|
|
messenger.send('DIRECT_undo')
|
|
messenger.send('DIRECT_undo')
|
|
|
|
|
|
|
@@ -689,7 +687,7 @@ class DirectSession(PandaObject):
|
|
|
self.pushUndo(nodePathList, fResetRedo = 0)
|
|
self.pushUndo(nodePathList, fResetRedo = 0)
|
|
|
# Redo xform
|
|
# Redo xform
|
|
|
for pose in redoGroup:
|
|
for pose in redoGroup:
|
|
|
- pose[0].setPosHprScale(pose[1], pose[2], pose[3])
|
|
|
|
|
|
|
+ pose[0].setMat(pose[1])
|
|
|
# Alert anyone who cares
|
|
# Alert anyone who cares
|
|
|
messenger.send('DIRECT_redo')
|
|
messenger.send('DIRECT_redo')
|
|
|
|
|
|