diff options
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 34844c0..86ed3bd 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -97,7 +97,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
97 | 97 | ||
98 | // private float m_tensor = 5f; | 98 | // private float m_tensor = 5f; |
99 | private int body_autodisable_frames = 20; | 99 | private int body_autodisable_frames = 20; |
100 | private IMesh primMesh = null; | ||
101 | 100 | ||
102 | 101 | ||
103 | private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom | 102 | private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom |
@@ -825,14 +824,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
825 | } | 824 | } |
826 | } | 825 | } |
827 | 826 | ||
828 | IMesh oldMesh = primMesh; | 827 | float[] vertexList = mesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory |
828 | int[] indexList = mesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage | ||
829 | 829 | ||
830 | primMesh = mesh; | 830 | mesh.releaseSourceMeshData(); // free up the original mesh data to save memory |
831 | |||
832 | float[] vertexList = primMesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory | ||
833 | int[] indexList = primMesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage | ||
834 | |||
835 | primMesh.releaseSourceMeshData(); // free up the original mesh data to save memory | ||
836 | 831 | ||
837 | int VertexCount = vertexList.GetLength(0)/3; | 832 | int VertexCount = vertexList.GetLength(0)/3; |
838 | int IndexCount = indexList.GetLength(0); | 833 | int IndexCount = indexList.GetLength(0); |
@@ -859,12 +854,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
859 | return; | 854 | return; |
860 | } | 855 | } |
861 | 856 | ||
862 | if (oldMesh != null) | ||
863 | { | ||
864 | oldMesh.releasePinned(); | ||
865 | oldMesh = null; | ||
866 | } | ||
867 | |||
868 | // if (IsPhysical && Body == (IntPtr) 0) | 857 | // if (IsPhysical && Body == (IntPtr) 0) |
869 | // { | 858 | // { |
870 | // Recreate the body | 859 | // Recreate the body |