aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorUbitUmarov2012-02-27 20:08:43 +0000
committerUbitUmarov2012-02-27 20:08:43 +0000
commita725b5e01ed92b54d0bddd321acbe4498492f67c (patch)
tree73ba8effb7f9cf5ef3f3820e450b5d299a984acb /OpenSim/Region/Physics
parentMerge branch 'ubitwork' (diff)
downloadopensim-SC-a725b5e01ed92b54d0bddd321acbe4498492f67c.zip
opensim-SC-a725b5e01ed92b54d0bddd321acbe4498492f67c.tar.gz
opensim-SC-a725b5e01ed92b54d0bddd321acbe4498492f67c.tar.bz2
opensim-SC-a725b5e01ed92b54d0bddd321acbe4498492f67c.tar.xz
Let inworld meshs colide as such and not as basic prim all the time. Removed also LOD, and outerskin on colision meshs.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs6
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs9
2 files changed, 10 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
index 86ab58d..915b88d 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
@@ -2421,7 +2421,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2421 // Don't need to re-enable body.. it's done in SetMesh 2421 // Don't need to re-enable body.. it's done in SetMesh
2422 try 2422 try
2423 { 2423 {
2424 _mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical); 2424 _mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, (int)LevelOfDetail.High, true);
2425 } 2425 }
2426 catch 2426 catch
2427 { 2427 {
@@ -2676,7 +2676,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2676 try 2676 try
2677 { 2677 {
2678 if (_parent_scene.needsMeshing(_pbs)) 2678 if (_parent_scene.needsMeshing(_pbs))
2679 mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical); 2679 mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, (int)LevelOfDetail.High, true);
2680 } 2680 }
2681 catch 2681 catch
2682 { 2682 {
@@ -2783,7 +2783,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2783 meshlod = _parent_scene.MeshSculptphysicalLOD; 2783 meshlod = _parent_scene.MeshSculptphysicalLOD;
2784 try 2784 try
2785 { 2785 {
2786 IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical); 2786 IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, (int)LevelOfDetail.High, true);
2787 CreateGeom(m_targetSpace, mesh); 2787 CreateGeom(m_targetSpace, mesh);
2788 } 2788 }
2789 catch 2789 catch
diff --git a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
index f84918c..a57ebe9 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
@@ -1772,7 +1772,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1772 IMesh mesh = null; 1772 IMesh mesh = null;
1773 1773
1774 if (needsMeshing(pbs)) 1774 if (needsMeshing(pbs))
1775 mesh = mesher.CreateMesh(primName, pbs, size, 32f, isPhysical); 1775 mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true);
1776 1776
1777 result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, localid); 1777 result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, localid);
1778 1778
@@ -2514,7 +2514,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2514 } 2514 }
2515 2515
2516 // if it's a standard box or sphere with no cuts, hollows, twist or top shear, return false since ODE can use an internal representation for the prim 2516 // if it's a standard box or sphere with no cuts, hollows, twist or top shear, return false since ODE can use an internal representation for the prim
2517 if (!forceSimplePrimMeshing) 2517 if (!forceSimplePrimMeshing && !pbs.SculptEntry)
2518 { 2518 {
2519 if ((pbs.ProfileShape == ProfileShape.Square && pbs.PathCurve == (byte)Extrusion.Straight) 2519 if ((pbs.ProfileShape == ProfileShape.Square && pbs.PathCurve == (byte)Extrusion.Straight)
2520 || (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte)Extrusion.Curve1 2520 || (pbs.ProfileShape == ProfileShape.HalfCircle && pbs.PathCurve == (byte)Extrusion.Curve1
@@ -2537,6 +2537,9 @@ namespace OpenSim.Region.Physics.OdePlugin
2537 } 2537 }
2538 } 2538 }
2539 2539
2540 if (forceSimplePrimMeshing)
2541 return true;
2542
2540 if (pbs.ProfileHollow != 0) 2543 if (pbs.ProfileHollow != 0)
2541 iPropertiesNotSupportedDefault++; 2544 iPropertiesNotSupportedDefault++;
2542 2545
@@ -2601,6 +2604,8 @@ namespace OpenSim.Region.Physics.OdePlugin
2601 } 2604 }
2602 } 2605 }
2603 2606
2607 if (pbs.SculptEntry && meshSculptedPrim)
2608 iPropertiesNotSupportedDefault++;
2604 2609
2605 if (iPropertiesNotSupportedDefault == 0) 2610 if (iPropertiesNotSupportedDefault == 0)
2606 { 2611 {