diff options
author | UbitUmarov | 2012-03-21 12:57:46 +0000 |
---|---|---|
committer | UbitUmarov | 2012-03-21 12:57:46 +0000 |
commit | 316f272b621741e694f2b522910594a0e5879634 (patch) | |
tree | 54cf9f0069ed9b53b29ea625c1354a9fb9000879 /OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | |
parent | Merge branch 'master' of ssh://3dhosting.de/var/git/careminster into ubitwork (diff) | |
download | opensim-SC-316f272b621741e694f2b522910594a0e5879634.zip opensim-SC-316f272b621741e694f2b522910594a0e5879634.tar.gz opensim-SC-316f272b621741e694f2b522910594a0e5879634.tar.bz2 opensim-SC-316f272b621741e694f2b522910594a0e5879634.tar.xz |
shapetype support on chOde so it can also request a simple convex hull 'mesh'
Diffstat (limited to 'OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs index ea89d87..00f5122 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | |||
@@ -1720,7 +1720,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1720 | } | 1720 | } |
1721 | 1721 | ||
1722 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, | 1722 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, |
1723 | IMesh mesh, PrimitiveBaseShape pbs, bool isphysical, uint localid) | 1723 | IMesh mesh, PrimitiveBaseShape pbs, bool isphysical, bool isphantom, byte shapetype, uint localid) |
1724 | { | 1724 | { |
1725 | 1725 | ||
1726 | Vector3 pos = position; | 1726 | Vector3 pos = position; |
@@ -1730,27 +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,false, ode, localid); | 1733 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical, isphantom, shapetype, ode, localid); |
1734 | |||
1735 | lock (_prims) | ||
1736 | _prims.Add(newPrim); | ||
1737 | } | ||
1738 | |||
1739 | return newPrim; | ||
1740 | } | ||
1741 | |||
1742 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, | ||
1743 | IMesh mesh, PrimitiveBaseShape pbs, bool isphysical, bool isphantom, uint localid) | ||
1744 | { | ||
1745 | |||
1746 | Vector3 pos = position; | ||
1747 | Vector3 siz = size; | ||
1748 | Quaternion rot = rotation; | ||
1749 | |||
1750 | OdePrim newPrim; | ||
1751 | lock (OdeLock) | ||
1752 | { | ||
1753 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical, isphantom, ode, localid); | ||
1754 | 1734 | ||
1755 | lock (_prims) | 1735 | lock (_prims) |
1756 | _prims.Add(newPrim); | 1736 | _prims.Add(newPrim); |
@@ -1781,7 +1761,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1781 | if (needsMeshing(pbs)) | 1761 | if (needsMeshing(pbs)) |
1782 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); | 1762 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); |
1783 | 1763 | ||
1784 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, localid); | 1764 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical,false,0, localid); |
1785 | 1765 | ||
1786 | return result; | 1766 | return result; |
1787 | } | 1767 | } |
@@ -1795,25 +1775,25 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1795 | if (needsMeshing(pbs)) | 1775 | if (needsMeshing(pbs)) |
1796 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); | 1776 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); |
1797 | 1777 | ||
1798 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, isPhantom, localid); | 1778 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, isPhantom,0, localid); |
1799 | 1779 | ||
1800 | return result; | 1780 | return result; |
1801 | } | 1781 | } |
1802 | 1782 | ||
1803 | 1783 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, | |
1804 | 1784 | Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, byte shapetype, uint localid) | |
1805 | /* | ||
1806 | public override PhysicsActor AddPrimShape(string primName, PhysicsActor parent, PrimitiveBaseShape pbs, Vector3 position, | ||
1807 | uint localid, byte[] sdata) | ||
1808 | { | 1785 | { |
1809 | PhysicsActor result; | 1786 | PhysicsActor result; |
1787 | IMesh mesh = null; | ||
1810 | 1788 | ||
1811 | result = AddPrim(primName, position, parent, | 1789 | if (needsMeshing(pbs)) |
1812 | pbs, localid, sdata); | 1790 | mesh = mesher.CreateMesh(primName, pbs, size, (int)LevelOfDetail.High, true); |
1791 | |||
1792 | result = AddPrim(primName, position, size, rotation, mesh, pbs, isPhysical, isPhantom, shapetype, localid); | ||
1813 | 1793 | ||
1814 | return result; | 1794 | return result; |
1815 | } | 1795 | } |
1816 | */ | 1796 | |
1817 | public override float TimeDilation | 1797 | public override float TimeDilation |
1818 | { | 1798 | { |
1819 | get { return m_timeDilation; } | 1799 | get { return m_timeDilation; } |