mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 17:05:55 +08:00
Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications.
This commit is contained in:
@@ -101,9 +101,14 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation)
|
||||
{
|
||||
return null;
|
||||
return this.AddPrimShape(primName, pbs, position, size, rotation, false);
|
||||
}
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation, bool isPhysical)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public override void Simulate(float timeStep)
|
||||
{
|
||||
@@ -186,6 +191,12 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
|
||||
_acceleration = new PhysicsVector();
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return flying; }
|
||||
|
||||
@@ -386,6 +386,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, AxiomQuaternion rotation)
|
||||
{
|
||||
return this.AddPrimShape(primName, pbs, position, size, rotation, false);
|
||||
}
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, AxiomQuaternion rotation, bool isPhysical)
|
||||
{
|
||||
PhysicsActor result;
|
||||
|
||||
@@ -651,10 +656,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin
|
||||
|
||||
public override PhysicsVector Position
|
||||
{
|
||||
get
|
||||
{
|
||||
return _position;
|
||||
}
|
||||
get { return _position; }
|
||||
set
|
||||
{
|
||||
lock (BulletXScene.BulletXLock)
|
||||
@@ -666,10 +668,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin
|
||||
}
|
||||
public override PhysicsVector Velocity
|
||||
{
|
||||
get
|
||||
{
|
||||
return _velocity;
|
||||
}
|
||||
get { return _velocity; }
|
||||
set
|
||||
{
|
||||
lock (BulletXScene.BulletXLock)
|
||||
@@ -689,31 +688,16 @@ namespace OpenSim.Region.Physics.BulletXPlugin
|
||||
}
|
||||
public override PhysicsVector Size
|
||||
{
|
||||
get
|
||||
{
|
||||
return _size;
|
||||
}
|
||||
set
|
||||
{
|
||||
lock (BulletXScene.BulletXLock)
|
||||
{
|
||||
_size = value;
|
||||
}
|
||||
}
|
||||
get { return _size; }
|
||||
set { lock (BulletXScene.BulletXLock) { _size = value; } }
|
||||
}
|
||||
public override PhysicsVector Acceleration
|
||||
{
|
||||
get
|
||||
{
|
||||
return _acceleration;
|
||||
}
|
||||
get { return _acceleration; }
|
||||
}
|
||||
public override AxiomQuaternion Orientation
|
||||
{
|
||||
get
|
||||
{
|
||||
return _orientation;
|
||||
}
|
||||
get { return _orientation; }
|
||||
set
|
||||
{
|
||||
lock (BulletXScene.BulletXLock)
|
||||
@@ -723,29 +707,29 @@ namespace OpenSim.Region.Physics.BulletXPlugin
|
||||
}
|
||||
}
|
||||
}
|
||||
public virtual float Mass
|
||||
{ get { return 0; } }
|
||||
public virtual float Mass
|
||||
{
|
||||
get { return 0; }
|
||||
}
|
||||
public RigidBody RigidBody
|
||||
{
|
||||
get
|
||||
{
|
||||
return rigidBody;
|
||||
}
|
||||
get { return rigidBody; }
|
||||
}
|
||||
public Vector3 RigidBodyPosition
|
||||
{
|
||||
get { return this.rigidBody.CenterOfMassPosition; }
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get
|
||||
{
|
||||
return flying;
|
||||
}
|
||||
set
|
||||
{
|
||||
flying = value;
|
||||
}
|
||||
get { return flying; }
|
||||
set { flying = value; }
|
||||
}
|
||||
public override bool IsColliding
|
||||
{
|
||||
|
||||
@@ -58,6 +58,8 @@ namespace OpenSim.Region.Physics.Manager
|
||||
|
||||
public abstract Quaternion Orientation { get; set; }
|
||||
|
||||
public abstract bool IsPhysical {get; set;}
|
||||
|
||||
public abstract bool Flying { get; set; }
|
||||
|
||||
public abstract bool IsColliding { get; set; }
|
||||
@@ -100,6 +102,12 @@ namespace OpenSim.Region.Physics.Manager
|
||||
get { return PhysicsVector.Zero; }
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return false; }
|
||||
|
||||
@@ -45,7 +45,9 @@ namespace OpenSim.Region.Physics.Manager
|
||||
public abstract void RemovePrim(PhysicsActor prim);
|
||||
|
||||
public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation);
|
||||
PhysicsVector size, Quaternion rotation); //To be removed
|
||||
public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation, bool isPhysical);
|
||||
|
||||
public abstract void Simulate(float timeStep);
|
||||
|
||||
@@ -82,9 +84,13 @@ namespace OpenSim.Region.Physics.Manager
|
||||
return PhysicsActor.Null;
|
||||
}
|
||||
*/
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation)
|
||||
PhysicsVector size, Quaternion rotation) //To be removed
|
||||
{
|
||||
return this.AddPrimShape(primName, pbs, position, size, rotation, false);
|
||||
}
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation, bool isPhysical)
|
||||
{
|
||||
MainLog.Instance.Verbose("NullPhysicsScene : AddPrim({0},{1})", position, size);
|
||||
return PhysicsActor.Null;
|
||||
|
||||
@@ -300,7 +300,12 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation)
|
||||
PhysicsVector size, Quaternion rotation) //To be removed
|
||||
{
|
||||
return this.AddPrimShape(primName, pbs, position, size, rotation, false);
|
||||
}
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation, bool isPhysical)
|
||||
{
|
||||
PhysicsActor result;
|
||||
|
||||
@@ -510,6 +515,12 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
parent_scene.actor_name_map[Shell] = (PhysicsActor)this;
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return flying; }
|
||||
@@ -758,6 +769,12 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||
prim_geom = d.CreateTriMesh(parent_scene.space, _triMeshData, parent_scene.triCallback, null, null);
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return false; //no flying prims for you
|
||||
|
||||
@@ -120,7 +120,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
|
||||
}
|
||||
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation)
|
||||
PhysicsVector size, Quaternion rotation) //To be removed
|
||||
{
|
||||
return this.AddPrimShape(primName, pbs, position, size, rotation, false);
|
||||
}
|
||||
public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position,
|
||||
PhysicsVector size, Quaternion rotation, bool isPhysical)
|
||||
{
|
||||
return AddPrim(position, size, rotation);
|
||||
}
|
||||
@@ -193,6 +198,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
|
||||
_character = character;
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return flying; }
|
||||
@@ -305,6 +316,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
|
||||
_prim = prim;
|
||||
}
|
||||
|
||||
public override bool IsPhysical
|
||||
{
|
||||
get { return false; }
|
||||
set { return; }
|
||||
}
|
||||
|
||||
public override bool Flying
|
||||
{
|
||||
get { return false; //no flying prims for you
|
||||
|
||||
Reference in New Issue
Block a user