modify BulletDotNETPrim.cs in preparation for Mantis #4181

remotes/origin/0.6.7-post-fixes
dahlia 2009-09-24 18:16:29 -07:00
parent 1faaa0a43a
commit daffb69174
1 changed files with 118 additions and 108 deletions

View File

@ -2052,14 +2052,24 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin
}
}
//IMesh oldMesh = primMesh;
//primMesh = mesh;
//float[] vertexList = primMesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory
//int[] indexList = primMesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage
////Array.Reverse(indexList);
//primMesh.releaseSourceMeshData(); // free up the original mesh data to save memory
IMesh oldMesh = primMesh;
primMesh = mesh;
float[] vertexList = primMesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory
int[] indexList = primMesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage
float[] vertexList = mesh.getVertexListAsFloatLocked(); // Note, that vertextList is pinned in memory
int[] indexList = mesh.getIndexListAsIntLocked(); // Also pinned, needs release after usage
//Array.Reverse(indexList);
primMesh.releaseSourceMeshData(); // free up the original mesh data to save memory
mesh.releaseSourceMeshData(); // free up the original mesh data to save memory
int VertexCount = vertexList.GetLength(0) / 3;
int IndexCount = indexList.GetLength(0);
@ -2074,11 +2084,11 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin
((btGImpactMeshShape)prim_geom).setLocalScaling(new btVector3(1, 1, 1));
((btGImpactMeshShape)prim_geom).updateBound();
_parent_scene.SetUsingGImpact();
if (oldMesh != null)
{
oldMesh.releasePinned();
oldMesh = null;
}
//if (oldMesh != null)
//{
// oldMesh.releasePinned();
// oldMesh = null;
//}
}