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.cs21
1 files changed, 12 insertions, 9 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 4e39eb4..8e0640b 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -27,8 +27,11 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Reflection;
30using System.Runtime.InteropServices; 31using System.Runtime.InteropServices;
32using System.Threading;
31using Axiom.Math; 33using Axiom.Math;
34using log4net;
32using Ode.NET; 35using Ode.NET;
33using OpenSim.Framework; 36using OpenSim.Framework;
34using OpenSim.Region.Physics.Manager; 37using OpenSim.Region.Physics.Manager;
@@ -37,7 +40,7 @@ namespace OpenSim.Region.Physics.OdePlugin
37{ 40{
38 public class OdePrim : PhysicsActor 41 public class OdePrim : PhysicsActor
39 { 42 {
40 private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 43 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
41 44
42 public PhysicsVector _position; 45 public PhysicsVector _position;
43 private PhysicsVector _velocity; 46 private PhysicsVector _velocity;
@@ -663,7 +666,7 @@ namespace OpenSim.Region.Physics.OdePlugin
663 // This sleeper is there to moderate how long it takes between 666 // This sleeper is there to moderate how long it takes between
664 // setting up the mesh and pre-processing it when we get rapid fire mesh requests on a single object 667 // setting up the mesh and pre-processing it when we get rapid fire mesh requests on a single object
665 668
666 System.Threading.Thread.Sleep(10); 669 Thread.Sleep(10);
667 670
668 //Kill Body so that mesh can re-make the geom 671 //Kill Body so that mesh can re-make the geom
669 if (IsPhysical && Body != (IntPtr) 0) 672 if (IsPhysical && Body != (IntPtr) 0)
@@ -692,7 +695,7 @@ namespace OpenSim.Region.Physics.OdePlugin
692 SetGeom(d.CreateTriMesh(m_targetSpace, _triMeshData, parent_scene.triCallback, null, null)); 695 SetGeom(d.CreateTriMesh(m_targetSpace, _triMeshData, parent_scene.triCallback, null, null));
693 } 696 }
694 } 697 }
695 catch (System.AccessViolationException) 698 catch (AccessViolationException)
696 { 699 {
697 700
698 m_log.Error("[PHYSICS]: MESH LOCKED"); 701 m_log.Error("[PHYSICS]: MESH LOCKED");
@@ -934,7 +937,7 @@ namespace OpenSim.Region.Physics.OdePlugin
934 { 937 {
935 SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2)); 938 SetGeom(d.CreateSphere(m_targetSpace, _size.X / 2));
936 } 939 }
937 catch (System.AccessViolationException) 940 catch (AccessViolationException)
938 { 941 {
939 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object"); 942 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object");
940 ode.dunlock(_parent_scene.world); 943 ode.dunlock(_parent_scene.world);
@@ -948,7 +951,7 @@ namespace OpenSim.Region.Physics.OdePlugin
948 { 951 {
949 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z)); 952 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
950 } 953 }
951 catch (System.AccessViolationException) 954 catch (AccessViolationException)
952 { 955 {
953 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object"); 956 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object");
954 ode.dunlock(_parent_scene.world); 957 ode.dunlock(_parent_scene.world);
@@ -963,7 +966,7 @@ namespace OpenSim.Region.Physics.OdePlugin
963 { 966 {
964 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z)); 967 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
965 } 968 }
966 catch (System.AccessViolationException) 969 catch (AccessViolationException)
967 { 970 {
968 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object"); 971 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object");
969 ode.dunlock(_parent_scene.world); 972 ode.dunlock(_parent_scene.world);
@@ -990,7 +993,7 @@ namespace OpenSim.Region.Physics.OdePlugin
990 { 993 {
991 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z)); 994 SetGeom(d.CreateBox(m_targetSpace, _size.X, _size.Y, _size.Z));
992 } 995 }
993 catch (System.AccessViolationException) 996 catch (AccessViolationException)
994 { 997 {
995 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object"); 998 m_log.Warn("[PHYSICS]: Unable to create physics proxy for object");
996 ode.dunlock(_parent_scene.world); 999 ode.dunlock(_parent_scene.world);
@@ -1135,7 +1138,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1135 1138
1136 // If the PID Controller isn't active then we set our force 1139 // If the PID Controller isn't active then we set our force
1137 // calculating base velocity to the current position 1140 // calculating base velocity to the current position
1138 if (System.Environment.OSVersion.Platform == PlatformID.Unix) 1141 if (Environment.OSVersion.Platform == PlatformID.Unix)
1139 { 1142 {
1140 PID_D = 3200.0f; 1143 PID_D = 3200.0f;
1141 //PID_P = 1400.0f; 1144 //PID_P = 1400.0f;
@@ -1670,7 +1673,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1670 { 1673 {
1671 1674
1672 1675
1673 System.Threading.Thread.Sleep(20); 1676 Thread.Sleep(20);
1674 if (IsPhysical) 1677 if (IsPhysical)
1675 { 1678 {
1676 if (Body != (IntPtr)0) 1679 if (Body != (IntPtr)0)