aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-23 15:32:19 +0000
committerTeravus Ovares2008-04-23 15:32:19 +0000
commit2a3bdde0fa78c5a59c530e6d974dfd6709aa1519 (patch)
treed2857d6fc06cde42bef42a731e115caf60add086 /OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
parentTwo small changes: (diff)
downloadopensim-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 '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs17
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 {