From 4858ab72c4d38ae063e1a0f35aec1b874af70320 Mon Sep 17 00:00:00 2001 From: Mark Mine Date: Wed, 1 May 2002 22:36:21 +0000 Subject: [PATCH] Fixed undo/redo to use getMat instead of getPosHprScale --- direct/src/directtools/DirectLights.py | 1 + direct/src/directtools/DirectSession.py | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/direct/src/directtools/DirectLights.py b/direct/src/directtools/DirectLights.py index 5499e5a513..38331c16ac 100644 --- a/direct/src/directtools/DirectLights.py +++ b/direct/src/directtools/DirectLights.py @@ -85,6 +85,7 @@ class DirectLights(NodePath): self.spotCount += 1 light = Spotlight('spot-' + `self.spotCount`) light.setColor(VBase4(1)) + light.setLens(PerspectiveLens()) else: print 'Invalid light type' return None diff --git a/direct/src/directtools/DirectSession.py b/direct/src/directtools/DirectSession.py index b2bd0cdc5c..9aab9c6ff1 100644 --- a/direct/src/directtools/DirectSession.py +++ b/direct/src/directtools/DirectSession.py @@ -615,10 +615,9 @@ class DirectSession(PandaObject): # Assemble group of changes undoGroup = [] 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 self.undoList.append(undoGroup) # Truncate list @@ -644,10 +643,9 @@ class DirectSession(PandaObject): # Assemble group of changes redoGroup = [] 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 self.redoList.append(redoGroup) # Truncate list @@ -676,7 +674,7 @@ class DirectSession(PandaObject): # Now undo xform for group for pose in undoGroup: # Undo xform - pose[0].setPosHprScale(pose[1], pose[2], pose[3]) + pose[0].setMat(pose[1]) # Alert anyone who cares messenger.send('DIRECT_undo') @@ -689,7 +687,7 @@ class DirectSession(PandaObject): self.pushUndo(nodePathList, fResetRedo = 0) # Redo xform for pose in redoGroup: - pose[0].setPosHprScale(pose[1], pose[2], pose[3]) + pose[0].setMat(pose[1]) # Alert anyone who cares messenger.send('DIRECT_redo')