Plumb the connection through from llSetVehicleFloatParam

to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
0.6.0-stable
Charles Krinke 2008-09-28 18:36:30 +00:00
parent 95c3e0883c
commit 3397236c6c
10 changed files with 73 additions and 3 deletions

View File

@ -2337,6 +2337,14 @@ namespace OpenSim.Region.Environment.Scenes
}
}
public void SetVehicleFloatParam(float value)
{
if (PhysActor != null)
{
PhysActor.VehicleFloatParam = value;
}
}
public void SetGroup(UUID groupID, IClientAPI client)
{
_groupID = groupID;

View File

@ -335,6 +335,12 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -950,6 +950,12 @@ namespace OpenSim.Region.Physics.BulletXPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -174,6 +174,9 @@ namespace OpenSim.Region.Physics.Manager
public abstract PhysicsVector Position { get; set; }
public abstract float Mass { get; }
public abstract PhysicsVector Force { get; set; }
public abstract float VehicleFloatParam { get; set; }
public abstract PhysicsVector GeometricCenter { get; }
public abstract PhysicsVector CenterOfMass { get; }
public abstract PhysicsVector Velocity { get; set; }
@ -195,8 +198,6 @@ namespace OpenSim.Region.Physics.Manager
public abstract PhysicsVector PIDTarget { set;}
public abstract bool PIDActive { set;}
public abstract float PIDTau { set; }
public abstract void AddForce(PhysicsVector force, bool pushforce);
public abstract void SetMomentum(PhysicsVector momentum);
public abstract void SubscribeEvents(int ms);
@ -278,6 +279,12 @@ namespace OpenSim.Region.Physics.Manager
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -537,6 +537,12 @@ namespace OpenSim.Region.Physics.OdePlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -1876,6 +1876,12 @@ namespace OpenSim.Region.Physics.OdePlugin
set { m_force = value; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -159,6 +159,12 @@ namespace OpenSim.Region.Physics.POSPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -121,6 +121,12 @@ namespace OpenSim.Region.Physics.POSPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -343,6 +343,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }
@ -673,6 +679,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin
set { return; }
}
public override float VehicleFloatParam
{
get { return 0f; }
set { return; }
}
public override PhysicsVector CenterOfMass
{
get { return PhysicsVector.Zero; }

View File

@ -5171,7 +5171,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public void llSetVehicleFloatParam(int param, float value)
{
m_host.AddScriptLPS(1);
NotImplemented("llSetVehicleFloatParam");
if (m_host.ParentGroup != null)
{
if (m_host.ParentGroup.RootPart != null)
{
m_host.ParentGroup.RootPart.SetVehicleFloatParam(value);
}
}
}
public void llSetVehicleVectorParam(int param, LSL_Vector vec)