aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-06 17:19:10 +0000
committerTeravus Ovares2007-11-06 17:19:10 +0000
commit919118f0ef67d188753ac551414951ed653e814b (patch)
tree8074baf183af7ec278914eb1e938822dd139730c /OpenSim/Region/Physics
parent* Added better logging to AssetCache (diff)
downloadopensim-SC-919118f0ef67d188753ac551414951ed653e814b.zip
opensim-SC-919118f0ef67d188753ac551414951ed653e814b.tar.gz
opensim-SC-919118f0ef67d188753ac551414951ed653e814b.tar.bz2
opensim-SC-919118f0ef67d188753ac551414951ed653e814b.tar.xz
* fix for Bug 563
* fix for ODE geoms not getting disposed of properly when resizing.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/Meshing/Meshmerizer.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs5
2 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/OdePlugin/Meshing/Meshmerizer.cs
index 2a304cb..37fbb8a 100644
--- a/OpenSim/Region/Physics/OdePlugin/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/OdePlugin/Meshing/Meshmerizer.cs
@@ -361,7 +361,11 @@ namespace OpenSim.Region.Physics.OdePlugin.Meshing
361 CalcNormals(mesh); 361 CalcNormals(mesh);
362 break; 362 break;
363 default: 363 default:
364 mesh = null; 364 mesh = CreateBoxMesh(primName, primShape, size);
365 CalcNormals(mesh);
366 //Set default mesh to cube otherwise it'll return
367 // null and crash on the 'setMesh' method in the physics plugins.
368 //mesh = null;
365 break; 369 break;
366 } 370 }
367 371
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index 4bd36aa..8b8aac6 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -1086,9 +1086,12 @@ namespace OpenSim.Region.Physics.OdePlugin
1086 // Construction of new prim 1086 // Construction of new prim
1087 if (this._parent_scene.needsMeshing(_pbs)) 1087 if (this._parent_scene.needsMeshing(_pbs))
1088 { 1088 {
1089 1089
1090
1090 // Don't need to re-enable body.. it's done in SetMesh 1091 // Don't need to re-enable body.. it's done in SetMesh
1091 Mesh mesh = Meshmerizer.CreateMesh(oldname, _pbs, _size); 1092 Mesh mesh = Meshmerizer.CreateMesh(oldname, _pbs, _size);
1093 // createmesh returns null when it's a shape that isn't a cube.
1094 if (mesh != null)
1092 setMesh(_parent_scene, mesh); 1095 setMesh(_parent_scene, mesh);
1093 } else { 1096 } else {
1094 prim_geom = d.CreateBox(_parent_scene.space, _size.X, _size.Y, _size.Z); 1097 prim_geom = d.CreateBox(_parent_scene.space, _size.X, _size.Y, _size.Z);