aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODEPrim.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs13
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 2bf96e4..c7e0848 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -2416,6 +2416,9 @@ Console.WriteLine(" JointCreateFixed");
2416 { 2416 {
2417 // Averate previous velocity with the new one so 2417 // Averate previous velocity with the new one so
2418 // client object interpolation works a 'little' better 2418 // client object interpolation works a 'little' better
2419 if (_zeroFlag)
2420 return Vector3.Zero;
2421
2419 Vector3 returnVelocity = Vector3.Zero; 2422 Vector3 returnVelocity = Vector3.Zero;
2420 returnVelocity.X = (m_lastVelocity.X + _velocity.X)/2; 2423 returnVelocity.X = (m_lastVelocity.X + _velocity.X)/2;
2421 returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y)/2; 2424 returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y)/2;
@@ -2702,7 +2705,7 @@ Console.WriteLine(" JointCreateFixed");
2702 //outofBounds = true; 2705 //outofBounds = true;
2703 } 2706 }
2704 2707
2705// float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation)); 2708 //float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation));
2706//Console.WriteLine("Adiff " + m_primName + " = " + Adiff); 2709//Console.WriteLine("Adiff " + m_primName + " = " + Adiff);
2707 if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02) 2710 if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02)
2708 && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02) 2711 && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02)
@@ -2718,6 +2721,8 @@ Console.WriteLine(" JointCreateFixed");
2718 { 2721 {
2719 //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString()); 2722 //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString());
2720 _zeroFlag = false; 2723 _zeroFlag = false;
2724 m_lastUpdateSent = false;
2725 //m_throttleUpdates = false;
2721 } 2726 }
2722 2727
2723 if (_zeroFlag) 2728 if (_zeroFlag)
@@ -2744,7 +2749,9 @@ Console.WriteLine(" JointCreateFixed");
2744 m_rotationalVelocity = pv; 2749 m_rotationalVelocity = pv;
2745 2750
2746 if (_parent == null) 2751 if (_parent == null)
2752 {
2747 base.RequestPhysicsterseUpdate(); 2753 base.RequestPhysicsterseUpdate();
2754 }
2748 2755
2749 m_lastUpdateSent = true; 2756 m_lastUpdateSent = true;
2750 } 2757 }
@@ -2754,7 +2761,9 @@ Console.WriteLine(" JointCreateFixed");
2754 if (lastZeroFlag != _zeroFlag) 2761 if (lastZeroFlag != _zeroFlag)
2755 { 2762 {
2756 if (_parent == null) 2763 if (_parent == null)
2764 {
2757 base.RequestPhysicsterseUpdate(); 2765 base.RequestPhysicsterseUpdate();
2766 }
2758 } 2767 }
2759 2768
2760 m_lastVelocity = _velocity; 2769 m_lastVelocity = _velocity;
@@ -2787,7 +2796,9 @@ Console.WriteLine(" JointCreateFixed");
2787 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate) 2796 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate)
2788 { 2797 {
2789 if (_parent == null) 2798 if (_parent == null)
2799 {
2790 base.RequestPhysicsterseUpdate(); 2800 base.RequestPhysicsterseUpdate();
2801 }
2791 } 2802 }
2792 else 2803 else
2793 { 2804 {