diff options
author | KittoFlora | 2009-12-06 21:11:59 +0100 |
---|---|---|
committer | KittoFlora | 2009-12-06 21:11:59 +0100 |
commit | 0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0 (patch) | |
tree | 5b5a07f1a9a7e5f74c5df31352cc36d1d89592ea /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |
parent | Secnond revision of Sit and Stand for unscripted prims; Comment out (diff) | |
download | opensim-SC-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.zip opensim-SC-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.gz opensim-SC-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.bz2 opensim-SC-0d1d437bd3bf608448d71ea7de8e4f7cfb0371f0.tar.xz |
Fix linked physical daughter prim position update.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9f2c3db..a6382ee 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -513,9 +513,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
513 | { | 513 | { |
514 | // If this is a linkset, we don't want the physics engine mucking up our group position here. | 514 | // If this is a linkset, we don't want the physics engine mucking up our group position here. |
515 | PhysicsActor actor = PhysActor; | 515 | PhysicsActor actor = PhysActor; |
516 | if (actor != null && _parentID == 0) | 516 | if (actor != null) |
517 | { | 517 | { |
518 | m_groupPosition = actor.Position; | 518 | if (_parentID == 0) |
519 | { | ||
520 | m_groupPosition = actor.Position; | ||
521 | } | ||
522 | else | ||
523 | { | ||
524 | m_groupPosition = ParentGroup.AbsolutePosition; // KF+Casper Update Child prims too! | ||
525 | } | ||
519 | } | 526 | } |
520 | 527 | ||
521 | if (IsAttachment) | 528 | if (IsAttachment) |
@@ -1743,9 +1750,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
1743 | Quaternion parentRot = ParentGroup.RootPart.RotationOffset; | 1750 | Quaternion parentRot = ParentGroup.RootPart.RotationOffset; |
1744 | 1751 | ||
1745 | Vector3 axPos = OffsetPosition; | 1752 | Vector3 axPos = OffsetPosition; |
1746 | |||
1747 | axPos *= parentRot; | 1753 | axPos *= parentRot; |
1748 | Vector3 translationOffsetPosition = axPos; | 1754 | Vector3 translationOffsetPosition = axPos; |
1755 | |||
1756 | int tx = (int)GroupPosition.X; | ||
1757 | int ty = (int)GroupPosition.Y; | ||
1758 | int tz = (int)GroupPosition.Z; | ||
1759 | |||
1749 | return GroupPosition + translationOffsetPosition; | 1760 | return GroupPosition + translationOffsetPosition; |
1750 | } | 1761 | } |
1751 | 1762 | ||