diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index fafeba2..959d928 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -12625,9 +12625,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12625 | results.Add(r); | 12625 | results.Add(r); |
12626 | } | 12626 | } |
12627 | 12627 | ||
12628 | // bug: will not detect phantom unless they are physical | 12628 | // TODO: Replace this with a better solution. ObjectIntersection can only |
12629 | // don't use ObjectIntersection because its also bad | 12629 | // detect nonphysical phantoms. They are detected by virtue of being |
12630 | 12630 | // nonphysical (e.g. no PhysActor) so will not conflict with detecting | |
12631 | // physicsl phantoms as done by the physics scene | ||
12632 | // We don't want anything else but phantoms here. | ||
12633 | if (detectPhantom) | ||
12634 | { | ||
12635 | ContactResult[] objectHits = ObjectIntersection(rayStart, rayEnd, false, false, true); | ||
12636 | foreach (ContactResult r in objectHits) | ||
12637 | results.Add(r); | ||
12638 | } | ||
12631 | } | 12639 | } |
12632 | else | 12640 | else |
12633 | { | 12641 | { |