diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs index 05f6fae..ea89d87 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | |||
@@ -1730,7 +1730,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1730 | OdePrim newPrim; | 1730 | OdePrim newPrim; |
1731 | lock (OdeLock) | 1731 | lock (OdeLock) |
1732 | { | 1732 | { |
1733 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical, ode, localid); | 1733 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical,false, ode, localid); |
1734 | 1734 | ||
1735 | lock (_prims) | 1735 | lock (_prims) |
1736 | _prims.Add(newPrim); | 1736 | _prims.Add(newPrim); |
@@ -1738,23 +1738,27 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1738 | 1738 | ||
1739 | return newPrim; | 1739 | return newPrim; |
1740 | } | 1740 | } |
1741 | /* | 1741 | |
1742 | private PhysicsActor AddPrim(String name, Vector3 position, PhysicsActor parent, | 1742 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, |
1743 | PrimitiveBaseShape pbs, uint localid, byte[] sdata) | 1743 | IMesh mesh, PrimitiveBaseShape pbs, bool isphysical, bool isphantom, uint localid) |
1744 | { | 1744 | { |
1745 | |||
1745 | Vector3 pos = position; | 1746 | Vector3 pos = position; |
1747 | Vector3 siz = size; | ||
1748 | Quaternion rot = rotation; | ||
1746 | 1749 | ||
1747 | OdePrim newPrim; | 1750 | OdePrim newPrim; |
1748 | lock (OdeLock) | 1751 | lock (OdeLock) |
1749 | { | 1752 | { |
1750 | newPrim = new OdePrim(name, this, pos, parent, pbs, ode, localid, sdata); | 1753 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical, isphantom, ode, localid); |
1754 | |||
1751 | lock (_prims) | 1755 | lock (_prims) |
1752 | _prims.Add(newPrim); | 1756 | _prims.Add(newPrim); |
1753 | } | 1757 | } |
1754 | 1758 | ||
1755 | return newPrim; | 1759 | return newPrim; |
1756 | } | 1760 | } |
1757 | */ | 1761 | |
1758 | 1762 | ||
1759 | public void addActivePrim(OdePrim activatePrim) | 1763 | public void addActivePrim(OdePrim activatePrim) |
1760 | { | 1764 | { |
@@ -1781,6 +1785,23 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1781 | 1785 | ||
1782 | return result; | 1786 | return result; |
1783 | } | 1787 | } |
1788 | |||
1789 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, | ||
1790 | Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, uint localid) | ||
1791 | { | ||
1792 | PhysicsActor result; | ||
1793 | IMesh mesh = null; | ||
1794 | |||
1795 | if (needsMeshing(pbs)) | ||
1796 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); | ||
1797 | |||
1798 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, isPhantom, localid); | ||
1799 | |||
1800 | return result; | ||
1801 | } | ||
1802 | |||
1803 | |||
1804 | |||
1784 | /* | 1805 | /* |
1785 | public override PhysicsActor AddPrimShape(string primName, PhysicsActor parent, PrimitiveBaseShape pbs, Vector3 position, | 1806 | public override PhysicsActor AddPrimShape(string primName, PhysicsActor parent, PrimitiveBaseShape pbs, Vector3 position, |
1786 | uint localid, byte[] sdata) | 1807 | uint localid, byte[] sdata) |