aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin
diff options
context:
space:
mode:
authorJustin Clark-Casey2014-11-19 20:06:56 +0000
committerJustin Clark-Casey2014-11-19 20:06:56 +0000
commit7a2c77e7eace93d722ef37595e9fab21d3cd266f (patch)
treed8e8a4ca5c93654526efd6761995022038977125 /OpenSim/Region/Physics/BulletSPlugin
parentRemove SOP.StopMoveToTarget scheduled update which is now being done in SOG.s... (diff)
downloadopensim-SC-7a2c77e7eace93d722ef37595e9fab21d3cd266f.zip
opensim-SC-7a2c77e7eace93d722ef37595e9fab21d3cd266f.tar.gz
opensim-SC-7a2c77e7eace93d722ef37595e9fab21d3cd266f.tar.bz2
opensim-SC-7a2c77e7eace93d722ef37595e9fab21d3cd266f.tar.xz
If calling llStopMoveToTarget() on an in-world prim, don't send an unnecessary object update if the prim was not moving to target.
This involves making PhysicsActor.PIDActive get as well as set. On physics components that don't implement this (all characters and some phys engines) we return false.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin')
-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
3 files changed, 20 insertions, 7 deletions
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);