diff options
Diffstat (limited to 'OpenSim/Region/Physics/Manager/PhysicsScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/Manager/PhysicsScene.cs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index a442cf0..d24ab2a 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs | |||
@@ -38,6 +38,9 @@ namespace OpenSim.Region.Physics.Manager | |||
38 | 38 | ||
39 | public delegate void RaycastCallback(bool hitYN, Vector3 collisionPoint, uint localid, float distance, Vector3 normal); | 39 | public delegate void RaycastCallback(bool hitYN, Vector3 collisionPoint, uint localid, float distance, Vector3 normal); |
40 | public delegate void RayCallback(List<ContactResult> list); | 40 | public delegate void RayCallback(List<ContactResult> list); |
41 | public delegate void ProbeBoxCallback(List<ContactResult> list); | ||
42 | public delegate void ProbeSphereCallback(List<ContactResult> list); | ||
43 | public delegate void ProbePlaneCallback(List<ContactResult> list); | ||
41 | public delegate void SitAvatarCallback(int status, uint partID, Vector3 offset, Quaternion Orientation); | 44 | public delegate void SitAvatarCallback(int status, uint partID, Vector3 offset, Quaternion Orientation); |
42 | 45 | ||
43 | public delegate void JointMoved(PhysicsJoint joint); | 46 | public delegate void JointMoved(PhysicsJoint joint); |
@@ -56,6 +59,7 @@ namespace OpenSim.Region.Physics.Manager | |||
56 | volumedtc = 0x40, | 59 | volumedtc = 0x40, |
57 | 60 | ||
58 | // ray cast colision control (may only work for meshs) | 61 | // ray cast colision control (may only work for meshs) |
62 | ContactsUnImportant = 0x2000, | ||
59 | BackFaceCull = 0x4000, | 63 | BackFaceCull = 0x4000, |
60 | ClosestHit = 0x8000, | 64 | ClosestHit = 0x8000, |
61 | 65 | ||
@@ -351,9 +355,22 @@ namespace OpenSim.Region.Physics.Manager | |||
351 | return false; | 355 | return false; |
352 | } | 356 | } |
353 | 357 | ||
354 | public virtual void RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, RaycastCallback retMethod){} | 358 | public virtual List<ContactResult> RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags flags) |
355 | public virtual void RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count, RayCallback retMethod) { } | 359 | { |
356 | public virtual List<ContactResult> RaycastActor(PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count) | 360 | return new List<ContactResult>(); |
361 | } | ||
362 | |||
363 | public virtual List<ContactResult> BoxProbe(Vector3 position, Vector3 size, Quaternion orientation, int Count, RayFilterFlags flags) | ||
364 | { | ||
365 | return new List<ContactResult>(); | ||
366 | } | ||
367 | |||
368 | public virtual List<ContactResult> SphereProbe(Vector3 position, float radius, int Count, RayFilterFlags flags) | ||
369 | { | ||
370 | return new List<ContactResult>(); | ||
371 | } | ||
372 | |||
373 | public virtual List<ContactResult> PlaneProbe(PhysicsActor actor, Vector4 plane, int Count, RayFilterFlags flags) | ||
357 | { | 374 | { |
358 | return new List<ContactResult>(); | 375 | return new List<ContactResult>(); |
359 | } | 376 | } |