aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRobert Adams2013-07-07 05:47:41 -0700
committerRobert Adams2013-07-07 05:47:41 -0700
commit6026759406f20cb89cbc62fcfc3af324c61c5ab0 (patch)
tree00870980b57748ec090521e42d8e0dc2c3122b29
parentBulletSim: rename position and orientation variables to remove the (diff)
downloadopensim-SC-6026759406f20cb89cbc62fcfc3af324c61c5ab0.zip
opensim-SC-6026759406f20cb89cbc62fcfc3af324c61c5ab0.tar.gz
opensim-SC-6026759406f20cb89cbc62fcfc3af324c61c5ab0.tar.bz2
opensim-SC-6026759406f20cb89cbc62fcfc3af324c61c5ab0.tar.xz
BulletSim: fix jumping up and down of linksets when center-of-mass
was enabled. Didn't effect the physical position but the viewer saw the linkset jumping between its simulator center and its physical center.
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs8
1 files changed, 2 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs
index 35d5a08..2eb1440 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs
@@ -23,11 +23,6 @@
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 * The quotations from http://wiki.secondlife.com/wiki/Linden_Vehicle_Tutorial
28 * are Copyright (c) 2009 Linden Research, Inc and are used under their license
29 * of Creative Commons Attribution-Share Alike 3.0
30 * (http://creativecommons.org/licenses/by-sa/3.0/).
31 */ 26 */
32 27
33using System; 28using System;
@@ -115,7 +110,7 @@ public class BSPrimDisplaced : BSPrim
115 public override Vector3 ForcePosition 110 public override Vector3 ForcePosition
116 { 111 {
117 get { 112 get {
118 OMV.Vector3 physPosition = base.ForcePosition; 113 OMV.Vector3 physPosition = PhysScene.PE.GetPosition(PhysBody);
119 if (PositionDisplacement != OMV.Vector3.Zero) 114 if (PositionDisplacement != OMV.Vector3.Zero)
120 { 115 {
121 // If there is some displacement, return the physical position (center-of-mass) 116 // If there is some displacement, return the physical position (center-of-mass)
@@ -125,6 +120,7 @@ public class BSPrimDisplaced : BSPrim
125 LocalID, physPosition, displacement, physPosition - displacement); 120 LocalID, physPosition, displacement, physPosition - displacement);
126 physPosition -= displacement; 121 physPosition -= displacement;
127 } 122 }
123 RawPosition = physPosition;
128 return physPosition; 124 return physPosition;
129 } 125 }
130 set 126 set