aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2012-04-25 17:11:32 +0100
committerUbitUmarov2012-04-25 17:11:32 +0100
commit22ea2ef9a0bc45b54ecad3ccfe450dcaae5b9648 (patch)
tree3ce4e9070cca7159deba4a5fbb18cf3473ccc799 /OpenSim/Region
parent fix chODE loosing some part positions when doing isPhysical false (diff)
downloadopensim-SC_OLD-22ea2ef9a0bc45b54ecad3ccfe450dcaae5b9648.zip
opensim-SC_OLD-22ea2ef9a0bc45b54ecad3ccfe450dcaae5b9648.tar.gz
opensim-SC_OLD-22ea2ef9a0bc45b54ecad3ccfe450dcaae5b9648.tar.bz2
opensim-SC_OLD-22ea2ef9a0bc45b54ecad3ccfe450dcaae5b9648.tar.xz
set PIDHoverTau and not PIDTau since all physics need that
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index b0f0a5d..ba353c4 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2339,7 +2339,7 @@ namespace OpenSim.Region.Framework.Scenes
2339 { 2339 {
2340 pa.PIDHoverHeight = height; 2340 pa.PIDHoverHeight = height;
2341 pa.PIDHoverType = hoverType; 2341 pa.PIDHoverType = hoverType;
2342 pa.PIDTau = tau; 2342 pa.PIDHoverTau = tau;
2343 pa.PIDHoverActive = true; 2343 pa.PIDHoverActive = true;
2344 } 2344 }
2345 else 2345 else
@@ -2660,19 +2660,21 @@ namespace OpenSim.Region.Framework.Scenes
2660 Quaternion oldRootRotation = linkPart.RotationOffset; 2660 Quaternion oldRootRotation = linkPart.RotationOffset;
2661 2661
2662 linkPart.OffsetPosition = linkPart.GroupPosition - AbsolutePosition; 2662 linkPart.OffsetPosition = linkPart.GroupPosition - AbsolutePosition;
2663
2663 linkPart.ParentID = m_rootPart.LocalId; 2664 linkPart.ParentID = m_rootPart.LocalId;
2664 linkPart.GroupPosition = AbsolutePosition; 2665
2665 Vector3 axPos = linkPart.OffsetPosition; 2666 linkPart.GroupPosition = AbsolutePosition;
2666 2667
2668 Vector3 axPos = linkPart.OffsetPosition;
2667 Quaternion parentRot = m_rootPart.RotationOffset; 2669 Quaternion parentRot = m_rootPart.RotationOffset;
2668 axPos *= Quaternion.Inverse(parentRot); 2670 axPos *= Quaternion.Inverse(parentRot);
2669
2670 linkPart.OffsetPosition = axPos; 2671 linkPart.OffsetPosition = axPos;
2672
2671 Quaternion oldRot = linkPart.RotationOffset; 2673 Quaternion oldRot = linkPart.RotationOffset;
2672 Quaternion newRot = Quaternion.Inverse(parentRot) * oldRot; 2674 Quaternion newRot = Quaternion.Inverse(parentRot) * oldRot;
2673 linkPart.RotationOffset = newRot; 2675 linkPart.RotationOffset = newRot;
2674 2676
2675 linkPart.ParentID = m_rootPart.LocalId; 2677// linkPart.ParentID = m_rootPart.LocalId; done above
2676 2678
2677 if (m_rootPart.LinkNum == 0) 2679 if (m_rootPart.LinkNum == 0)
2678 m_rootPart.LinkNum = 1; 2680 m_rootPart.LinkNum = 1;