diff options
author | Teravus Ovares | 2007-11-17 03:48:13 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-17 03:48:13 +0000 |
commit | 3041747bcd3ed0be8b9cd8104973d37486c515ad (patch) | |
tree | 6633463c368220a44bcee77e249a8c176a30d8d6 /OpenSim/Region/Physics | |
parent | * Resolved the situation where prim is loaded from storage and when pushed ne... (diff) | |
download | opensim-SC-3041747bcd3ed0be8b9cd8104973d37486c515ad.zip opensim-SC-3041747bcd3ed0be8b9cd8104973d37486c515ad.tar.gz opensim-SC-3041747bcd3ed0be8b9cd8104973d37486c515ad.tar.bz2 opensim-SC-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.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 20 |
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); |