Handle ObjectSpin* packets to spin physical prims on Ctrl+Shift+Drag

Addresses Mantis #3381

The current implementation works as expected if the object has no rotation or 
only rotation around the Z axis; you can spin the object left or right (around
the world Z axis).

It works a little unexpectedly if the object has a non-Z-axis rotation; in this
case the body is spun about its local Z axis, not the world Z-axis. (But SL 
also behaves oddly with a spin on an arbitrarily rotated object.)
This commit is contained in:
nlin
2009-04-10 06:39:52 +00:00
parent e8dfa00d8c
commit 8e6c20b27f
11 changed files with 198 additions and 3 deletions

View File

@@ -176,6 +176,11 @@ namespace OpenSim.Region.Framework.Scenes
public bool VolumeDetectActive = false; // XmlIgnore set to avoid problems with persistance until I come to care for this
// Certainly this must be a persistant setting finally
[XmlIgnore]
public bool IsWaitingForFirstSpinUpdatePacket = false;
[XmlIgnore]
public Quaternion SpinOldOrientation = new Quaternion();
/// <summary>
/// This part's inventory
/// </summary>