replace util.clip by utils.clamp (from libomv), and a few more cosmetics

This commit is contained in:
UbitUmarov
2022-03-18 02:20:40 +00:00
parent 811b2de565
commit 846d2df245
12 changed files with 63 additions and 62 deletions

View File

@@ -1756,8 +1756,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_LINEAR_X:
this.LockedLinearAxis.X = LockedAxis;
this.LockedLinearAxisLow.X = Util.Clip(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.X = Util.Clip(high, -linearMax, linearMax);
this.LockedLinearAxisLow.X = OMV.Utils.Clamp(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.X = OMV.Utils.Clamp(high, -linearMax, linearMax);
break;
case ExtendedPhysics.PHYS_AXIS_LOCK_LINEAR_Y:
this.LockedLinearAxis.Y = LockedAxis;
@@ -1766,8 +1766,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_LINEAR_Y:
this.LockedLinearAxis.Y = LockedAxis;
this.LockedLinearAxisLow.Y = Util.Clip(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.Y = Util.Clip(high, -linearMax, linearMax);
this.LockedLinearAxisLow.Y = OMV.Utils.Clamp(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.Y = OMV.Utils.Clamp(high, -linearMax, linearMax);
break;
case ExtendedPhysics.PHYS_AXIS_LOCK_LINEAR_Z:
this.LockedLinearAxis.Z = LockedAxis;
@@ -1776,8 +1776,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_LINEAR_Z:
this.LockedLinearAxis.Z = LockedAxis;
this.LockedLinearAxisLow.Z = Util.Clip(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.Z = Util.Clip(high, -linearMax, linearMax);
this.LockedLinearAxisLow.Z = OMV.Utils.Clamp(low, -linearMax, linearMax);
this.LockedLinearAxisHigh.Z = OMV.Utils.Clamp(high, -linearMax, linearMax);
break;
case ExtendedPhysics.PHYS_AXIS_LOCK_ANGULAR:
this.LockedAngularAxis = new OMV.Vector3(LockedAxis, LockedAxis, LockedAxis);
@@ -1791,8 +1791,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_ANGULAR_X:
this.LockedAngularAxis.X = LockedAxis;
this.LockedAngularAxisLow.X = Util.Clip(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.X = Util.Clip(high, -angularMax, angularMax);
this.LockedAngularAxisLow.X = OMV.Utils.Clamp(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.X = OMV.Utils.Clamp(high, -angularMax, angularMax);
break;
case ExtendedPhysics.PHYS_AXIS_LOCK_ANGULAR_Y:
this.LockedAngularAxis.Y = LockedAxis;
@@ -1801,8 +1801,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_ANGULAR_Y:
this.LockedAngularAxis.Y = LockedAxis;
this.LockedAngularAxisLow.Y = Util.Clip(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.Y = Util.Clip(high, -angularMax, angularMax);
this.LockedAngularAxisLow.Y = OMV.Utils.Clamp(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.Y = OMV.Utils.Clamp(high, -angularMax, angularMax);
break;
case ExtendedPhysics.PHYS_AXIS_LOCK_ANGULAR_Z:
this.LockedAngularAxis.Z = LockedAxis;
@@ -1811,8 +1811,8 @@ namespace OpenSim.Region.PhysicsModule.BulletS
break;
case ExtendedPhysics.PHYS_AXIS_LIMIT_ANGULAR_Z:
this.LockedAngularAxis.Z = LockedAxis;
this.LockedAngularAxisLow.Z = Util.Clip(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.Z = Util.Clip(high, -angularMax, angularMax);
this.LockedAngularAxisLow.Z = OMV.Utils.Clamp(low, -angularMax, angularMax);
this.LockedAngularAxisHigh.Z = OMV.Utils.Clamp(high, -angularMax, angularMax);
break;
case ExtendedPhysics.PHYS_AXIS_UNLOCK_LINEAR:
this.LockedLinearAxis = LockedAxisFree;

View File

@@ -2667,9 +2667,9 @@ Console.WriteLine(" JointCreateFixed");
SafeNativeMethods.AllocateODEDataForThread(0);
_position.X = Util.Clip(_position.X, 0.5f, _parent_scene.WorldExtents.X - 0.5f);
_position.Y = Util.Clip(_position.Y, 0.5f, _parent_scene.WorldExtents.Y - 0.5f);
_position.Z = Util.Clip(_position.Z + 0.2f, -100f, 50000f);
_position.X = Utils.Clamp(_position.X, 0.5f, _parent_scene.WorldExtents.X - 0.5f);
_position.Y = Utils.Clamp(_position.Y, 0.5f, _parent_scene.WorldExtents.Y - 0.5f);
_position.Z = Utils.Clamp(_position.Z + 0.2f, -100f, 50000f);
m_lastposition = _position;
_velocity.X = 0;

View File

@@ -1159,9 +1159,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde
m_bodydisablecontrol = 0;
SafeNativeMethods.Vector3 dtmp = SafeNativeMethods.BodyGetPosition(Body);
Vector3 localpos = new Vector3(dtmp.X,dtmp.Y,dtmp.Z);
// the Amotor still lets avatar rotation to drift during colisions
// so force it back to identity
@@ -1172,10 +1169,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
qtmp.Z = m_orientation2D.Z;
SafeNativeMethods.BodySetQuaternion(Body,ref qtmp);
if(m_pidControllerActive == false)
{
_zeroPosition = localpos;
}
SafeNativeMethods.Vector3 dtmp = SafeNativeMethods.BodyGetPosition(Body);
Vector3 localpos = new Vector3(dtmp.X, dtmp.Y, dtmp.Z);
// check outbounds forcing to be in world
bool fixbody = false;
@@ -1220,6 +1215,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde
localpos.Z = 128f;
}
if (m_pidControllerActive == false)
{
_zeroPosition = localpos;
}
if (fixbody)
{
m_freemove = false;

View File

@@ -972,9 +972,9 @@ namespace OpenSim.Region.PhysicsModule.ubOde
{
if (m_outbounds)
{
_position.X = Util.Clip(_position.X, 0.5f, _parent_scene.WorldExtents.X - 0.5f);
_position.Y = Util.Clip(_position.Y, 0.5f, _parent_scene.WorldExtents.Y - 0.5f);
_position.Z = Util.Clip(_position.Z + 0.2f, Constants.MinSimulationHeight, Constants.MaxSimulationHeight);
_position.X = Utils.Clamp(_position.X, 0.5f, _parent_scene.WorldExtents.X - 0.5f);
_position.Y = Utils.Clamp(_position.Y, 0.5f, _parent_scene.WorldExtents.Y - 0.5f);
_position.Z = Utils.Clamp(_position.Z + 0.2f, Constants.MinSimulationHeight, Constants.MaxSimulationHeight);
m_lastposition = _position;
_velocity.X = 0;
@@ -3815,7 +3815,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
{
m_outbounds = true;
lpos.Z = Util.Clip(lpos.Z, -100f, 100000f);
lpos.Z = Utils.Clamp(lpos.Z, -100f, 100000f);
m_acceleration.X = 0;
m_acceleration.Y = 0;
m_acceleration.Z = 0;
@@ -3845,22 +3845,22 @@ namespace OpenSim.Region.PhysicsModule.ubOde
if (lpos.X < 0f)
{
_position.X = Util.Clip(lpos.X, -2f, -0.1f);
_position.X = Utils.Clamp(lpos.X, -2f, -0.1f);
m_outbounds = true;
}
else if (lpos.X > _parent_scene.WorldExtents.X)
{
_position.X = Util.Clip(lpos.X, _parent_scene.WorldExtents.X + 0.1f, _parent_scene.WorldExtents.X + 2f);
_position.X = Utils.Clamp(lpos.X, _parent_scene.WorldExtents.X + 0.1f, _parent_scene.WorldExtents.X + 2f);
m_outbounds = true;
}
if (lpos.Y < 0f)
{
_position.Y = Util.Clip(lpos.Y, -2f, -0.1f);
_position.Y = Utils.Clamp(lpos.Y, -2f, -0.1f);
m_outbounds = true;
}
else if (lpos.Y > _parent_scene.WorldExtents.Y)
{
_position.Y = Util.Clip(lpos.Y, _parent_scene.WorldExtents.Y + 0.1f, _parent_scene.WorldExtents.Y + 2f);
_position.Y = Utils.Clamp(lpos.Y, _parent_scene.WorldExtents.Y + 0.1f, _parent_scene.WorldExtents.Y + 2f);
m_outbounds = true;
}