diff options
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs index fa32441..63bef7c 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs | |||
@@ -170,7 +170,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
170 | m_type = vd.m_type; | 170 | m_type = vd.m_type; |
171 | m_flags = vd.m_flags; | 171 | m_flags = vd.m_flags; |
172 | 172 | ||
173 | 173 | ||
174 | // Linear properties | 174 | // Linear properties |
175 | m_linearMotorDirection = vd.m_linearMotorDirection; | 175 | m_linearMotorDirection = vd.m_linearMotorDirection; |
176 | 176 | ||
@@ -761,8 +761,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
761 | roll = (float)Math.Atan2(minuszY, zZ); | 761 | roll = (float)Math.Atan2(minuszY, zZ); |
762 | } | 762 | } |
763 | return ; | 763 | return ; |
764 | } | 764 | } |
765 | 765 | ||
766 | internal void Step() | 766 | internal void Step() |
767 | { | 767 | { |
768 | IntPtr Body = rootPrim.Body; | 768 | IntPtr Body = rootPrim.Body; |
@@ -797,7 +797,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
797 | Vector3 curLocalAngVel = curAngVel * irotq; // current angular velocity in local | 797 | Vector3 curLocalAngVel = curAngVel * irotq; // current angular velocity in local |
798 | 798 | ||
799 | float ldampZ = 0; | 799 | float ldampZ = 0; |
800 | 800 | ||
801 | bool mousemode = false; | 801 | bool mousemode = false; |
802 | bool mousemodebank = false; | 802 | bool mousemodebank = false; |
803 | 803 | ||
@@ -852,7 +852,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
852 | m_lmEfect = 0; | 852 | m_lmEfect = 0; |
853 | m_ffactor = 1f; | 853 | m_ffactor = 1f; |
854 | } | 854 | } |
855 | 855 | ||
856 | // hover | 856 | // hover |
857 | if (m_VhoverTimescale < 300 && rootPrim.prim_geom != IntPtr.Zero) | 857 | if (m_VhoverTimescale < 300 && rootPrim.prim_geom != IntPtr.Zero) |
858 | { | 858 | { |
@@ -1001,7 +1001,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1001 | if (broll > halfpi) | 1001 | if (broll > halfpi) |
1002 | broll = pi - broll; | 1002 | broll = pi - broll; |
1003 | else if (broll < -halfpi) | 1003 | else if (broll < -halfpi) |
1004 | broll = -pi - broll; | 1004 | broll = -pi - broll; |
1005 | */ | 1005 | */ |
1006 | broll *= m_bankingEfficiency; | 1006 | broll *= m_bankingEfficiency; |
1007 | if (m_bankingMix != 0) | 1007 | if (m_bankingMix != 0) |
@@ -1054,7 +1054,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1054 | float invamts = 1.0f/m_angularMotorTimescale; | 1054 | float invamts = 1.0f/m_angularMotorTimescale; |
1055 | float tmp; | 1055 | float tmp; |
1056 | 1056 | ||
1057 | // get out of x == 0 plane | 1057 | // get out of x == 0 plane |
1058 | if(Math.Abs(dirv.X) < 0.001f) | 1058 | if(Math.Abs(dirv.X) < 0.001f) |
1059 | dirv.X = 0.001f; | 1059 | dirv.X = 0.001f; |
1060 | 1060 | ||
@@ -1068,7 +1068,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1068 | torque.Y += (tmp - curLocalAngVel.Y) * invamts; | 1068 | torque.Y += (tmp - curLocalAngVel.Y) * invamts; |
1069 | torque.Y -= curLocalAngVel.Y * m_amdampY; | 1069 | torque.Y -= curLocalAngVel.Y * m_amdampY; |
1070 | } | 1070 | } |
1071 | else | 1071 | else |
1072 | torque.Y -= curLocalAngVel.Y * m_invtimestep; | 1072 | torque.Y -= curLocalAngVel.Y * m_invtimestep; |
1073 | 1073 | ||
1074 | if (Math.Abs(dirv.Y) > 0.01) | 1074 | if (Math.Abs(dirv.Y) > 0.01) |
@@ -1099,7 +1099,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1099 | { | 1099 | { |
1100 | if(mousemodebank) | 1100 | if(mousemodebank) |
1101 | torque.X -= curLocalAngVel.X * m_invtimestep; | 1101 | torque.X -= curLocalAngVel.X * m_invtimestep; |
1102 | else | 1102 | else |
1103 | torque.Z -= curLocalAngVel.Z * m_invtimestep; | 1103 | torque.Z -= curLocalAngVel.Z * m_invtimestep; |
1104 | } | 1104 | } |
1105 | } | 1105 | } |
@@ -1133,11 +1133,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1133 | if (m_angularDeflectionEfficiency > 0) | 1133 | if (m_angularDeflectionEfficiency > 0) |
1134 | { | 1134 | { |
1135 | Vector3 dirv; | 1135 | Vector3 dirv; |
1136 | 1136 | ||
1137 | if (curLocalVel.X > 0.01f) | 1137 | if (curLocalVel.X > 0.01f) |
1138 | dirv = curLocalVel; | 1138 | dirv = curLocalVel; |
1139 | else if (curLocalVel.X < -0.01f) | 1139 | else if (curLocalVel.X < -0.01f) |
1140 | // use oposite | 1140 | // use oposite |
1141 | dirv = -curLocalVel; | 1141 | dirv = -curLocalVel; |
1142 | else | 1142 | else |
1143 | { | 1143 | { |
@@ -1167,7 +1167,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
1167 | torque.Z -= curLocalAngVel.Z * m_amdampZ; | 1167 | torque.Z -= curLocalAngVel.Z * m_amdampZ; |
1168 | } | 1168 | } |
1169 | } | 1169 | } |
1170 | 1170 | ||
1171 | force *= dmass.mass; | 1171 | force *= dmass.mass; |
1172 | 1172 | ||
1173 | force += rootPrim.m_force; | 1173 | force += rootPrim.m_force; |