aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-17 03:48:13 +0000
committerTeravus Ovares2007-11-17 03:48:13 +0000
commit3041747bcd3ed0be8b9cd8104973d37486c515ad (patch)
tree6633463c368220a44bcee77e249a8c176a30d8d6
parent* Resolved the situation where prim is loaded from storage and when pushed ne... (diff)
downloadopensim-SC_OLD-3041747bcd3ed0be8b9cd8104973d37486c515ad.zip
opensim-SC_OLD-3041747bcd3ed0be8b9cd8104973d37486c515ad.tar.gz
opensim-SC_OLD-3041747bcd3ed0be8b9cd8104973d37486c515ad.tar.bz2
opensim-SC_OLD-3041747bcd3ed0be8b9cd8104973d37486c515ad.tar.xz
* ODEPlugin - fixed issue where resizing prim causes the prim's collision box to no longer be matching the client's view of where it should be.
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs20
1 files changed, 18 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index 5422c11..a2d8cfd 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -1501,8 +1501,8 @@ namespace OpenSim.Region.Physics.OdePlugin
1501 // This is a fallback.. May no longer be necessary. 1501 // This is a fallback.. May no longer be necessary.
1502 if (Body == (IntPtr)0) 1502 if (Body == (IntPtr)0)
1503 enableBody(); 1503 enableBody();
1504 // Prim auto disable after 20 frames, 1504 //Prim auto disable after 20 frames,
1505 // if you move it, re-enable the prim manually. 1505 ///if you move it, re-enable the prim manually.
1506 d.BodyEnable(Body); 1506 d.BodyEnable(Body);
1507 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z); 1507 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z);
1508 } 1508 }
@@ -1559,9 +1559,25 @@ namespace OpenSim.Region.Physics.OdePlugin
1559 else 1559 else
1560 { 1560 {
1561 prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z); 1561 prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
1562 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1563 d.Quaternion myrot = new d.Quaternion();
1564 myrot.W = _orientation.w;
1565 myrot.X = _orientation.x;
1566 myrot.Y = _orientation.y;
1567 myrot.Z = _orientation.z;
1568 d.GeomSetQuaternion(prim_geom, ref myrot);
1569
1570
1562 } 1571 }
1563 } else { 1572 } else {
1564 prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z); 1573 prim_geom = d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z);
1574 d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z);
1575 d.Quaternion myrot = new d.Quaternion();
1576 myrot.W = _orientation.w;
1577 myrot.X = _orientation.x;
1578 myrot.Y = _orientation.y;
1579 myrot.Z = _orientation.z;
1580 d.GeomSetQuaternion(prim_geom, ref myrot);
1565 1581
1566 1582
1567 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); 1583 //d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z);