diff options
author | Charles Krinke | 2009-03-06 23:01:35 +0000 |
---|---|---|
committer | Charles Krinke | 2009-03-06 23:01:35 +0000 |
commit | b637a11b58292cb6165317b317dc077a79ee6779 (patch) | |
tree | 18d9b2e82ae782fec726f3baa2d60c76433a7406 /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |
parent | add back .config files for all tests in an attempt to debug why these (diff) | |
download | opensim-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.cs | 17 |
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 | } |