diff options
author | UbitUmarov | 2012-02-27 20:08:43 +0000 |
---|---|---|
committer | UbitUmarov | 2012-02-27 20:08:43 +0000 |
commit | a725b5e01ed92b54d0bddd321acbe4498492f67c (patch) | |
tree | 73ba8effb7f9cf5ef3f3820e450b5d299a984acb /OpenSim/Region/Physics/ChOdePlugin | |
parent | Merge branch 'ubitwork' (diff) | |
download | opensim-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/ChOdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | 9 |
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 | { |