mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
add AvatarJump to phsycis engines. This is just a push in Z direction, Still needs scaling so engines to match. This new scaling is needed so does not impact old push ones
This commit is contained in:
@@ -215,6 +215,8 @@ namespace OpenSim.Region.PhysicsModule.BasicPhysics
|
||||
{
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -228,6 +228,8 @@ namespace OpenSim.Region.PhysicsModule.BasicPhysics
|
||||
{
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -686,6 +686,12 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
set { _PIDTau = value; }
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ)
|
||||
{
|
||||
OMV.Vector3 addForce = new OMV.Vector3(0, 0, forceZ / PhysScene.m_fixedTimeStep);
|
||||
AddForce(false, addForce);
|
||||
}
|
||||
|
||||
public override void AddForce(OMV.Vector3 force, bool pushforce)
|
||||
{
|
||||
// Since this force is being applied in only one step, make this a force per second.
|
||||
|
||||
@@ -1202,6 +1202,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
|
||||
}
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(OMV.Vector3 force, bool pushforce) {
|
||||
// Per documentation, max force is limited.
|
||||
OMV.Vector3 addForce = Util.ClampV(force, BSParam.MaxAddForceMagnitude);
|
||||
|
||||
@@ -742,6 +742,13 @@ namespace OpenSim.Region.PhysicsModule.ODE
|
||||
set { _acceleration = value; }
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ)
|
||||
{
|
||||
m_pidControllerActive = false;
|
||||
m_taintForce += new Vector3(0, 0, forceZ / _parent_scene.ODE_STEPSIZE);
|
||||
_parent_scene.AddPhysicsActorTaint(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the force supplied to the Target Velocity
|
||||
/// The PID controller takes this target velocity and tries to make it a reality
|
||||
|
||||
@@ -2593,6 +2593,8 @@ Console.WriteLine(" JointCreateFixed");
|
||||
set { _acceleration = value; }
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
if (force.IsFinite())
|
||||
|
||||
@@ -252,6 +252,8 @@ namespace OpenSim.Region.PhysicsModule.POS
|
||||
{
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -202,6 +202,8 @@ namespace OpenSim.Region.PhysicsModule.POS
|
||||
set { }
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -448,6 +448,7 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
|
||||
public abstract float APIDDamping { set;}
|
||||
|
||||
public abstract void AddForce(Vector3 force, bool pushforce);
|
||||
public abstract void AvatarJump(float forceZ);
|
||||
public abstract void AddAngularForce(Vector3 force, bool pushforce);
|
||||
public abstract void SetMomentum(Vector3 momentum);
|
||||
public abstract void SubscribeEvents(int ms);
|
||||
@@ -663,6 +664,7 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
|
||||
public override void link(PhysicsActor obj) { }
|
||||
public override void delink() { }
|
||||
public override void LockAngularMotion(byte axislocks) { }
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
public override void AddForce(Vector3 force, bool pushforce) { }
|
||||
public override void AddAngularForce(Vector3 force, bool pushforce) { }
|
||||
|
||||
|
||||
@@ -806,9 +806,13 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
||||
//m_lastUpdateSent = false;
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ)
|
||||
{
|
||||
AddChange(changes.Force, new Vector3(0, 0, forceZ * m_sceneInverseTimeStep));
|
||||
}
|
||||
|
||||
public override void AddAngularForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void SetMomentum(Vector3 momentum)
|
||||
|
||||
@@ -933,6 +933,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
||||
m_acceleration = accel;
|
||||
}
|
||||
|
||||
public override void AvatarJump(float forceZ) { }
|
||||
|
||||
public override void AddForce(Vector3 force, bool pushforce)
|
||||
{
|
||||
if (force.IsFinite())
|
||||
|
||||
Reference in New Issue
Block a user