Browse Source

snapping for "free" movement

rickard 3 years ago
parent
commit
89e370d04b

+ 1 - 2
jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/shortcuts/MoveShortcut.java

@@ -9,7 +9,6 @@ import com.jme3.asset.AssetManager;
 import com.jme3.bullet.control.CharacterControl;
 import com.jme3.bullet.control.RigidBodyControl;
 import com.jme3.gde.core.sceneexplorer.nodes.JmeNode;
-import com.jme3.gde.core.sceneexplorer.nodes.JmeSpatial;
 import com.jme3.gde.core.undoredo.AbstractUndoableSceneEdit;
 import com.jme3.gde.scenecomposer.SceneComposerToolController;
 import com.jme3.gde.scenecomposer.tools.PickManager;
@@ -167,7 +166,7 @@ public class MoveShortcut extends ShortcutTool {
                 position = startPosition.add(diff);
             }
             finalPosition = position;
-            toolController.getSelectedSpatial().setLocalTranslation(position);
+            toolController.updateSelectedTranslation(position, Vector3f.UNIT_XYZ);
             updateToolsTransformation();
         }
     }

+ 1 - 2
jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/shortcuts/RotateShortcut.java

@@ -7,7 +7,6 @@ package com.jme3.gde.scenecomposer.tools.shortcuts;
 
 import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.JmeNode;
-import com.jme3.gde.core.sceneexplorer.nodes.JmeSpatial;
 import com.jme3.gde.core.undoredo.AbstractUndoableSceneEdit;
 import com.jme3.gde.scenecomposer.SceneComposerToolController;
 import com.jme3.gde.scenecomposer.tools.PickManager;
@@ -147,7 +146,7 @@ public class RotateShortcut extends ShortcutTool {
         if (pickManager.updatePick(camera, screenCoord)) {
 
             Quaternion rotation = startRotation.mult(pickManager.getRotation(startWorldRotate.inverse()));
-            toolController.getSelectedSpatial().setLocalRotation(rotation);
+            toolController.updateSelectedRotation(rotation, Vector3f.UNIT_XYZ);
             finalRotation = rotation;
             updateToolsTransformation();
         }

+ 1 - 2
jme3-scenecomposer/src/com/jme3/gde/scenecomposer/tools/shortcuts/ScaleShortcut.java

@@ -7,7 +7,6 @@ package com.jme3.gde.scenecomposer.tools.shortcuts;
 
 import com.jme3.asset.AssetManager;
 import com.jme3.gde.core.sceneexplorer.nodes.JmeNode;
-import com.jme3.gde.core.sceneexplorer.nodes.JmeSpatial;
 import com.jme3.gde.core.undoredo.AbstractUndoableSceneEdit;
 import com.jme3.gde.scenecomposer.SceneComposerToolController;
 import com.jme3.gde.scenecomposer.tools.PickManager;
@@ -157,7 +156,7 @@ public class ScaleShortcut extends ShortcutTool {
                 scale = startScale.add(diff);
             }
             finalScale = scale;
-            toolController.getSelectedSpatial().setLocalScale(scale);
+            toolController.updateSelectedScale(scale, Vector3f.UNIT_XYZ);
             updateToolsTransformation();
         }
     }