diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 42644dc..ec7c3fa 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1218,23 +1218,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
1218 | // the mappings more consistant. | 1218 | // the mappings more consistant. |
1219 | public Vector3 SitTargetPositionLL | 1219 | public Vector3 SitTargetPositionLL |
1220 | { | 1220 | { |
1221 | get { return new Vector3(m_sitTargetPosition.X, m_sitTargetPosition.Y,m_sitTargetPosition.Z); } | 1221 | get { return m_sitTargetPosition; } |
1222 | set { m_sitTargetPosition = value; } | 1222 | set { m_sitTargetPosition = value; } |
1223 | } | 1223 | } |
1224 | 1224 | ||
1225 | public Quaternion SitTargetOrientationLL | 1225 | public Quaternion SitTargetOrientationLL |
1226 | { | 1226 | { |
1227 | get | 1227 | get { return m_sitTargetOrientation; } |
1228 | { | 1228 | set { m_sitTargetOrientation = value; } |
1229 | return new Quaternion( | ||
1230 | m_sitTargetOrientation.X, | ||
1231 | m_sitTargetOrientation.Y, | ||
1232 | m_sitTargetOrientation.Z, | ||
1233 | m_sitTargetOrientation.W | ||
1234 | ); | ||
1235 | } | ||
1236 | |||
1237 | set { m_sitTargetOrientation = new Quaternion(value.X, value.Y, value.Z, value.W); } | ||
1238 | } | 1229 | } |
1239 | 1230 | ||
1240 | public bool Stopped | 1231 | public bool Stopped |
@@ -4349,30 +4340,31 @@ namespace OpenSim.Region.Framework.Scenes | |||
4349 | } | 4340 | } |
4350 | } | 4341 | } |
4351 | 4342 | ||
4352 | public void UpdateGroupPosition(Vector3 pos) | 4343 | public void UpdateGroupPosition(Vector3 newPos) |
4353 | { | 4344 | { |
4354 | if ((pos.X != GroupPosition.X) || | 4345 | Vector3 oldPos = GroupPosition; |
4355 | (pos.Y != GroupPosition.Y) || | 4346 | |
4356 | (pos.Z != GroupPosition.Z)) | 4347 | if ((newPos.X != oldPos.X) || |
4348 | (newPos.Y != oldPos.Y) || | ||
4349 | (newPos.Z != oldPos.Z)) | ||
4357 | { | 4350 | { |
4358 | Vector3 newPos = new Vector3(pos.X, pos.Y, pos.Z); | ||
4359 | GroupPosition = newPos; | 4351 | GroupPosition = newPos; |
4360 | ScheduleTerseUpdate(); | 4352 | ScheduleTerseUpdate(); |
4361 | } | 4353 | } |
4362 | } | 4354 | } |
4363 | 4355 | ||
4364 | /// <summary> | 4356 | /// <summary> |
4365 | /// | 4357 | /// Update this part's offset position. |
4366 | /// </summary> | 4358 | /// </summary> |
4367 | /// <param name="pos"></param> | 4359 | /// <param name="pos"></param> |
4368 | public void UpdateOffSet(Vector3 pos) | 4360 | public void UpdateOffSet(Vector3 newPos) |
4369 | { | 4361 | { |
4370 | if ((pos.X != OffsetPosition.X) || | 4362 | Vector3 oldPos = OffsetPosition; |
4371 | (pos.Y != OffsetPosition.Y) || | ||
4372 | (pos.Z != OffsetPosition.Z)) | ||
4373 | { | ||
4374 | Vector3 newPos = new Vector3(pos.X, pos.Y, pos.Z); | ||
4375 | 4363 | ||
4364 | if ((newPos.X != oldPos.X) || | ||
4365 | (newPos.Y != oldPos.Y) || | ||
4366 | (newPos.Z != oldPos.Z)) | ||
4367 | { | ||
4376 | if (ParentGroup.RootPart.GetStatusSandbox()) | 4368 | if (ParentGroup.RootPart.GetStatusSandbox()) |
4377 | { | 4369 | { |
4378 | if (Util.GetDistanceTo(ParentGroup.RootPart.StatusSandboxPos, newPos) > 10) | 4370 | if (Util.GetDistanceTo(ParentGroup.RootPart.StatusSandboxPos, newPos) > 10) |