diff options
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs index 6b17ce7..7e70db9 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs | |||
@@ -1735,6 +1735,13 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1735 | if (m_isphysical) | 1735 | if (m_isphysical) |
1736 | { | 1736 | { |
1737 | disableBodySoft(); | 1737 | disableBodySoft(); |
1738 | |||
1739 | if (Body != IntPtr.Zero) | ||
1740 | { | ||
1741 | d.BodySetLinearVel(Body, 0f, 0f, 0f); | ||
1742 | d.BodySetForce(Body, 0, 0, 0); | ||
1743 | enableBodySoft(); | ||
1744 | } | ||
1738 | } | 1745 | } |
1739 | } | 1746 | } |
1740 | else | 1747 | else |
@@ -1756,6 +1763,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1756 | d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories); | 1763 | d.GeomSetCategoryBits(prim_geom, (int)m_collisionCategories); |
1757 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); | 1764 | d.GeomSetCollideBits(prim_geom, (int)m_collisionFlags); |
1758 | } | 1765 | } |
1766 | /* Uhhh - stop the motion if the object is _selected_!! | ||
1759 | if (m_isphysical) | 1767 | if (m_isphysical) |
1760 | { | 1768 | { |
1761 | if (Body != IntPtr.Zero) | 1769 | if (Body != IntPtr.Zero) |
@@ -1765,6 +1773,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1765 | enableBodySoft(); | 1773 | enableBodySoft(); |
1766 | } | 1774 | } |
1767 | } | 1775 | } |
1776 | */ | ||
1768 | } | 1777 | } |
1769 | 1778 | ||
1770 | resetCollisionAccounting(); | 1779 | resetCollisionAccounting(); |