aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs33
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)