From 3588d89b2cba36415991c46c300b1f9c94f109bf Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Wed, 13 Feb 2008 23:14:41 +0000 Subject: * Bigish ODE stability Update. Run Prebuild --- OpenSim/Region/Physics/Manager/CollisionLocker.cs | 46 +++++++++++++++++++++++ OpenSim/Region/Physics/Manager/PhysicsActor.cs | 7 ++++ 2 files changed, 53 insertions(+) create mode 100644 OpenSim/Region/Physics/Manager/CollisionLocker.cs (limited to 'OpenSim/Region/Physics/Manager') diff --git a/OpenSim/Region/Physics/Manager/CollisionLocker.cs b/OpenSim/Region/Physics/Manager/CollisionLocker.cs new file mode 100644 index 0000000..7a11720 --- /dev/null +++ b/OpenSim/Region/Physics/Manager/CollisionLocker.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Region.Physics.Manager +{ + public class CollisionLocker + { + + private bool locked = false; + private List worldlock = new List(); + public CollisionLocker() + { + + } + public void dlock(IntPtr world) + { + lock (worldlock) + { + worldlock.Add(world); + } + + } + public void dunlock(IntPtr world) + { + lock (worldlock) + { + worldlock.Remove(world); + } + } + public bool lockquery() + { + return (worldlock.Count > 0); + } + public void drelease(IntPtr world) + { + lock (worldlock) + { + if (worldlock.Contains(world)) + worldlock.Remove(world); + } + } + + } + +} diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 7741687..97eccba 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -126,6 +126,8 @@ namespace OpenSim.Region.Physics.Manager public abstract bool Selected { set; } + public abstract void CrossingFailure(); + public virtual void RequestPhysicsterseUpdate() { // Make a temporary copy of the event to avoid possibility of @@ -279,6 +281,11 @@ namespace OpenSim.Region.Physics.Manager get { return 0f; } } + public override void CrossingFailure() + { + + } + public override Quaternion Orientation { -- cgit v1.1