From 15ad1a476afbea40481ed28872e66693c8682367 Mon Sep 17 00:00:00 2001 From: Mark Mine Date: Tue, 9 Jan 2001 23:32:14 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/leveleditor/LevelEditor.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/direct/src/leveleditor/LevelEditor.py b/direct/src/leveleditor/LevelEditor.py index 011bee29b7..09573eab26 100644 --- a/direct/src/leveleditor/LevelEditor.py +++ b/direct/src/leveleditor/LevelEditor.py @@ -600,7 +600,12 @@ class LevelEditor(NodePath, PandaObject): # First snap selected node path to grid pos = selectedNode.getPos(direct.grid) snapPos = direct.grid.computeSnapPoint(pos) - selectedNode.setPos(direct.grid, snapPos[0], snapPos[1], 0) + if self.fPlaneSnap.get(): + zheight = 0 + else: + zheight = snapPos[2] + selectedNode.setPos(direct.grid, + snapPos[0], snapPos[1], zheight) # Angle snap h = direct.grid.computeSnapAngle(selectedNode.getH()) selectedNode.setH(h) @@ -1491,15 +1496,6 @@ class LevelEditor(NodePath, PandaObject): if direct.grid.getHprSnap(): # Clean up grid angle direct.grid.setH(ROUND_TO(direct.grid.getH(), SNAP_ANGLE)) - # MRM: What to do about pos? - if 0 & direct.grid.getXyzSnap(): - # Tighten up grid position - pos = direct.grid.getPos() - roundVal = ROUND_TO(direct.grid.getGridSpacing(), 1) - x = ROUND_TO(pos[0], roundVal) - y = ROUND_TO(pos[1], roundVal) - z = ROUND_TO(pos[2], roundVal) - direct.grid.setPos(x,y,z) def getNextSnapPoint(self): """ Pull next pos hpr deltas off of snap list then rotate list """ @@ -2924,6 +2920,14 @@ class LevelEditorPanel(Pmw.MegaToplevel): command = self.toggleHprSnap) self.hprSnapButton.pack(side = 'left', expand = 1, fill = 'x') + self.fPlaneSnap = IntVar() + self.fPlaneSnap.set(1) + self.planeSnapButton = Checkbutton(buttonFrame, + text = 'PlaneSnap', + width = 6, + variable = self.fPlaneSnap) + self.planeSnapButton.pack(side = 'left', expand = 1, fill = 'x') + self.fGrid = IntVar() self.fGrid.set(0) direct.gridButton = Checkbutton(buttonFrame,