diff options
author | Justin Clark-Casey (justincc) | 2011-11-16 23:01:59 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-11-16 23:01:59 +0000 |
commit | b6d83e9c0f4bd1d450e36270278285be50d5ace8 (patch) | |
tree | a5a05ee468964d2a5a8b90b186145e615368de71 /OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs | |
parent | Call public ForEach instead of using m_entities directly. No semantic changes... (diff) | |
download | opensim-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.cs | 7 |
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, |