aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorDahlia Trimble2008-07-12 01:02:41 +0000
committerDahlia Trimble2008-07-12 01:02:41 +0000
commitf6c7f167b9ee35a68b69f48ae8261225cb452a7a (patch)
treebd30e9068ad8b1b05ea35b11923e37fe27d88df1 /OpenSim/Region/Physics
parentPatch #9141 (Mantis #1655) (diff)
downloadopensim-SC_OLD-f6c7f167b9ee35a68b69f48ae8261225cb452a7a.zip
opensim-SC_OLD-f6c7f167b9ee35a68b69f48ae8261225cb452a7a.tar.gz
opensim-SC_OLD-f6c7f167b9ee35a68b69f48ae8261225cb452a7a.tar.bz2
opensim-SC_OLD-f6c7f167b9ee35a68b69f48ae8261225cb452a7a.tar.xz
Overloads CreateMesh method of interface IMesher to pass prim physical status to mesher
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/Manager/IMesher.cs1
-rw-r--r--OpenSim/Region/Physics/Manager/ZeroMesher.cs5
-rw-r--r--OpenSim/Region/Physics/Meshing/Meshmerizer.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs2
4 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs
index b5fc95c..48e4ba6 100644
--- a/OpenSim/Region/Physics/Manager/IMesher.cs
+++ b/OpenSim/Region/Physics/Manager/IMesher.cs
@@ -34,6 +34,7 @@ namespace OpenSim.Region.Physics.Manager
34 public interface IMesher 34 public interface IMesher
35 { 35 {
36 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod); 36 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod);
37 IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical);
37 } 38 }
38 39
39 public interface IVertex 40 public interface IVertex
diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs
index 8362630..609dee3 100644
--- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs
+++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs
@@ -62,6 +62,11 @@ namespace OpenSim.Region.Physics.Manager
62 { 62 {
63 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod) 63 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod)
64 { 64 {
65 return CreateMesh(primName, primShape, size, lod, false);
66 }
67
68 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical)
69 {
65 return null; 70 return null;
66 } 71 }
67 } 72 }
diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
index df850a0..42b6a90 100644
--- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
+++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs
@@ -2056,6 +2056,11 @@ namespace OpenSim.Region.Physics.Meshing
2056 2056
2057 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod) 2057 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod)
2058 { 2058 {
2059 return CreateMesh(primName, primShape, size, lod, false);
2060 }
2061
2062 public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical)
2063 {
2059 Mesh mesh = null; 2064 Mesh mesh = null;
2060 2065
2061 if (primShape.SculptEntry && primShape.SculptType != (byte)0 && primShape.SculptData.Length > 0) 2066 if (primShape.SculptEntry && primShape.SculptType != (byte)0 && primShape.SculptData.Length > 0)
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index defc0ca..d063507 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -1321,7 +1321,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1321 if (IsPhysical) 1321 if (IsPhysical)
1322 meshlod = _parent_scene.MeshSculptphysicalLOD; 1322 meshlod = _parent_scene.MeshSculptphysicalLOD;
1323 // Don't need to re-enable body.. it's done in SetMesh 1323 // Don't need to re-enable body.. it's done in SetMesh
1324 IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod); 1324 IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
1325 // createmesh returns null when it's a shape that isn't a cube. 1325 // createmesh returns null when it's a shape that isn't a cube.
1326 if (mesh != null) 1326 if (mesh != null)
1327 { 1327 {