aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorCharles Krinke2009-03-06 23:01:35 +0000
committerCharles Krinke2009-03-06 23:01:35 +0000
commitb637a11b58292cb6165317b317dc077a79ee6779 (patch)
tree18d9b2e82ae782fec726f3baa2d60c76433a7406 /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parentadd back .config files for all tests in an attempt to debug why these (diff)
downloadopensim-SC-b637a11b58292cb6165317b317dc077a79ee6779.zip
opensim-SC-b637a11b58292cb6165317b317dc077a79ee6779.tar.gz
opensim-SC-b637a11b58292cb6165317b317dc077a79ee6779.tar.bz2
opensim-SC-b637a11b58292cb6165317b317dc077a79ee6779.tar.xz
Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does, and it should recalculate the absolute height to hover at as an object moves to reflect the current ground/water height under it. Correctly implementing required adjusting the Physics interfaces and implementing at the physics plug-in level. The attached is a patch that correctly implements llSetHoverHeight() including updates to the ODE physics plug-in.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index ede007e..4efadc3 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1748,6 +1748,23 @@ if (m_shape != null) {
1748 } 1748 }
1749 } 1749 }
1750 1750
1751 /// <summary>
1752 /// Uses a PID to attempt to clamp the object on the Z axis at the given height over tau seconds.
1753 /// </summary>
1754 /// <param name="height">Height to hover. Height of zero disables hover.</param>
1755 /// <param name="hoverType">Determines what the height is relative to </param>
1756 /// <param name="tau">Number of seconds over which to reach target</param>
1757 public void SetHoverHeight(float height, PIDHoverType hoverType, float tau)
1758 {
1759 m_parentGroup.SetHoverHeight(height, hoverType, tau);
1760 }
1761
1762 public void StopHover()
1763 {
1764 m_parentGroup.SetHoverHeight(0f, PIDHoverType.Ground, 0f);
1765 }
1766
1767
1751 public virtual void OnGrab(Vector3 offsetPos, IClientAPI remoteClient) 1768 public virtual void OnGrab(Vector3 offsetPos, IClientAPI remoteClient)
1752 { 1769 {
1753 } 1770 }