Comment out uncalled OdeScene.UnCombine()
parent
0a6374d37a
commit
476d893630
|
@ -221,15 +221,9 @@ namespace OpenSim.Region.Physics.Manager
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Combine(PhysicsScene pScene, Vector3 offset, Vector3 extents)
|
public virtual void Combine(PhysicsScene pScene, Vector3 offset, Vector3 extents) {}
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void UnCombine(PhysicsScene pScene)
|
public virtual void UnCombine(PhysicsScene pScene) {}
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Queue a raycast against the physics scene.
|
/// Queue a raycast against the physics scene.
|
||||||
|
|
|
@ -3566,64 +3566,64 @@ Console.WriteLine("AddPhysicsActorTaint to " + taintedprim.Name);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void UnCombine(PhysicsScene pScene)
|
// public override void UnCombine(PhysicsScene pScene)
|
||||||
{
|
// {
|
||||||
IntPtr localGround = IntPtr.Zero;
|
// IntPtr localGround = IntPtr.Zero;
|
||||||
// float[] localHeightfield;
|
//// float[] localHeightfield;
|
||||||
bool proceed = false;
|
// bool proceed = false;
|
||||||
List<IntPtr> geomDestroyList = new List<IntPtr>();
|
// List<IntPtr> geomDestroyList = new List<IntPtr>();
|
||||||
|
//
|
||||||
lock (OdeLock)
|
// lock (OdeLock)
|
||||||
{
|
// {
|
||||||
if (RegionTerrain.TryGetValue(Vector3.Zero, out localGround))
|
// if (RegionTerrain.TryGetValue(Vector3.Zero, out localGround))
|
||||||
{
|
// {
|
||||||
foreach (IntPtr geom in TerrainHeightFieldHeights.Keys)
|
// foreach (IntPtr geom in TerrainHeightFieldHeights.Keys)
|
||||||
{
|
// {
|
||||||
if (geom == localGround)
|
// if (geom == localGround)
|
||||||
{
|
// {
|
||||||
// localHeightfield = TerrainHeightFieldHeights[geom];
|
//// localHeightfield = TerrainHeightFieldHeights[geom];
|
||||||
proceed = true;
|
// proceed = true;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
geomDestroyList.Add(geom);
|
// geomDestroyList.Add(geom);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if (proceed)
|
// if (proceed)
|
||||||
{
|
// {
|
||||||
m_worldOffset = Vector3.Zero;
|
// m_worldOffset = Vector3.Zero;
|
||||||
WorldExtents = new Vector2((int)Constants.RegionSize, (int)Constants.RegionSize);
|
// WorldExtents = new Vector2((int)Constants.RegionSize, (int)Constants.RegionSize);
|
||||||
m_parentScene = null;
|
// m_parentScene = null;
|
||||||
|
//
|
||||||
foreach (IntPtr g in geomDestroyList)
|
// foreach (IntPtr g in geomDestroyList)
|
||||||
{
|
// {
|
||||||
// removingHeightField needs to be done or the garbage collector will
|
// // removingHeightField needs to be done or the garbage collector will
|
||||||
// collect the terrain data before we tell ODE to destroy it causing
|
// // collect the terrain data before we tell ODE to destroy it causing
|
||||||
// memory corruption
|
// // memory corruption
|
||||||
if (TerrainHeightFieldHeights.ContainsKey(g))
|
// if (TerrainHeightFieldHeights.ContainsKey(g))
|
||||||
{
|
// {
|
||||||
// float[] removingHeightField = TerrainHeightFieldHeights[g];
|
//// float[] removingHeightField = TerrainHeightFieldHeights[g];
|
||||||
TerrainHeightFieldHeights.Remove(g);
|
// TerrainHeightFieldHeights.Remove(g);
|
||||||
|
//
|
||||||
if (RegionTerrain.ContainsKey(g))
|
// if (RegionTerrain.ContainsKey(g))
|
||||||
{
|
// {
|
||||||
RegionTerrain.Remove(g);
|
// RegionTerrain.Remove(g);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
d.GeomDestroy(g);
|
// d.GeomDestroy(g);
|
||||||
//removingHeightField = new float[0];
|
// //removingHeightField = new float[0];
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
m_log.Warn("[PHYSICS]: Couldn't proceed with UnCombine. Region has inconsistant data.");
|
// m_log.Warn("[PHYSICS]: Couldn't proceed with UnCombine. Region has inconsistant data.");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
public override void SetWaterLevel(float baseheight)
|
public override void SetWaterLevel(float baseheight)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue