aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-11-16 23:01:59 +0000
committerJustin Clark-Casey (justincc)2011-11-16 23:01:59 +0000
commitb6d83e9c0f4bd1d450e36270278285be50d5ace8 (patch)
treea5a05ee468964d2a5a8b90b186145e615368de71 /OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
parentCall public ForEach instead of using m_entities directly. No semantic changes... (diff)
downloadopensim-SC-b6d83e9c0f4bd1d450e36270278285be50d5ace8.zip
opensim-SC-b6d83e9c0f4bd1d450e36270278285be50d5ace8.tar.gz
opensim-SC-b6d83e9c0f4bd1d450e36270278285be50d5ace8.tar.bz2
opensim-SC-b6d83e9c0f4bd1d450e36270278285be50d5ace8.tar.xz
Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs7
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
index 6c2bdde..8d7d3b3 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs
@@ -371,12 +371,13 @@ namespace OpenSim.Region.Physics.OdePlugin
371 // Loop over contacts, build results. 371 // Loop over contacts, build results.
372 for (int i = 0; i < count; i++) 372 for (int i = 0; i < count; i++)
373 { 373 {
374 if (p1 != null) { 374 if (p1 != null)
375 {
375 if (p1 is OdePrim) 376 if (p1 is OdePrim)
376 { 377 {
377 ContactResult collisionresult = new ContactResult(); 378 ContactResult collisionresult = new ContactResult();
378 379
379 collisionresult.ConsumerID = ((OdePrim)p1).m_localID; 380 collisionresult.ConsumerID = p1.LocalID;
380 collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z); 381 collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z);
381 collisionresult.Depth = contacts[i].depth; 382 collisionresult.Depth = contacts[i].depth;
382 collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y, 383 collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y,
@@ -392,7 +393,7 @@ namespace OpenSim.Region.Physics.OdePlugin
392 { 393 {
393 ContactResult collisionresult = new ContactResult(); 394 ContactResult collisionresult = new ContactResult();
394 395
395 collisionresult.ConsumerID = ((OdePrim)p2).m_localID; 396 collisionresult.ConsumerID = p2.LocalID;
396 collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z); 397 collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z);
397 collisionresult.Depth = contacts[i].depth; 398 collisionresult.Depth = contacts[i].depth;
398 collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y, 399 collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y,