Fixed undo/redo to use getMat instead of getPosHprScale

This commit is contained in:
Mark Mine 2002-05-01 22:36:21 +00:00
parent e1ccd4201b
commit 4858ab72c4
2 changed files with 9 additions and 10 deletions

View File

@ -85,6 +85,7 @@ class DirectLights(NodePath):
self.spotCount += 1 self.spotCount += 1
light = Spotlight('spot-' + `self.spotCount`) light = Spotlight('spot-' + `self.spotCount`)
light.setColor(VBase4(1)) light.setColor(VBase4(1))
light.setLens(PerspectiveLens())
else: else:
print 'Invalid light type' print 'Invalid light type'
return None return None

View File

@ -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() m = Mat4()
hpr = nodePath.getHpr() m.assign(nodePath.getMat())
scale = nodePath.getScale() undoGroup.append([nodePath, m])
undoGroup.append([nodePath, pos,hpr,scale])
# 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() m = Mat4()
hpr = nodePath.getHpr() m.assign(nodePath.getMat())
scale = nodePath.getScale() redoGroup.append([nodePath, m])
redoGroup.append([nodePath, pos,hpr,scale])
# 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')