diff options
author | Teravus Ovares | 2008-04-23 15:32:19 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-23 15:32:19 +0000 |
commit | 2a3bdde0fa78c5a59c530e6d974dfd6709aa1519 (patch) | |
tree | d2857d6fc06cde42bef42a731e115caf60add086 /OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |
parent | Two small changes: (diff) | |
download | opensim-SC-2a3bdde0fa78c5a59c530e6d974dfd6709aa1519.zip opensim-SC-2a3bdde0fa78c5a59c530e6d974dfd6709aa1519.tar.gz opensim-SC-2a3bdde0fa78c5a59c530e6d974dfd6709aa1519.tar.bz2 opensim-SC-2a3bdde0fa78c5a59c530e6d974dfd6709aa1519.tar.xz |
* Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results.
* Three axis works well enough to play with it anyway. More work is needed here.
* Fixed an incorrectly named method in ODE.NET
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 4c781c5..9277954 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -104,6 +104,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
104 | private Vector3 m_sitTargetPosition = new Vector3(0, 0, 0); | 104 | private Vector3 m_sitTargetPosition = new Vector3(0, 0, 0); |
105 | private Quaternion m_sitTargetOrientation = new Quaternion(0, 0, 0, 1); | 105 | private Quaternion m_sitTargetOrientation = new Quaternion(0, 0, 0, 1); |
106 | public LLUUID m_sitTargetAvatar = LLUUID.Zero; | 106 | public LLUUID m_sitTargetAvatar = LLUUID.Zero; |
107 | [XmlIgnore] public PhysicsVector m_rotationAxis = new PhysicsVector(1f,1f,1f); | ||
107 | 108 | ||
108 | #region Permissions | 109 | #region Permissions |
109 | 110 | ||
@@ -1290,6 +1291,21 @@ namespace OpenSim.Region.Environment.Scenes | |||
1290 | PhysActor.Buoyancy = fvalue; | 1291 | PhysActor.Buoyancy = fvalue; |
1291 | } | 1292 | } |
1292 | } | 1293 | } |
1294 | |||
1295 | public void SetAxisRotation(int axis, int rotate) | ||
1296 | { | ||
1297 | if (m_parentGroup != null) | ||
1298 | { | ||
1299 | m_parentGroup.SetAxisRotation(axis, rotate); | ||
1300 | |||
1301 | } | ||
1302 | } | ||
1303 | |||
1304 | public void SetPhysicsAxisRotation() | ||
1305 | { | ||
1306 | PhysActor.LockAngularMotion(m_rotationAxis); | ||
1307 | m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); | ||
1308 | } | ||
1293 | 1309 | ||
1294 | public void SetFloatOnWater(int floatYN) | 1310 | public void SetFloatOnWater(int floatYN) |
1295 | { | 1311 | { |
@@ -1306,6 +1322,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1306 | 1322 | ||
1307 | } | 1323 | } |
1308 | } | 1324 | } |
1325 | |||
1309 | 1326 | ||
1310 | public LLVector3 GetSitTargetPositionLL() | 1327 | public LLVector3 GetSitTargetPositionLL() |
1311 | { | 1328 | { |