aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin
diff options
context:
space:
mode:
authorTeravus Ovares2008-09-06 07:52:41 +0000
committerTeravus Ovares2008-09-06 07:52:41 +0000
commit7d89e122930be39e84a6d174548fa2d12ac0484a (patch)
treee5aa5752f988a9aba2a969f49e5e208985eda80c /OpenSim/Region/Physics/OdePlugin
parent* minor: speculatively try a change to bamboo.build to see if this generates ... (diff)
downloadopensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.zip
opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.gz
opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.bz2
opensim-SC_OLD-7d89e122930be39e84a6d174548fa2d12ac0484a.tar.xz
* This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs3
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs96
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODETestClass.cs4
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs51
4 files changed, 74 insertions, 80 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 5d3e986..38d4060 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -26,7 +26,7 @@
26 */ 26 */
27 27
28using System; 28using System;
29using Axiom.Math; 29using OpenMetaverse;
30using Ode.NET; 30using Ode.NET;
31using OpenSim.Framework; 31using OpenSim.Framework;
32using OpenSim.Region.Physics.Manager; 32using OpenSim.Region.Physics.Manager;
@@ -587,7 +587,6 @@ namespace OpenSim.Region.Physics.OdePlugin
587 //Matrix3 or = Orientation.ToRotationMatrix(); 587 //Matrix3 or = Orientation.ToRotationMatrix();
588 //d.Matrix3 ord = new d.Matrix3(or.m00, or.m10, or.m20, or.m01, or.m11, or.m21, or.m02, or.m12, or.m22); 588 //d.Matrix3 ord = new d.Matrix3(or.m00, or.m10, or.m20, or.m01, or.m11, or.m21, or.m02, or.m12, or.m22);
589 //d.BodySetRotation(Body, ref ord); 589 //d.BodySetRotation(Body, ref ord);
590
591 } 590 }
592 } 591 }
593 592
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index eafce5a..21e514b 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -30,8 +30,8 @@ using System.Collections.Generic;
30using System.Reflection; 30using System.Reflection;
31using System.Runtime.InteropServices; 31using System.Runtime.InteropServices;
32using System.Threading; 32using System.Threading;
33using Axiom.Math;
34using log4net; 33using log4net;
34using OpenMetaverse;
35using Ode.NET; 35using Ode.NET;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Region.Physics.Manager; 37using OpenSim.Region.Physics.Manager;
@@ -294,10 +294,10 @@ namespace OpenSim.Region.Physics.OdePlugin
294 setMass(); 294 setMass();
295 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z); 295 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z);
296 d.Quaternion myrot = new d.Quaternion(); 296 d.Quaternion myrot = new d.Quaternion();
297 myrot.W = _orientation.w; 297 myrot.X = _orientation.X;
298 myrot.X = _orientation.x; 298 myrot.Y = _orientation.Y;
299 myrot.Y = _orientation.y; 299 myrot.Z = _orientation.Z;
300 myrot.Z = _orientation.z; 300 myrot.W = _orientation.W;
301 d.BodySetQuaternion(Body, ref myrot); 301 d.BodySetQuaternion(Body, ref myrot);
302 d.GeomSetBody(prim_geom, Body); 302 d.GeomSetBody(prim_geom, Body);
303 m_collisionCategories |= CollisionCategories.Body; 303 m_collisionCategories |= CollisionCategories.Body;
@@ -1021,10 +1021,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1021 { 1021 {
1022 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1022 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1023 d.Quaternion myrot = new d.Quaternion(); 1023 d.Quaternion myrot = new d.Quaternion();
1024 myrot.W = _orientation.w; 1024 myrot.X = _orientation.X;
1025 myrot.X = _orientation.x; 1025 myrot.Y = _orientation.Y;
1026 myrot.Y = _orientation.y; 1026 myrot.Z = _orientation.Z;
1027 myrot.Z = _orientation.z; 1027 myrot.W = _orientation.W;
1028 d.GeomSetQuaternion(prim_geom, ref myrot); 1028 d.GeomSetQuaternion(prim_geom, ref myrot);
1029 } 1029 }
1030 1030
@@ -1220,10 +1220,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1220 public void rotate(float timestep) 1220 public void rotate(float timestep)
1221 { 1221 {
1222 d.Quaternion myrot = new d.Quaternion(); 1222 d.Quaternion myrot = new d.Quaternion();
1223 myrot.W = _orientation.w; 1223 myrot.X = _orientation.X;
1224 myrot.X = _orientation.x; 1224 myrot.Y = _orientation.Y;
1225 myrot.Y = _orientation.y; 1225 myrot.Z = _orientation.Z;
1226 myrot.Z = _orientation.z; 1226 myrot.W = _orientation.W;
1227 d.GeomSetQuaternion(prim_geom, ref myrot); 1227 d.GeomSetQuaternion(prim_geom, ref myrot);
1228 if (m_isphysical && Body != (IntPtr) 0) 1228 if (m_isphysical && Body != (IntPtr) 0)
1229 { 1229 {
@@ -1339,10 +1339,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1339 setMesh(_parent_scene, mesh); 1339 setMesh(_parent_scene, mesh);
1340 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1340 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1341 d.Quaternion myrot = new d.Quaternion(); 1341 d.Quaternion myrot = new d.Quaternion();
1342 myrot.W = _orientation.w; 1342 myrot.X = _orientation.X;
1343 myrot.X = _orientation.x; 1343 myrot.Y = _orientation.Y;
1344 myrot.Y = _orientation.y; 1344 myrot.Z = _orientation.Z;
1345 myrot.Z = _orientation.z; 1345 myrot.W = _orientation.W;
1346 d.GeomSetQuaternion(prim_geom, ref myrot); 1346 d.GeomSetQuaternion(prim_geom, ref myrot);
1347 1347
1348 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1348 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
@@ -1388,10 +1388,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1388 //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z); 1388 //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
1389 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1389 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1390 d.Quaternion myrot = new d.Quaternion(); 1390 d.Quaternion myrot = new d.Quaternion();
1391 myrot.W = _orientation.w; 1391 myrot.X = _orientation.X;
1392 myrot.X = _orientation.x; 1392 myrot.Y = _orientation.Y;
1393 myrot.Y = _orientation.y; 1393 myrot.Z = _orientation.Z;
1394 myrot.Z = _orientation.z; 1394 myrot.W = _orientation.W;
1395 d.GeomSetQuaternion(prim_geom, ref myrot); 1395 d.GeomSetQuaternion(prim_geom, ref myrot);
1396 } 1396 }
1397 } 1397 }
@@ -1452,9 +1452,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1452 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1452 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1453 // d.Quaternion myrot = new d.Quaternion(); 1453 // d.Quaternion myrot = new d.Quaternion();
1454 // myrot.W = _orientation.w; 1454 // myrot.W = _orientation.w;
1455 // myrot.X = _orientation.x; 1455 // myrot.X = _orientation.X;
1456 // myrot.Y = _orientation.y; 1456 // myrot.Y = _orientation.Y;
1457 // myrot.Z = _orientation.z; 1457 // myrot.Z = _orientation.Z;
1458 // d.GeomSetQuaternion(prim_geom, ref myrot); 1458 // d.GeomSetQuaternion(prim_geom, ref myrot);
1459 1459
1460 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1460 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
@@ -1512,9 +1512,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1512 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1512 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1513 // d.Quaternion myrot = new d.Quaternion(); 1513 // d.Quaternion myrot = new d.Quaternion();
1514 // myrot.W = _orientation.w; 1514 // myrot.W = _orientation.w;
1515 // myrot.X = _orientation.x; 1515 // myrot.X = _orientation.X;
1516 // myrot.Y = _orientation.y; 1516 // myrot.Y = _orientation.Y;
1517 // myrot.Z = _orientation.z; 1517 // myrot.Z = _orientation.Z;
1518 // d.GeomSetQuaternion(prim_geom, ref myrot); 1518 // d.GeomSetQuaternion(prim_geom, ref myrot);
1519 // } 1519 // }
1520 // } 1520 // }
@@ -1553,9 +1553,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1553 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1553 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1554 // d.Quaternion myrot = new d.Quaternion(); 1554 // d.Quaternion myrot = new d.Quaternion();
1555 // myrot.W = _orientation.w; 1555 // myrot.W = _orientation.w;
1556 // myrot.X = _orientation.x; 1556 // myrot.X = _orientation.X;
1557 // myrot.Y = _orientation.y; 1557 // myrot.Y = _orientation.Y;
1558 // myrot.Z = _orientation.z; 1558 // myrot.Z = _orientation.Z;
1559 // d.GeomSetQuaternion(prim_geom, ref myrot); 1559 // d.GeomSetQuaternion(prim_geom, ref myrot);
1560 1560
1561 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1561 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
@@ -1626,10 +1626,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1626 setMesh(_parent_scene, mesh); 1626 setMesh(_parent_scene, mesh);
1627 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1627 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1628 d.Quaternion myrot = new d.Quaternion(); 1628 d.Quaternion myrot = new d.Quaternion();
1629 myrot.W = _orientation.w; 1629 myrot.X = _orientation.X;
1630 myrot.X = _orientation.x; 1630 myrot.Y = _orientation.Y;
1631 myrot.Y = _orientation.y; 1631 myrot.Z = _orientation.Z;
1632 myrot.Z = _orientation.z; 1632 myrot.W = _orientation.W;
1633 d.GeomSetQuaternion(prim_geom, ref myrot); 1633 d.GeomSetQuaternion(prim_geom, ref myrot);
1634 1634
1635 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1635 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
@@ -1684,10 +1684,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1684 //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z); 1684 //prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
1685 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1685 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1686 d.Quaternion myrot = new d.Quaternion(); 1686 d.Quaternion myrot = new d.Quaternion();
1687 myrot.W = _orientation.w; 1687 myrot.X = _orientation.X;
1688 myrot.X = _orientation.x; 1688 myrot.Y = _orientation.Y;
1689 myrot.Y = _orientation.y; 1689 myrot.Z = _orientation.Z;
1690 myrot.Z = _orientation.z; 1690 myrot.W = _orientation.W;
1691 d.GeomSetQuaternion(prim_geom, ref myrot); 1691 d.GeomSetQuaternion(prim_geom, ref myrot);
1692 } 1692 }
1693 } 1693 }
@@ -1726,9 +1726,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1726 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); 1726 // d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1727 // d.Quaternion myrot = new d.Quaternion(); 1727 // d.Quaternion myrot = new d.Quaternion();
1728 // myrot.W = _orientation.w; 1728 // myrot.W = _orientation.w;
1729 // myrot.X = _orientation.x; 1729 // myrot.X = _orientation.X;
1730 // myrot.Y = _orientation.y; 1730 // myrot.Y = _orientation.Y;
1731 // myrot.Z = _orientation.z; 1731 // myrot.Z = _orientation.Z;
1732 // d.GeomSetQuaternion(prim_geom, ref myrot); 1732 // d.GeomSetQuaternion(prim_geom, ref myrot);
1733 1733
1734 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1734 // //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);
@@ -2106,9 +2106,9 @@ namespace OpenSim.Region.Physics.OdePlugin
2106 _acceleration.Z = 0; 2106 _acceleration.Z = 0;
2107 2107
2108 //_orientation.w = 0f; 2108 //_orientation.w = 0f;
2109 //_orientation.x = 0f; 2109 //_orientation.X = 0f;
2110 //_orientation.y = 0f; 2110 //_orientation.Y = 0f;
2111 //_orientation.z = 0f; 2111 //_orientation.Z = 0f;
2112 m_rotationalVelocity.X = 0; 2112 m_rotationalVelocity.X = 0;
2113 m_rotationalVelocity.Y = 0; 2113 m_rotationalVelocity.Y = 0;
2114 m_rotationalVelocity.Z = 0; 2114 m_rotationalVelocity.Z = 0;
@@ -2154,10 +2154,10 @@ namespace OpenSim.Region.Physics.OdePlugin
2154 } 2154 }
2155 2155
2156 //System.Console.WriteLine("ODE: " + m_rotationalVelocity.ToString()); 2156 //System.Console.WriteLine("ODE: " + m_rotationalVelocity.ToString());
2157 _orientation.w = ori.W; 2157 _orientation.X = ori.X;
2158 _orientation.x = ori.X; 2158 _orientation.Y = ori.Y;
2159 _orientation.y = ori.Y; 2159 _orientation.Z = ori.Z;
2160 _orientation.z = ori.Z; 2160 _orientation.W = ori.W;
2161 m_lastUpdateSent = false; 2161 m_lastUpdateSent = false;
2162 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate) 2162 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate)
2163 { 2163 {
diff --git a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
index 074170a..606134a 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
@@ -26,9 +26,9 @@
26 */ 26 */
27 27
28using System; 28using System;
29using Axiom.Math;
30using Nini.Config; 29using Nini.Config;
31using NUnit.Framework; 30using NUnit.Framework;
31using OpenMetaverse;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using OpenSim.Region.Physics.Manager; 33using OpenSim.Region.Physics.Manager;
34 34
@@ -74,7 +74,7 @@ namespace OpenSim.Region.Physics.OdePlugin
74 PrimitiveBaseShape newcube = PrimitiveBaseShape.CreateBox(); 74 PrimitiveBaseShape newcube = PrimitiveBaseShape.CreateBox();
75 PhysicsVector position = new PhysicsVector(128, 128, 128); 75 PhysicsVector position = new PhysicsVector(128, 128, 128);
76 PhysicsVector size = new PhysicsVector(0.5f, 0.5f, 0.5f); 76 PhysicsVector size = new PhysicsVector(0.5f, 0.5f, 0.5f);
77 Quaternion rot = new Quaternion(1, 0, 0, 0); 77 Quaternion rot = Quaternion.Identity;
78 PhysicsActor prim = ps.AddPrimShape("CoolShape", newcube, position, size, rot, true); 78 PhysicsActor prim = ps.AddPrimShape("CoolShape", newcube, position, size, rot, true);
79 OdePrim oprim = (OdePrim)prim; 79 OdePrim oprim = (OdePrim)prim;
80 OdeScene pscene = (OdeScene) ps; 80 OdeScene pscene = (OdeScene) ps;
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index f285911..5a501ef 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -31,13 +31,12 @@ using System.Reflection;
31using System.Runtime.InteropServices; 31using System.Runtime.InteropServices;
32using System.Threading; 32using System.Threading;
33using System.IO; 33using System.IO;
34using Axiom.Math;
35using log4net; 34using log4net;
36using Nini.Config; 35using Nini.Config;
37using Ode.NET; 36using Ode.NET;
38using OpenSim.Framework; 37using OpenSim.Framework;
39using OpenSim.Region.Physics.Manager; 38using OpenSim.Region.Physics.Manager;
40using libsecondlife; 39using OpenMetaverse;
41 40
42//using OpenSim.Region.Physics.OdePlugin.Meshing; 41//using OpenSim.Region.Physics.OdePlugin.Meshing;
43 42
@@ -1129,11 +1128,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1129 siz.X = size.X; 1128 siz.X = size.X;
1130 siz.Y = size.Y; 1129 siz.Y = size.Y;
1131 siz.Z = size.Z; 1130 siz.Z = size.Z;
1132 Quaternion rot = new Quaternion(); 1131 Quaternion rot = rotation;
1133 rot.w = rotation.w;
1134 rot.x = rotation.x;
1135 rot.y = rotation.y;
1136 rot.z = rotation.z;
1137 1132
1138 OdePrim newPrim; 1133 OdePrim newPrim;
1139 lock (OdeLock) 1134 lock (OdeLock)
@@ -1524,8 +1519,8 @@ namespace OpenSim.Region.Physics.OdePlugin
1524 // but we still need to check for sculptie meshing being enabled so this is the most 1519 // but we still need to check for sculptie meshing being enabled so this is the most
1525 // convenient place to do it for now... 1520 // convenient place to do it for now...
1526 1521
1527 // //if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle && pbs.ProfileCurve == (byte)LLObject.ProfileCurve.Circle && pbs.PathScaleY <= 0.75f) 1522 // //if (pbs.PathCurve == (byte)Primitive.PathCurve.Circle && pbs.ProfileCurve == (byte)Primitive.ProfileCurve.Circle && pbs.PathScaleY <= 0.75f)
1528 // //Console.WriteLine("needsMeshing: " + " pathCurve: " + pbs.PathCurve.ToString() + " profileCurve: " + pbs.ProfileCurve.ToString() + " pathScaleY: " + LLObject.UnpackPathScale(pbs.PathScaleY).ToString()); 1523 // //Console.WriteLine("needsMeshing: " + " pathCurve: " + pbs.PathCurve.ToString() + " profileCurve: " + pbs.ProfileCurve.ToString() + " pathScaleY: " + Primitive.UnpackPathScale(pbs.PathScaleY).ToString());
1529 if (pbs.SculptEntry && !meshSculptedPrim) 1524 if (pbs.SculptEntry && !meshSculptedPrim)
1530 { 1525 {
1531 return false; 1526 return false;
@@ -1555,19 +1550,19 @@ namespace OpenSim.Region.Physics.OdePlugin
1555 // return true; 1550 // return true;
1556 1551
1557 // // test for torus 1552 // // test for torus
1558 // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle 1553 // if (pbs.PathCurve == (byte)Primitive.PathCurve.Circle
1559 // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.Circle 1554 // && (pbs.ProfileCurve & 0x07) == (byte)Primitive.ProfileCurve.Circle
1560 // && LLObject.UnpackPathScale(pbs.PathScaleY) <= 0.75f) 1555 // && Primitive.UnpackPathScale(pbs.PathScaleY) <= 0.75f)
1561 // return true; 1556 // return true;
1562 1557
1563 // // test for tube 1558 // // test for tube
1564 // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle 1559 // if (pbs.PathCurve == (byte)Primitive.PathCurve.Circle
1565 // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle) 1560 // && (pbs.ProfileCurve & 0x07) == (byte)Primitive.ProfileCurve.EqualTriangle)
1566 // return true; 1561 // return true;
1567 1562
1568 // // test for ring 1563 // // test for ring
1569 // if (pbs.PathCurve == (byte)LLObject.PathCurve.Circle 1564 // if (pbs.PathCurve == (byte)Primitive.PathCurve.Circle
1570 // && (pbs.ProfileCurve & 0x07) == (byte)LLObject.ProfileCurve.EqualTriangle) 1565 // && (pbs.ProfileCurve & 0x07) == (byte)Primitive.ProfileCurve.EqualTriangle)
1571 // return true; 1566 // return true;
1572 1567
1573 // if (pbs.ProfileShape == ProfileShape.EquilateralTriangle) 1568 // if (pbs.ProfileShape == ProfileShape.EquilateralTriangle)
@@ -2132,17 +2127,17 @@ namespace OpenSim.Region.Physics.OdePlugin
2132 2127
2133 d.Matrix3 R = new d.Matrix3(); 2128 d.Matrix3 R = new d.Matrix3();
2134 2129
2135 Quaternion q1 = Quaternion.FromAngleAxis(1.5707f, new Vector3(1, 0, 0)); 2130 Quaternion q1 = Quaternion.CreateFromAxisAngle(new Vector3(1, 0, 0), 1.5707f);
2136 Quaternion q2 = Quaternion.FromAngleAxis(1.5707f, new Vector3(0, 1, 0)); 2131 Quaternion q2 = Quaternion.CreateFromAxisAngle(new Vector3(0, 1, 0), 1.5707f);
2137 //Axiom.Math.Quaternion q3 = Axiom.Math.Quaternion.FromAngleAxis(3.14f, new Axiom.Math.Vector3(0, 0, 1)); 2132 //Axiom.Math.Quaternion q3 = Axiom.Math.Quaternion.FromAngleAxis(3.14f, new Axiom.Math.Vector3(0, 0, 1));
2138 2133
2139 q1 = q1*q2; 2134 q1 = q1*q2;
2140 //q1 = q1 * q3; 2135 //q1 = q1 * q3;
2141 Vector3 v3 = new Vector3(); 2136 Vector3 v3;
2142 float angle = 0; 2137 float angle;
2143 q1.ToAngleAxis(ref angle, ref v3); 2138 q1.GetAxisAngle(out v3, out angle);
2144 2139
2145 d.RFromAxisAndAngle(out R, v3.x, v3.y, v3.z, angle); 2140 d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle);
2146 d.GeomSetRotation(LandGeom, ref R); 2141 d.GeomSetRotation(LandGeom, ref R);
2147 d.GeomSetPosition(LandGeom, 128, 128, 0); 2142 d.GeomSetPosition(LandGeom, 128, 128, 0);
2148 } 2143 }
@@ -2197,17 +2192,17 @@ namespace OpenSim.Region.Physics.OdePlugin
2197 2192
2198 d.Matrix3 R = new d.Matrix3(); 2193 d.Matrix3 R = new d.Matrix3();
2199 2194
2200 Quaternion q1 = Quaternion.FromAngleAxis(1.5707f, new Vector3(1, 0, 0)); 2195 Quaternion q1 = Quaternion.CreateFromAxisAngle(new Vector3(1, 0, 0), 1.5707f);
2201 Quaternion q2 = Quaternion.FromAngleAxis(1.5707f, new Vector3(0, 1, 0)); 2196 Quaternion q2 = Quaternion.CreateFromAxisAngle(new Vector3(0, 1, 0), 1.5707f);
2202 //Axiom.Math.Quaternion q3 = Axiom.Math.Quaternion.FromAngleAxis(3.14f, new Axiom.Math.Vector3(0, 0, 1)); 2197 //Axiom.Math.Quaternion q3 = Axiom.Math.Quaternion.FromAngleAxis(3.14f, new Axiom.Math.Vector3(0, 0, 1));
2203 2198
2204 q1 = q1 * q2; 2199 q1 = q1 * q2;
2205 //q1 = q1 * q3; 2200 //q1 = q1 * q3;
2206 Vector3 v3 = new Vector3(); 2201 Vector3 v3;
2207 float angle = 0; 2202 float angle;
2208 q1.ToAngleAxis(ref angle, ref v3); 2203 q1.GetAxisAngle(out v3, out angle);
2209 2204
2210 d.RFromAxisAndAngle(out R, v3.x, v3.y, v3.z, angle); 2205 d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle);
2211 d.GeomSetRotation(WaterGeom, ref R); 2206 d.GeomSetRotation(WaterGeom, ref R);
2212 d.GeomSetPosition(WaterGeom, 128, 128, 0); 2207 d.GeomSetPosition(WaterGeom, 128, 128, 0);
2213 } 2208 }