Part 1 of Darok's BulletX patches.

afrisby
MW 2007-09-04 18:03:29 +00:00
parent 710856e3d3
commit 725ef022c6
1 changed files with 39 additions and 16 deletions

View File

@ -28,7 +28,7 @@
#region References
using System;
using System.Collections.Generic;
using OpenSim.Physics.Manager;
using OpenSim.Region.Physics.Manager;
using Axiom.Math;
//Specific References for BulletXPlugin
using MonoXnaCompactMaths;
@ -163,7 +163,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin
}
public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Axiom.Math.Quaternion rotation)
{
PhysicsVector pos = new PhysicsVector();
pos.X = position.X;
@ -176,6 +176,10 @@ namespace OpenSim.Region.Physics.BulletXPlugin
return new BulletXPrim();
}
public override void RemovePrim(PhysicsActor prim)
{
throw new Exception("The method or operation is not implemented.");
}
public override void Simulate(float timeStep)
{
foreach (BulletXCharacter actor in _characters)
@ -257,7 +261,8 @@ namespace OpenSim.Region.Physics.BulletXPlugin
CollisionShape _collisionShape = new BoxShape(new MonoXnaCompactMaths.Vector3(0.5f, 0.5f, 1.60f));
DefaultMotionState _motionState = new DefaultMotionState(_startTransform, _centerOfMassOffset);
MonoXnaCompactMaths.Vector3 _localInertia = new MonoXnaCompactMaths.Vector3();
_collisionShape.CalculateLocalInertia(_mass, out _localInertia); //Always when mass > 0
_collisionShape.CalculateLocalInertia(_mass, out _localInertia);
//Always when mass > 0
//The next values might change
float _linearDamping = 0.0f;
@ -283,6 +288,18 @@ namespace OpenSim.Region.Physics.BulletXPlugin
}
}
public override PhysicsVector Size
{
get
{
throw new Exception("The method or operation is not implemented.");
}
set
{
throw new Exception("The method or operation is not implemented.");
}
}
public override PhysicsVector Position
{
get
@ -447,6 +464,17 @@ namespace OpenSim.Region.Physics.BulletXPlugin
}
}
public override PhysicsVector Size
{
get
{
throw new Exception("The method or operation is not implemented.");
}
set
{
throw new Exception("The method or operation is not implemented.");
}
}
public override PhysicsVector Position
{
get
@ -469,7 +497,6 @@ namespace OpenSim.Region.Physics.BulletXPlugin
this._prim.Position = pos;*/
}
}
public override PhysicsVector Velocity
{
get
@ -481,7 +508,6 @@ namespace OpenSim.Region.Physics.BulletXPlugin
_velocity = value;
}
}
public override bool Kinematic
{
get
@ -494,7 +520,6 @@ namespace OpenSim.Region.Physics.BulletXPlugin
//this._prim.Kinematic = value;
}
}
public override Axiom.Math.Quaternion Orientation
{
get
@ -507,7 +532,6 @@ namespace OpenSim.Region.Physics.BulletXPlugin
}
}
public override PhysicsVector Acceleration
{
get
@ -520,15 +544,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin
{
this._acceleration = accel;
}
public override void AddForce(PhysicsVector force)
{
}
public override void SetMomentum(PhysicsVector momentum)
{
}
}
}