From 5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7 Mon Sep 17 00:00:00 2001
From: MW
Date: Sun, 29 Jul 2007 13:05:57 +0000
Subject: Deleting objects should now work. But beware they aren't send to your
trash folder or anything so there is at the moment no way to recover deleted
objects.
---
.../BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 386 +++++++++++----------
1 file changed, 194 insertions(+), 192 deletions(-)
(limited to 'OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs')
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
index 4d0699b..b722fdf 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
@@ -31,79 +31,97 @@ using OpenSim.Physics.Manager;
namespace OpenSim.Region.Physics.BasicPhysicsPlugin
{
- ///
- /// Will be the PhysX plugin but for now will be a very basic physics engine
- ///
- public class BasicPhysicsPlugin : IPhysicsPlugin
- {
- public BasicPhysicsPlugin()
- {
-
- }
-
- public bool Init()
- {
- return true;
- }
-
- public PhysicsScene GetScene()
- {
- return new BasicScene();
- }
-
- public string GetName()
- {
- return("basicphysics");
- }
-
- public void Dispose()
- {
-
- }
- }
-
- public class BasicScene :PhysicsScene
- {
- private List _actors = new List();
- private float[] _heightMap;
-
- public BasicScene()
- {
-
- }
-
- public override PhysicsActor AddAvatar(PhysicsVector position)
- {
- BasicActor act = new BasicActor();
- act.Position = position;
- _actors.Add(act);
- return act;
- }
+ ///
+ /// Will be the PhysX plugin but for now will be a very basic physics engine
+ ///
+ public class BasicPhysicsPlugin : IPhysicsPlugin
+ {
+ public BasicPhysicsPlugin()
+ {
+
+ }
+
+ public bool Init()
+ {
+ return true;
+ }
+
+ public PhysicsScene GetScene()
+ {
+ return new BasicScene();
+ }
+
+ public string GetName()
+ {
+ return ("basicphysics");
+ }
+
+ public void Dispose()
+ {
+
+ }
+ }
+
+ public class BasicScene : PhysicsScene
+ {
+ private List _actors = new List();
+ private float[] _heightMap;
+
+ public BasicScene()
+ {
+
+ }
+
+ public override PhysicsActor AddAvatar(PhysicsVector position)
+ {
+ BasicActor act = new BasicActor();
+ act.Position = position;
+ _actors.Add(act);
+ return act;
+ }
public override void RemoveAvatar(PhysicsActor actor)
{
BasicActor act = (BasicActor)actor;
- if(_actors.Contains(act))
+ if (_actors.Contains(act))
{
_actors.Remove(act);
}
}
- public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
- {
- return null;
- }
-
- public override void Simulate(float timeStep)
- {
- foreach (BasicActor actor in _actors)
- {
- float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f;
+ public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
+ {
+ return null;
+ }
+
+ public override void Simulate(float timeStep)
+ {
+ foreach (BasicActor actor in _actors)
+ {
actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep);
actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep);
+ if (actor.Position.Y < 0)
+ {
+ actor.Position.Y = 0;
+ }
+ else if (actor.Position.Y > 256)
+ {
+ actor.Position.Y = 256;
+ }
+
+ if (actor.Position.X < 0)
+ {
+ actor.Position.X = 0;
+ }
+ else if (actor.Position.X > 256)
+ {
+ actor.Position.X = 256;
+ }
+
+ float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f;
if (actor.Flying)
- {
+ {
if (actor.Position.Z + (actor.Velocity.Z * timeStep) < _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 2)
{
actor.Position.Z = height;
@@ -120,145 +138,129 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
actor.Velocity.Z = 0;
}
- if (actor.Position.Y < 0)
- {
- actor.Position.Y = 0;
- }
- else if (actor.Position.Y > 256)
- {
- actor.Position.Y = 256;
- }
- if (actor.Position.X < 0)
- {
- actor.Position.X = 0;
- }
- if (actor.Position.X > 256)
- {
- actor.Position.X = 256;
- }
}
- }
-
- public override void GetResults()
- {
-
- }
-
- public override bool IsThreaded
- {
- get
- {
- return(false); // for now we won't be multithreaded
- }
- }
-
- public override void SetTerrain(float[] heightMap)
- {
- this._heightMap = heightMap;
- }
+ }
+
+ public override void GetResults()
+ {
+
+ }
+
+ public override bool IsThreaded
+ {
+ get
+ {
+ return (false); // for now we won't be multithreaded
+ }
+ }
+
+ public override void SetTerrain(float[] heightMap)
+ {
+ this._heightMap = heightMap;
+ }
public override void DeleteTerrain()
{
}
- }
-
- public class BasicActor : PhysicsActor
- {
- private PhysicsVector _position;
- private PhysicsVector _velocity;
- private PhysicsVector _acceleration;
- private bool flying;
- public BasicActor()
- {
- _velocity = new PhysicsVector();
- _position = new PhysicsVector();
- _acceleration = new PhysicsVector();
- }
-
- public override bool Flying
- {
- get
- {
+ }
+
+ public class BasicActor : PhysicsActor
+ {
+ private PhysicsVector _position;
+ private PhysicsVector _velocity;
+ private PhysicsVector _acceleration;
+ private bool flying;
+ public BasicActor()
+ {
+ _velocity = new PhysicsVector();
+ _position = new PhysicsVector();
+ _acceleration = new PhysicsVector();
+ }
+
+ public override bool Flying
+ {
+ get
+ {
return flying;
- }
- set
- {
- flying= value;
- }
- }
-
- public override PhysicsVector Position
- {
- get
- {
- return _position;
- }
- set
- {
- _position = value;
- }
- }
-
- public override PhysicsVector Velocity
- {
- get
- {
- return _velocity;
- }
- set
- {
- _velocity = value;
- }
- }
-
- public override Quaternion Orientation
- {
- get
- {
- return Quaternion.Identity;
- }
- set
- {
-
- }
- }
-
- public override PhysicsVector Acceleration
- {
- get
- {
- return _acceleration;
- }
-
- }
-
- public override bool Kinematic
- {
- get
- {
- return true;
- }
- set
- {
-
- }
- }
- public void SetAcceleration (PhysicsVector accel)
- {
- this._acceleration = accel;
- }
-
- public override void AddForce(PhysicsVector force)
- {
-
- }
-
- public override void SetMomentum(PhysicsVector momentum)
- {
-
- }
- }
+ }
+ set
+ {
+ flying = value;
+ }
+ }
+
+ public override PhysicsVector Position
+ {
+ get
+ {
+ return _position;
+ }
+ set
+ {
+ _position = value;
+ }
+ }
+
+ public override PhysicsVector Velocity
+ {
+ get
+ {
+ return _velocity;
+ }
+ set
+ {
+ _velocity = value;
+ }
+ }
+
+ public override Quaternion Orientation
+ {
+ get
+ {
+ return Quaternion.Identity;
+ }
+ set
+ {
+
+ }
+ }
+
+ public override PhysicsVector Acceleration
+ {
+ get
+ {
+ return _acceleration;
+ }
+
+ }
+
+ public override bool Kinematic
+ {
+ get
+ {
+ return true;
+ }
+ set
+ {
+
+ }
+ }
+ public void SetAcceleration(PhysicsVector accel)
+ {
+ this._acceleration = accel;
+ }
+
+ public override void AddForce(PhysicsVector force)
+ {
+
+ }
+
+ public override void SetMomentum(PhysicsVector momentum)
+ {
+
+ }
+ }
}
--
cgit v1.1