aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs3
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs1
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPrim.cs1
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs6
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs7
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs14
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs10
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs11
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSCharacter.cs7
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPrim.cs1
11 files changed, 46 insertions, 21 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 167485e..b2b0002 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1921,12 +1921,11 @@ namespace OpenSim.Region.Framework.Scenes
1921 { 1921 {
1922 PhysicsActor pa = RootPart.PhysActor; 1922 PhysicsActor pa = RootPart.PhysActor;
1923 1923
1924 if (pa != null) 1924 if (pa != null && pa.PIDActive)
1925 { 1925 {
1926 pa.PIDActive = false; 1926 pa.PIDActive = false;
1927 1927
1928 ScheduleGroupForTerseUpdate(); 1928 ScheduleGroupForTerseUpdate();
1929 //ParentGroup.ScheduleGroupForFullUpdate();
1930 } 1929 }
1931 } 1930 }
1932 } 1931 }
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
index c1a37cc..43fba7b 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs
@@ -238,6 +238,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
238 238
239 public override bool PIDActive 239 public override bool PIDActive
240 { 240 {
241 get { return false; }
241 set { return; } 242 set { return; }
242 } 243 }
243 244
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPrim.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPrim.cs
index 47d7df3..dfe4c19 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPrim.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPrim.cs
@@ -251,6 +251,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
251 251
252 public override bool PIDActive 252 public override bool PIDActive
253 { 253 {
254 get { return false; }
254 set { return; } 255 set { return; }
255 } 256 }
256 257
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
index 9b56fb4..a303972 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
@@ -614,9 +614,9 @@ public sealed class BSCharacter : BSPhysObject
614 public override OMV.Vector3 PIDTarget { 614 public override OMV.Vector3 PIDTarget {
615 set { _PIDTarget = value; } 615 set { _PIDTarget = value; }
616 } 616 }
617 public override bool PIDActive { 617
618 set { _usePID = value; } 618 public override bool PIDActive { get; set; }
619 } 619
620 public override float PIDTau { 620 public override float PIDTau {
621 set { _PIDTau = value; } 621 set { _PIDTau = value; }
622 } 622 }
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
index 75ffeb4..f059322 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs
@@ -246,7 +246,12 @@ public abstract class BSPhysObject : PhysicsActor
246 246
247 public virtual bool ForceBodyShapeRebuild(bool inTaintTime) { return false; } 247 public virtual bool ForceBodyShapeRebuild(bool inTaintTime) { return false; }
248 248
249 public override bool PIDActive { set { MoveToTargetActive = value; } } 249 public override bool PIDActive
250 {
251 get { return MoveToTargetActive; }
252 set { MoveToTargetActive = value; }
253 }
254
250 public override OMV.Vector3 PIDTarget { set { MoveToTargetTarget = value; } } 255 public override OMV.Vector3 PIDTarget { set { MoveToTargetTarget = value; } }
251 public override float PIDTau { set { MoveToTargetTau = value; } } 256 public override float PIDTau { set { MoveToTargetTau = value; } }
252 257
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
index edec949..27ee5ac 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
@@ -1087,9 +1087,17 @@ public class BSPrim : BSPhysObject
1087 } 1087 }
1088 } 1088 }
1089 1089
1090 public override bool PIDActive { 1090 public override bool PIDActive
1091 set { 1091 {
1092 base.MoveToTargetActive = value; 1092 get
1093 {
1094 return MoveToTargetActive;
1095 }
1096
1097 set
1098 {
1099 MoveToTargetActive = value;
1100
1093 EnableActor(MoveToTargetActive, MoveToTargetActorName, delegate() 1101 EnableActor(MoveToTargetActive, MoveToTargetActorName, delegate()
1094 { 1102 {
1095 return new BSActorMoveToTarget(PhysScene, this, MoveToTargetActorName); 1103 return new BSActorMoveToTarget(PhysScene, this, MoveToTargetActorName);
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 1750853..6bc6e23 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -291,7 +291,7 @@ namespace OpenSim.Region.Physics.Manager
291 291
292 // Used for MoveTo 292 // Used for MoveTo
293 public abstract Vector3 PIDTarget { set; } 293 public abstract Vector3 PIDTarget { set; }
294 public abstract bool PIDActive { set;} 294 public abstract bool PIDActive { get; set; }
295 public abstract float PIDTau { set; } 295 public abstract float PIDTau { set; }
296 296
297 // Used for llSetHoverHeight and maybe vehicle height 297 // Used for llSetHoverHeight and maybe vehicle height
@@ -545,7 +545,13 @@ namespace OpenSim.Region.Physics.Manager
545 } 545 }
546 546
547 public override Vector3 PIDTarget { set { return; } } 547 public override Vector3 PIDTarget { set { return; } }
548 public override bool PIDActive { set { return; } } 548
549 public override bool PIDActive
550 {
551 get { return false; }
552 set { return; }
553 }
554
549 public override float PIDTau { set { return; } } 555 public override float PIDTau { set { return; } }
550 556
551 public override float PIDHoverHeight { set { return; } } 557 public override float PIDHoverHeight { set { return; } }
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 8f37b79..67503df 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -1245,7 +1245,11 @@ namespace OpenSim.Region.Physics.OdePlugin
1245 } 1245 }
1246 1246
1247 public override Vector3 PIDTarget { set { return; } } 1247 public override Vector3 PIDTarget { set { return; } }
1248 public override bool PIDActive { set { return; } } 1248 public override bool PIDActive
1249 {
1250 get { return false; }
1251 set { return; }
1252 }
1249 public override float PIDTau { set { return; } } 1253 public override float PIDTau { set { return; } }
1250 1254
1251 public override float PIDHoverHeight { set { return; } } 1255 public override float PIDHoverHeight { set { return; } }
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 13c69d6..e347fdc 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -114,7 +114,6 @@ namespace OpenSim.Region.Physics.OdePlugin
114 private float m_PIDTau; 114 private float m_PIDTau;
115 private float PID_D = 35f; 115 private float PID_D = 35f;
116 private float PID_G = 25f; 116 private float PID_G = 25f;
117 private bool m_usePID;
118 117
119 // KF: These next 7 params apply to llSetHoverHeight(float height, integer water, float tau), 118 // KF: These next 7 params apply to llSetHoverHeight(float height, integer water, float tau),
120 // and are for non-VEHICLES only. 119 // and are for non-VEHICLES only.
@@ -1723,7 +1722,7 @@ Console.WriteLine(" JointCreateFixed");
1723 // gravityz multiplier = 1 - m_buoyancy 1722 // gravityz multiplier = 1 - m_buoyancy
1724 fz = _parent_scene.gravityz * (1.0f - m_buoyancy) * m_mass; 1723 fz = _parent_scene.gravityz * (1.0f - m_buoyancy) * m_mass;
1725 1724
1726 if (m_usePID) 1725 if (PIDActive)
1727 { 1726 {
1728//Console.WriteLine("PID " + Name); 1727//Console.WriteLine("PID " + Name);
1729 // KF - this is for object move? eg. llSetPos() ? 1728 // KF - this is for object move? eg. llSetPos() ?
@@ -1792,10 +1791,10 @@ Console.WriteLine(" JointCreateFixed");
1792 1791
1793 fz = fz + ((_target_velocity.Z - vel.Z) * (PID_D) * m_mass); 1792 fz = fz + ((_target_velocity.Z - vel.Z) * (PID_D) * m_mass);
1794 } 1793 }
1795 } // end if (m_usePID) 1794 } // end if (PIDActive)
1796 1795
1797 // Hover PID Controller needs to be mutually exlusive to MoveTo PID controller 1796 // Hover PID Controller needs to be mutually exlusive to MoveTo PID controller
1798 if (m_useHoverPID && !m_usePID) 1797 if (m_useHoverPID && !PIDActive)
1799 { 1798 {
1800//Console.WriteLine("Hover " + Name); 1799//Console.WriteLine("Hover " + Name);
1801 1800
@@ -2866,7 +2865,7 @@ Console.WriteLine(" JointCreateFixed");
2866 // it does make sense to do this for tiny little instabilities with physical prim, however 0.5m/frame is fairly large. 2865 // it does make sense to do this for tiny little instabilities with physical prim, however 0.5m/frame is fairly large.
2867 // reducing this to 0.02m/frame seems to help the angular rubberbanding quite a bit, however, to make sure it doesn't affect elevators and vehicles 2866 // reducing this to 0.02m/frame seems to help the angular rubberbanding quite a bit, however, to make sure it doesn't affect elevators and vehicles
2868 // adding these logical exclusion situations to maintain this where I think it was intended to be. 2867 // adding these logical exclusion situations to maintain this where I think it was intended to be.
2869 if (m_throttleUpdates || m_usePID || (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) || (Amotor != IntPtr.Zero)) 2868 if (m_throttleUpdates || PIDActive || (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) || (Amotor != IntPtr.Zero))
2870 { 2869 {
2871 m_minvelocity = 0.5f; 2870 m_minvelocity = 0.5f;
2872 } 2871 }
@@ -2947,7 +2946,7 @@ Console.WriteLine(" JointCreateFixed");
2947 m_log.WarnFormat("[PHYSICS]: Got NaN PIDTarget from Scene on Object {0}", Name); 2946 m_log.WarnFormat("[PHYSICS]: Got NaN PIDTarget from Scene on Object {0}", Name);
2948 } 2947 }
2949 } 2948 }
2950 public override bool PIDActive { set { m_usePID = value; } } 2949 public override bool PIDActive { get; set; }
2951 public override float PIDTau { set { m_PIDTau = value; } } 2950 public override float PIDTau { set { m_PIDTau = value; } }
2952 2951
2953 public override float PIDHoverHeight { set { m_PIDHoverHeight = value; ; } } 2952 public override float PIDHoverHeight { set { m_PIDHoverHeight = value; ; } }
diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
index ae534ea..40ab984 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs
@@ -273,9 +273,10 @@ namespace OpenSim.Region.Physics.POSPlugin
273 set { return; } 273 set { return; }
274 } 274 }
275 275
276 public override bool PIDActive 276 public override bool PIDActive
277 { 277 {
278 set { return; } 278 get { return false; }
279 set { return; }
279 } 280 }
280 281
281 public override float PIDTau 282 public override float PIDTau
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
index e4fd7eb..7c1e915 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs
@@ -270,6 +270,7 @@ namespace OpenSim.Region.Physics.POSPlugin
270 270
271 public override bool PIDActive 271 public override bool PIDActive
272 { 272 {
273 get { return false; }
273 set { return; } 274 set { return; }
274 } 275 }
275 276