diff options
author | Justin Clark-Casey | 2014-11-19 20:06:56 +0000 |
---|---|---|
committer | Justin Clark-Casey | 2014-11-19 20:06:56 +0000 |
commit | 7a2c77e7eace93d722ef37595e9fab21d3cd266f (patch) | |
tree | d8e8a4ca5c93654526efd6761995022038977125 /OpenSim/Region/Physics/BulletSPlugin | |
parent | Remove SOP.StopMoveToTarget scheduled update which is now being done in SOG.s... (diff) | |
download | opensim-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.cs | 6 | ||||
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 14 |
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); |