From 28ce3238020c4dca8f9aef711daf730bccf0d2f0 Mon Sep 17 00:00:00 2001 From: AliciaRaven Date: Fri, 17 Apr 2015 23:09:14 +0100 Subject: Enable grab feature (Ctrl+Drag) for non-physical link-sets and add code to handle spin (Ctrl+Shift+Drag) Signed-off-by: BlueWall <jamesh@bluewallgroup.com> --- .../Region/Framework/Scenes/SceneObjectGroup.cs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 0a1a226..9e5314d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -2672,16 +2672,20 @@ namespace OpenSim.Region.Framework.Scenes } else { - //NonPhysicalGrabMovement(pos); + NonPhysicalGrabMovement(pos); } } else { - //NonPhysicalGrabMovement(pos); + NonPhysicalGrabMovement(pos); } } } + /// <summary> + /// Apply possition for grabbing non-physical linksets (ctrl+drag) + /// </summary> + /// <param name="pos">New Position</param> public void NonPhysicalGrabMovement(Vector3 pos) { AbsolutePosition = pos; @@ -2781,17 +2785,27 @@ namespace OpenSim.Region.Framework.Scenes } else { - //NonPhysicalSpinMovement(pos); + NonPhysicalSpinMovement(newOrientation); } } else { - //NonPhysicalSpinMovement(pos); + NonPhysicalSpinMovement(newOrientation); } } } /// <summary> + /// Apply rotation for spinning non-physical linksets (ctrl+shift+drag) + /// </summary> + /// <param name="newOrientation">New Rotation</param> + private void NonPhysicalSpinMovement(Quaternion newOrientation) + { + UpdateGroupRotationR(newOrientation); + m_rootPart.SendTerseUpdateToAllClients(); + } + + /// <summary> /// Set the name of a prim /// </summary> /// <param name="name"></param> -- cgit v1.1