diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index a4a33a4..48fce3d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -4363,17 +4363,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4363 | 4363 | ||
4364 | internal void SetAxisRotation(int axis, int rotate10) | 4364 | internal void SetAxisRotation(int axis, int rotate10) |
4365 | { | 4365 | { |
4366 | bool setX = false; | 4366 | bool setX = ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0); |
4367 | bool setY = false; | 4367 | bool setY = ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0); |
4368 | bool setZ = false; | 4368 | bool setZ = ((axis & (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0); |
4369 | |||
4370 | int xaxis = 2; | ||
4371 | int yaxis = 4; | ||
4372 | int zaxis = 8; | ||
4373 | |||
4374 | setX = ((axis & xaxis) != 0) ? true : false; | ||
4375 | setY = ((axis & yaxis) != 0) ? true : false; | ||
4376 | setZ = ((axis & zaxis) != 0) ? true : false; | ||
4377 | 4369 | ||
4378 | float setval = (rotate10 > 0) ? 1f : 0f; | 4370 | float setval = (rotate10 > 0) ? 1f : 0f; |
4379 | 4371 | ||
@@ -4388,6 +4380,21 @@ namespace OpenSim.Region.Framework.Scenes | |||
4388 | RootPart.SetPhysicsAxisRotation(); | 4380 | RootPart.SetPhysicsAxisRotation(); |
4389 | } | 4381 | } |
4390 | 4382 | ||
4383 | public int GetAxisRotation(int axis) | ||
4384 | { | ||
4385 | Vector3 rotAxis = RootPart.RotationAxis; | ||
4386 | |||
4387 | // if multiple return the one with higher id | ||
4388 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) | ||
4389 | return (int)rotAxis.Z; | ||
4390 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) | ||
4391 | return (int)rotAxis.Y; | ||
4392 | if (axis == (int)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) | ||
4393 | return (int)rotAxis.X; | ||
4394 | |||
4395 | return 0; | ||
4396 | } | ||
4397 | |||
4391 | public int registerRotTargetWaypoint(Quaternion target, float tolerance) | 4398 | public int registerRotTargetWaypoint(Quaternion target, float tolerance) |
4392 | { | 4399 | { |
4393 | scriptRotTarget waypoint = new scriptRotTarget(); | 4400 | scriptRotTarget waypoint = new scriptRotTarget(); |