aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs3
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsScene.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs74
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs150
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODETestClass.cs6
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePhysicsJoint.cs2
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs200
7 files changed, 216 insertions, 225 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 94f3d85..0f75c46 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -213,9 +213,6 @@ namespace OpenSim.Region.Physics.Manager
213 public abstract void SubscribeEvents(int ms); 213 public abstract void SubscribeEvents(int ms);
214 public abstract void UnSubscribeEvents(); 214 public abstract void UnSubscribeEvents();
215 public abstract bool SubscribedEvents(); 215 public abstract bool SubscribedEvents();
216
217 public virtual void SetCollisionMesh(byte[] meshdata, string meshname, bool scalemesh) { }
218 public virtual void SetBoundsScaling(bool scalemesh) { }
219 } 216 }
220 217
221 public class NullPhysicsActor : PhysicsActor 218 public class NullPhysicsActor : PhysicsActor
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
index 3d0015f..2cf4d5a 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
@@ -152,12 +152,6 @@ namespace OpenSim.Region.Physics.Manager
152 152
153 public abstract bool IsThreaded { get; } 153 public abstract bool IsThreaded { get; }
154 154
155 public virtual uint Raycast(PhysicsVector pos, PhysicsVector dir, float rayLength, uint ignoreId)
156 { return 0; }
157
158 public virtual void SetMaxFlightHeight(float maxheight) { }
159
160
161 private class NullPhysicsScene : PhysicsScene 155 private class NullPhysicsScene : PhysicsScene
162 { 156 {
163 private static int m_workIndicator; 157 private static int m_workIndicator;
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 73b7612..2cdc988 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -57,73 +57,73 @@ namespace OpenSim.Region.Physics.OdePlugin
57 } 57 }
58 public class OdeCharacter : PhysicsActor 58 public class OdeCharacter : PhysicsActor
59 { 59 {
60 protected static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 60 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
61 61
62 protected PhysicsVector _position; 62 private PhysicsVector _position;
63 protected d.Vector3 _zeroPosition; 63 private d.Vector3 _zeroPosition;
64 // protected d.Matrix3 m_StandUpRotation; 64 // private d.Matrix3 m_StandUpRotation;
65 protected bool _zeroFlag = false; 65 private bool _zeroFlag = false;
66 protected bool m_lastUpdateSent = false; 66 private bool m_lastUpdateSent = false;
67 protected PhysicsVector _velocity; 67 private PhysicsVector _velocity;
68 protected PhysicsVector _target_velocity; 68 private PhysicsVector _target_velocity;
69 protected PhysicsVector _acceleration; 69 private PhysicsVector _acceleration;
70 protected PhysicsVector m_rotationalVelocity; 70 private PhysicsVector m_rotationalVelocity;
71 protected float m_mass = 80f; 71 private float m_mass = 80f;
72 public float m_density = 60f; 72 public float m_density = 60f;
73 protected bool m_pidControllerActive = true; 73 private bool m_pidControllerActive = true;
74 public float PID_D = 800.0f; 74 public float PID_D = 800.0f;
75 public float PID_P = 900.0f; 75 public float PID_P = 900.0f;
76 //protected static float POSTURE_SERVO = 10000.0f; 76 //private static float POSTURE_SERVO = 10000.0f;
77 public float CAPSULE_RADIUS = 0.37f; 77 public float CAPSULE_RADIUS = 0.37f;
78 public float CAPSULE_LENGTH = 2.140599f; 78 public float CAPSULE_LENGTH = 2.140599f;
79 public float m_tensor = 3800000f; 79 public float m_tensor = 3800000f;
80 public float heightFudgeFactor = 0.52f; 80 public float heightFudgeFactor = 0.52f;
81 public float walkDivisor = 1.3f; 81 public float walkDivisor = 1.3f;
82 public float runDivisor = 0.8f; 82 public float runDivisor = 0.8f;
83 protected bool flying = false; 83 private bool flying = false;
84 protected bool m_iscolliding = false; 84 private bool m_iscolliding = false;
85 protected bool m_iscollidingGround = false; 85 private bool m_iscollidingGround = false;
86 protected bool m_wascolliding = false; 86 private bool m_wascolliding = false;
87 protected bool m_wascollidingGround = false; 87 private bool m_wascollidingGround = false;
88 protected bool m_iscollidingObj = false; 88 private bool m_iscollidingObj = false;
89 protected bool m_alwaysRun = false; 89 private bool m_alwaysRun = false;
90 protected bool m_hackSentFall = false; 90 private bool m_hackSentFall = false;
91 protected bool m_hackSentFly = false; 91 private bool m_hackSentFly = false;
92 protected PhysicsVector m_taintPosition = new PhysicsVector(0, 0, 0); 92 private PhysicsVector m_taintPosition = new PhysicsVector(0, 0, 0);
93 public uint m_localID = 0; 93 public uint m_localID = 0;
94 public bool m_returnCollisions = false; 94 public bool m_returnCollisions = false;
95 // taints and their non-tainted counterparts 95 // taints and their non-tainted counterparts
96 public bool m_isPhysical = false; // the current physical status 96 public bool m_isPhysical = false; // the current physical status
97 public bool m_tainted_isPhysical = false; // set when the physical status is tainted (false=not existing in physics engine, true=existing) 97 public bool m_tainted_isPhysical = false; // set when the physical status is tainted (false=not existing in physics engine, true=existing)
98 protected float m_tainted_CAPSULE_LENGTH; // set when the capsule length changes. 98 private float m_tainted_CAPSULE_LENGTH; // set when the capsule length changes.
99 99
100 protected float m_buoyancy = 0f; 100 private float m_buoyancy = 0f;
101 101
102 // protected CollisionLocker ode; 102 // private CollisionLocker ode;
103 103
104 protected string m_name = String.Empty; 104 private string m_name = String.Empty;
105 105
106 protected bool[] m_colliderarr = new bool[11]; 106 private bool[] m_colliderarr = new bool[11];
107 protected bool[] m_colliderGroundarr = new bool[11]; 107 private bool[] m_colliderGroundarr = new bool[11];
108 108
109 // Default we're a Character 109 // Default we're a Character
110 protected CollisionCategories m_collisionCategories = (CollisionCategories.Character); 110 private CollisionCategories m_collisionCategories = (CollisionCategories.Character);
111 111
112 // Default, Collide with Other Geometries, spaces, bodies and characters. 112 // Default, Collide with Other Geometries, spaces, bodies and characters.
113 protected CollisionCategories m_collisionFlags = (CollisionCategories.Geom 113 private CollisionCategories m_collisionFlags = (CollisionCategories.Geom
114 | CollisionCategories.Space 114 | CollisionCategories.Space
115 | CollisionCategories.Body 115 | CollisionCategories.Body
116 | CollisionCategories.Character 116 | CollisionCategories.Character
117 | CollisionCategories.Land); 117 | CollisionCategories.Land);
118 public IntPtr Body = IntPtr.Zero; 118 public IntPtr Body = IntPtr.Zero;
119 protected OdeScene _parent_scene; 119 private OdeScene _parent_scene;
120 public IntPtr Shell = IntPtr.Zero; 120 public IntPtr Shell = IntPtr.Zero;
121 public IntPtr Amotor = IntPtr.Zero; 121 public IntPtr Amotor = IntPtr.Zero;
122 public d.Mass ShellMass; 122 public d.Mass ShellMass;
123 public bool collidelock = false; 123 public bool collidelock = false;
124 124
125 public int m_eventsubscription = 0; 125 public int m_eventsubscription = 0;
126 protected CollisionEventUpdate CollisionEventsThisFrame = new CollisionEventUpdate(); 126 private CollisionEventUpdate CollisionEventsThisFrame = new CollisionEventUpdate();
127 127
128 public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode, PhysicsVector size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor) 128 public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode, PhysicsVector size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor)
129 { 129 {
@@ -421,7 +421,7 @@ namespace OpenSim.Region.Physics.OdePlugin
421 // WARNING: This MUST NOT be called outside of ProcessTaints, else we can have unsynchronized access 421 // WARNING: This MUST NOT be called outside of ProcessTaints, else we can have unsynchronized access
422 // to ODE internals. ProcessTaints is called from within thread-locked Simulate(), so it is the only 422 // to ODE internals. ProcessTaints is called from within thread-locked Simulate(), so it is the only
423 // place that is safe to call this routine AvatarGeomAndBodyCreation. 423 // place that is safe to call this routine AvatarGeomAndBodyCreation.
424 protected void AvatarGeomAndBodyCreation(float npositionX, float npositionY, float npositionZ, float tensor) 424 private void AvatarGeomAndBodyCreation(float npositionX, float npositionY, float npositionZ, float tensor)
425 { 425 {
426 //CAPSULE_LENGTH = -5; 426 //CAPSULE_LENGTH = -5;
427 //CAPSULE_RADIUS = -5; 427 //CAPSULE_RADIUS = -5;
@@ -535,7 +535,7 @@ namespace OpenSim.Region.Physics.OdePlugin
535// This code is very useful. Written by DanX0r. We're just not using it right now. 535// This code is very useful. Written by DanX0r. We're just not using it right now.
536// Commented out to prevent a warning. 536// Commented out to prevent a warning.
537// 537//
538// protected void standupStraight() 538// private void standupStraight()
539// { 539// {
540// // The purpose of this routine here is to quickly stabilize the Body while it's popped up in the air. 540// // The purpose of this routine here is to quickly stabilize the Body while it's popped up in the air.
541// // The amotor needs a few seconds to stabilize so without it, the avatar shoots up sky high when you 541// // The amotor needs a few seconds to stabilize so without it, the avatar shoots up sky high when you
@@ -714,7 +714,7 @@ namespace OpenSim.Region.Physics.OdePlugin
714 /// This is the avatar's movement control + PID Controller 714 /// This is the avatar's movement control + PID Controller
715 /// </summary> 715 /// </summary>
716 /// <param name="timeStep"></param> 716 /// <param name="timeStep"></param>
717 public virtual void Move(float timeStep) 717 public void Move(float timeStep)
718 { 718 {
719 // no lock; for now it's only called from within Simulate() 719 // no lock; for now it's only called from within Simulate()
720 720
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index 54edbdc..bfb9b1a 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -43,54 +43,54 @@ namespace OpenSim.Region.Physics.OdePlugin
43 43
44 public class OdePrim : PhysicsActor 44 public class OdePrim : PhysicsActor
45 { 45 {
46 protected static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 47
48 protected PhysicsVector _position; 48 private PhysicsVector _position;
49 protected PhysicsVector _velocity; 49 private PhysicsVector _velocity;
50 protected PhysicsVector _torque = new PhysicsVector(0,0,0); 50 private PhysicsVector _torque = new PhysicsVector(0,0,0);
51 protected PhysicsVector m_lastVelocity = new PhysicsVector(0.0f, 0.0f, 0.0f); 51 private PhysicsVector m_lastVelocity = new PhysicsVector(0.0f, 0.0f, 0.0f);
52 protected PhysicsVector m_lastposition = new PhysicsVector(0.0f, 0.0f, 0.0f); 52 private PhysicsVector m_lastposition = new PhysicsVector(0.0f, 0.0f, 0.0f);
53 protected Quaternion m_lastorientation = new Quaternion(); 53 private Quaternion m_lastorientation = new Quaternion();
54 protected PhysicsVector m_rotationalVelocity; 54 private PhysicsVector m_rotationalVelocity;
55 protected PhysicsVector _size; 55 private PhysicsVector _size;
56 protected PhysicsVector _acceleration; 56 private PhysicsVector _acceleration;
57 // protected d.Vector3 _zeroPosition = new d.Vector3(0.0f, 0.0f, 0.0f); 57 // private d.Vector3 _zeroPosition = new d.Vector3(0.0f, 0.0f, 0.0f);
58 protected Quaternion _orientation; 58 private Quaternion _orientation;
59 protected PhysicsVector m_taintposition; 59 private PhysicsVector m_taintposition;
60 protected PhysicsVector m_taintsize; 60 private PhysicsVector m_taintsize;
61 protected PhysicsVector m_taintVelocity = new PhysicsVector(0, 0, 0); 61 private PhysicsVector m_taintVelocity = new PhysicsVector(0, 0, 0);
62 protected PhysicsVector m_taintTorque = new PhysicsVector(0, 0, 0); 62 private PhysicsVector m_taintTorque = new PhysicsVector(0, 0, 0);
63 protected Quaternion m_taintrot; 63 private Quaternion m_taintrot;
64 protected PhysicsVector m_angularlock = new PhysicsVector(1f, 1f, 1f); 64 private PhysicsVector m_angularlock = new PhysicsVector(1f, 1f, 1f);
65 protected PhysicsVector m_taintAngularLock = new PhysicsVector(1f, 1f, 1f); 65 private PhysicsVector m_taintAngularLock = new PhysicsVector(1f, 1f, 1f);
66 protected IntPtr Amotor = IntPtr.Zero; 66 private IntPtr Amotor = IntPtr.Zero;
67 67
68 protected PhysicsVector m_PIDTarget = new PhysicsVector(0, 0, 0); 68 private PhysicsVector m_PIDTarget = new PhysicsVector(0, 0, 0);
69 protected float m_PIDTau = 0f; 69 private float m_PIDTau = 0f;
70 protected float PID_D = 35f; 70 private float PID_D = 35f;
71 protected float PID_G = 25f; 71 private float PID_G = 25f;
72 protected float m_tensor = 5f; 72 private float m_tensor = 5f;
73 protected int body_autodisable_frames = 20; 73 private int body_autodisable_frames = 20;
74 protected IMesh primMesh = null; 74 private IMesh primMesh = null;
75 75
76 protected bool m_usePID = false; 76 private bool m_usePID = false;
77 77
78 protected const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom 78 private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom
79 | CollisionCategories.Space 79 | CollisionCategories.Space
80 | CollisionCategories.Body 80 | CollisionCategories.Body
81 | CollisionCategories.Character 81 | CollisionCategories.Character
82 ); 82 );
83 protected bool m_taintshape = false; 83 private bool m_taintshape = false;
84 protected bool m_taintPhysics = false; 84 private bool m_taintPhysics = false;
85 protected bool m_collidesLand = true; 85 private bool m_collidesLand = true;
86 protected bool m_collidesWater = false; 86 private bool m_collidesWater = false;
87 public bool m_returnCollisions = false; 87 public bool m_returnCollisions = false;
88 88
89 // Default we're a Geometry 89 // Default we're a Geometry
90 protected CollisionCategories m_collisionCategories = (CollisionCategories.Geom); 90 private CollisionCategories m_collisionCategories = (CollisionCategories.Geom);
91 91
92 // Default, Collide with Other Geometries, spaces and Bodies 92 // Default, Collide with Other Geometries, spaces and Bodies
93 protected CollisionCategories m_collisionFlags = m_default_collisionFlags; 93 private CollisionCategories m_collisionFlags = m_default_collisionFlags;
94 94
95 public bool m_taintremove = false; 95 public bool m_taintremove = false;
96 public bool m_taintdisable = false; 96 public bool m_taintdisable = false;
@@ -102,58 +102,58 @@ namespace OpenSim.Region.Physics.OdePlugin
102 public uint m_localID = 0; 102 public uint m_localID = 0;
103 103
104 //public GCHandle gc; 104 //public GCHandle gc;
105 protected CollisionLocker ode; 105 private CollisionLocker ode;
106 106
107 protected bool m_taintforce = false; 107 private bool m_taintforce = false;
108 protected bool m_taintaddangularforce = false; 108 private bool m_taintaddangularforce = false;
109 protected PhysicsVector m_force = new PhysicsVector(0.0f, 0.0f, 0.0f); 109 private PhysicsVector m_force = new PhysicsVector(0.0f, 0.0f, 0.0f);
110 protected List<PhysicsVector> m_forcelist = new List<PhysicsVector>(); 110 private List<PhysicsVector> m_forcelist = new List<PhysicsVector>();
111 protected List<PhysicsVector> m_angularforcelist = new List<PhysicsVector>(); 111 private List<PhysicsVector> m_angularforcelist = new List<PhysicsVector>();
112 112
113 protected IMesh _mesh; 113 private IMesh _mesh;
114 protected PrimitiveBaseShape _pbs; 114 private PrimitiveBaseShape _pbs;
115 protected OdeScene _parent_scene; 115 private OdeScene _parent_scene;
116 public IntPtr m_targetSpace = (IntPtr) 0; 116 public IntPtr m_targetSpace = (IntPtr) 0;
117 public IntPtr prim_geom; 117 public IntPtr prim_geom;
118 public IntPtr prev_geom; 118 public IntPtr prev_geom;
119 public IntPtr _triMeshData; 119 public IntPtr _triMeshData;
120 120
121 protected IntPtr _linkJointGroup = (IntPtr)0; 121 private IntPtr _linkJointGroup = (IntPtr)0;
122 protected PhysicsActor _parent = null; 122 private PhysicsActor _parent = null;
123 protected PhysicsActor m_taintparent = null; 123 private PhysicsActor m_taintparent = null;
124 124
125 protected List<OdePrim> childrenPrim = new List<OdePrim>(); 125 private List<OdePrim> childrenPrim = new List<OdePrim>();
126 126
127 protected bool iscolliding = false; 127 private bool iscolliding = false;
128 protected bool m_isphysical = false; 128 private bool m_isphysical = false;
129 protected bool m_isSelected = false; 129 private bool m_isSelected = false;
130 130
131 public bool m_isVolumeDetect = false; // If true, this prim only detects collisions but doesn't collide actively 131 internal bool m_isVolumeDetect = false; // If true, this prim only detects collisions but doesn't collide actively
132 132
133 protected bool m_throttleUpdates = false; 133 private bool m_throttleUpdates = false;
134 protected int throttleCounter = 0; 134 private int throttleCounter = 0;
135 public int m_interpenetrationcount = 0; 135 public int m_interpenetrationcount = 0;
136 public float m_collisionscore = 0; 136 public float m_collisionscore = 0;
137 public int m_roundsUnderMotionThreshold = 0; 137 public int m_roundsUnderMotionThreshold = 0;
138 protected int m_crossingfailures = 0; 138 private int m_crossingfailures = 0;
139 139
140 public float m_buoyancy = 0f; 140 public float m_buoyancy = 0f;
141 141
142 public bool outofBounds = false; 142 public bool outofBounds = false;
143 protected float m_density = 10.000006836f; // Aluminum g/cm3; 143 private float m_density = 10.000006836f; // Aluminum g/cm3;
144 144
145 public bool _zeroFlag = false; 145 public bool _zeroFlag = false;
146 protected bool m_lastUpdateSent = false; 146 private bool m_lastUpdateSent = false;
147 147
148 public IntPtr Body = (IntPtr) 0; 148 public IntPtr Body = (IntPtr) 0;
149 protected String m_primName; 149 private String m_primName;
150 protected PhysicsVector _target_velocity; 150 private PhysicsVector _target_velocity;
151 public d.Mass pMass; 151 public d.Mass pMass;
152 152
153 public int m_eventsubscription = 0; 153 public int m_eventsubscription = 0;
154 protected CollisionEventUpdate CollisionEventsThisFrame = null; 154 private CollisionEventUpdate CollisionEventsThisFrame = null;
155 155
156 protected IntPtr m_linkJoint = (IntPtr)0; 156 private IntPtr m_linkJoint = (IntPtr)0;
157 157
158 public volatile bool childPrim = false; 158 public volatile bool childPrim = false;
159 159
@@ -338,7 +338,7 @@ namespace OpenSim.Region.Physics.OdePlugin
338 338
339 #region Mass Calculation 339 #region Mass Calculation
340 340
341 protected float CalculateMass() 341 private float CalculateMass()
342 { 342 {
343 float volume = 0; 343 float volume = 0;
344 344
@@ -815,7 +815,7 @@ namespace OpenSim.Region.Physics.OdePlugin
815 // } 815 // }
816 } 816 }
817 817
818 public virtual void ProcessTaints(float timestep) 818 public void ProcessTaints(float timestep)
819 { 819 {
820 if (m_taintadd) 820 if (m_taintadd)
821 { 821 {
@@ -875,7 +875,7 @@ namespace OpenSim.Region.Physics.OdePlugin
875 } 875 }
876 } 876 }
877 877
878 protected void changeAngularLock(float timestep) 878 private void changeAngularLock(float timestep)
879 { 879 {
880 // do we have a Physical object? 880 // do we have a Physical object?
881 if (Body != IntPtr.Zero) 881 if (Body != IntPtr.Zero)
@@ -904,7 +904,7 @@ namespace OpenSim.Region.Physics.OdePlugin
904 m_angularlock = new PhysicsVector(m_taintAngularLock.X, m_taintAngularLock.Y, m_taintAngularLock.Z); 904 m_angularlock = new PhysicsVector(m_taintAngularLock.X, m_taintAngularLock.Y, m_taintAngularLock.Z);
905 } 905 }
906 906
907 protected void changelink(float timestep) 907 private void changelink(float timestep)
908 { 908 {
909 // If the newly set parent is not null 909 // If the newly set parent is not null
910 // create link 910 // create link
@@ -1095,7 +1095,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1095 1095
1096 } 1096 }
1097 1097
1098 public void ChildSetGeom(OdePrim odePrim) 1098 private void ChildSetGeom(OdePrim odePrim)
1099 { 1099 {
1100 //if (m_isphysical && Body != IntPtr.Zero) 1100 //if (m_isphysical && Body != IntPtr.Zero)
1101 lock (childrenPrim) 1101 lock (childrenPrim)
@@ -1129,7 +1129,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1129 1129
1130 } 1130 }
1131 1131
1132 protected void ChildDelink(OdePrim odePrim) 1132 private void ChildDelink(OdePrim odePrim)
1133 { 1133 {
1134 // Okay, we have a delinked child.. need to rebuild the body. 1134 // Okay, we have a delinked child.. need to rebuild the body.
1135 lock (childrenPrim) 1135 lock (childrenPrim)
@@ -1173,7 +1173,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1173 1173
1174 } 1174 }
1175 1175
1176 protected void changeSelectedStatus(float timestep) 1176 private void changeSelectedStatus(float timestep)
1177 { 1177 {
1178 if (m_taintselected) 1178 if (m_taintselected)
1179 { 1179 {
@@ -1603,7 +1603,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1603 m_taintrot = _orientation; 1603 m_taintrot = _orientation;
1604 } 1604 }
1605 1605
1606 protected void resetCollisionAccounting() 1606 private void resetCollisionAccounting()
1607 { 1607 {
1608 m_collisionscore = 0; 1608 m_collisionscore = 0;
1609 m_interpenetrationcount = 0; 1609 m_interpenetrationcount = 0;
@@ -2132,7 +2132,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2132 m_taintaddangularforce = false; 2132 m_taintaddangularforce = false;
2133 } 2133 }
2134 2134
2135 protected void changevelocity(float timestep) 2135 private void changevelocity(float timestep)
2136 { 2136 {
2137 if (!m_isSelected) 2137 if (!m_isSelected)
2138 { 2138 {
@@ -2622,7 +2622,7 @@ namespace OpenSim.Region.Physics.OdePlugin
2622 public override bool PIDActive { set { m_usePID = value; } } 2622 public override bool PIDActive { set { m_usePID = value; } }
2623 public override float PIDTau { set { m_PIDTau = value; } } 2623 public override float PIDTau { set { m_PIDTau = value; } }
2624 2624
2625 protected void createAMotor(PhysicsVector axis) 2625 private void createAMotor(PhysicsVector axis)
2626 { 2626 {
2627 if (Body == IntPtr.Zero) 2627 if (Body == IntPtr.Zero)
2628 return; 2628 return;
diff --git a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
index b955e4b..c913639 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
@@ -37,9 +37,9 @@ namespace OpenSim.Region.Physics.OdePlugin
37 [TestFixture] 37 [TestFixture]
38 public class ODETestClass 38 public class ODETestClass
39 { 39 {
40 protected OdePlugin cbt; 40 private OdePlugin cbt;
41 protected PhysicsScene ps; 41 private PhysicsScene ps;
42 protected IMeshingPlugin imp; 42 private IMeshingPlugin imp;
43 43
44 [SetUp] 44 [SetUp]
45 public void Initialize() 45 public void Initialize()
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePhysicsJoint.cs b/OpenSim/Region/Physics/OdePlugin/OdePhysicsJoint.cs
index b7b39a4..8180497 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePhysicsJoint.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePhysicsJoint.cs
@@ -34,7 +34,7 @@ using OpenSim.Region.Physics.OdePlugin;
34 34
35namespace OpenSim.Region.Physics.OdePlugin 35namespace OpenSim.Region.Physics.OdePlugin
36{ 36{
37 public class OdePhysicsJoint : PhysicsJoint 37 class OdePhysicsJoint : PhysicsJoint
38 { 38 {
39 public override bool IsInPhysicsEngine 39 public override bool IsInPhysicsEngine
40 { 40 {
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index bf9d5d8..9a4b1b0 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -52,10 +52,10 @@ namespace OpenSim.Region.Physics.OdePlugin
52 /// </summary> 52 /// </summary>
53 public class OdePlugin : IPhysicsPlugin 53 public class OdePlugin : IPhysicsPlugin
54 { 54 {
55 //protected static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 55 //private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
56 56
57 protected CollisionLocker ode; 57 private CollisionLocker ode;
58 protected OdeScene _mScene; 58 private OdeScene _mScene;
59 59
60 public OdePlugin() 60 public OdePlugin()
61 { 61 {
@@ -124,62 +124,62 @@ namespace OpenSim.Region.Physics.OdePlugin
124 124
125 public class OdeScene : PhysicsScene 125 public class OdeScene : PhysicsScene
126 { 126 {
127 protected ILog m_log; 127 private ILog m_log;
128 // protected Dictionary<string, sCollisionData> m_storedCollisions = new Dictionary<string, sCollisionData>(); 128 // private Dictionary<string, sCollisionData> m_storedCollisions = new Dictionary<string, sCollisionData>();
129 129
130 protected CollisionLocker ode; 130 CollisionLocker ode;
131 131
132 protected Random fluidRandomizer = new Random(Environment.TickCount); 132 protected Random fluidRandomizer = new Random(Environment.TickCount);
133 133
134 protected const uint m_regionWidth = Constants.RegionSize; 134 private const uint m_regionWidth = Constants.RegionSize;
135 protected const uint m_regionHeight = Constants.RegionSize; 135 private const uint m_regionHeight = Constants.RegionSize;
136 136
137 protected float ODE_STEPSIZE = 0.020f; 137 private float ODE_STEPSIZE = 0.020f;
138 protected float metersInSpace = 29.9f; 138 private float metersInSpace = 29.9f;
139 139
140 public float gravityx = 0f; 140 public float gravityx = 0f;
141 public float gravityy = 0f; 141 public float gravityy = 0f;
142 public float gravityz = -9.8f; 142 public float gravityz = -9.8f;
143 143
144 protected float contactsurfacelayer = 0.001f; 144 private float contactsurfacelayer = 0.001f;
145 145
146 protected int worldHashspaceLow = -4; 146 private int worldHashspaceLow = -4;
147 protected int worldHashspaceHigh = 128; 147 private int worldHashspaceHigh = 128;
148 148
149 protected int smallHashspaceLow = -4; 149 private int smallHashspaceLow = -4;
150 protected int smallHashspaceHigh = 66; 150 private int smallHashspaceHigh = 66;
151 151
152 protected float waterlevel = 0f; 152 private float waterlevel = 0f;
153 protected int framecount = 0; 153 private int framecount = 0;
154 //protected int m_returncollisions = 10; 154 //private int m_returncollisions = 10;
155 155
156 protected IntPtr contactgroup; 156 private IntPtr contactgroup;
157 protected IntPtr LandGeom; 157 private IntPtr LandGeom;
158 158
159 protected IntPtr WaterGeom; 159 private IntPtr WaterGeom;
160 160
161 protected float nmTerrainContactFriction = 255.0f; 161 private float nmTerrainContactFriction = 255.0f;
162 protected float nmTerrainContactBounce = 0.1f; 162 private float nmTerrainContactBounce = 0.1f;
163 protected float nmTerrainContactERP = 0.1025f; 163 private float nmTerrainContactERP = 0.1025f;
164 164
165 protected float mTerrainContactFriction = 75f; 165 private float mTerrainContactFriction = 75f;
166 protected float mTerrainContactBounce = 0.1f; 166 private float mTerrainContactBounce = 0.1f;
167 protected float mTerrainContactERP = 0.05025f; 167 private float mTerrainContactERP = 0.05025f;
168 168
169 protected float nmAvatarObjectContactFriction = 250f; 169 private float nmAvatarObjectContactFriction = 250f;
170 protected float nmAvatarObjectContactBounce = 0.1f; 170 private float nmAvatarObjectContactBounce = 0.1f;
171 171
172 protected float mAvatarObjectContactFriction = 75f; 172 private float mAvatarObjectContactFriction = 75f;
173 protected float mAvatarObjectContactBounce = 0.1f; 173 private float mAvatarObjectContactBounce = 0.1f;
174 174
175 protected float avPIDD = 3200f; 175 private float avPIDD = 3200f;
176 protected float avPIDP = 1400f; 176 private float avPIDP = 1400f;
177 protected float avCapRadius = 0.37f; 177 private float avCapRadius = 0.37f;
178 protected float avStandupTensor = 2000000f; 178 private float avStandupTensor = 2000000f;
179 protected float avDensity = 80f; 179 private float avDensity = 80f;
180 protected float avHeightFudgeFactor = 0.52f; 180 private float avHeightFudgeFactor = 0.52f;
181 protected float avMovementDivisorWalk = 1.3f; 181 private float avMovementDivisorWalk = 1.3f;
182 protected float avMovementDivisorRun = 0.8f; 182 private float avMovementDivisorRun = 0.8f;
183 183
184 public bool meshSculptedPrim = true; 184 public bool meshSculptedPrim = true;
185 185
@@ -200,66 +200,66 @@ namespace OpenSim.Region.Physics.OdePlugin
200 200
201 public int bodyFramesAutoDisable = 20; 201 public int bodyFramesAutoDisable = 20;
202 202
203 protected float[] _heightmap; 203 private float[] _heightmap;
204 204
205 protected float[] _watermap; 205 private float[] _watermap;
206 protected bool m_filterCollisions = true; 206 private bool m_filterCollisions = true;
207 207
208 // protected float[] _origheightmap; 208 // private float[] _origheightmap;
209 209
210 protected d.NearCallback nearCallback; 210 private d.NearCallback nearCallback;
211 public d.TriCallback triCallback; 211 public d.TriCallback triCallback;
212 public d.TriArrayCallback triArrayCallback; 212 public d.TriArrayCallback triArrayCallback;
213 protected List<OdeCharacter> _characters = new List<OdeCharacter>(); 213 private List<OdeCharacter> _characters = new List<OdeCharacter>();
214 protected List<OdePrim> _prims = new List<OdePrim>(); 214 private List<OdePrim> _prims = new List<OdePrim>();
215 protected List<OdePrim> _activeprims = new List<OdePrim>(); 215 private List<OdePrim> _activeprims = new List<OdePrim>();
216 protected List<OdePrim> _taintedPrim = new List<OdePrim>(); 216 private List<OdePrim> _taintedPrim = new List<OdePrim>();
217 protected List<OdeCharacter> _taintedActors = new List<OdeCharacter>(); 217 private List<OdeCharacter> _taintedActors = new List<OdeCharacter>();
218 protected List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>(); 218 private List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>();
219 protected List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>(); 219 private List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>();
220 public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>(); 220 public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>();
221 public Dictionary<IntPtr, PhysicsActor> actor_name_map = new Dictionary<IntPtr, PhysicsActor>(); 221 public Dictionary<IntPtr, PhysicsActor> actor_name_map = new Dictionary<IntPtr, PhysicsActor>();
222 protected bool m_NINJA_physics_joints_enabled = false; 222 private bool m_NINJA_physics_joints_enabled = false;
223 //protected Dictionary<String, IntPtr> jointpart_name_map = new Dictionary<String,IntPtr>(); 223 //private Dictionary<String, IntPtr> jointpart_name_map = new Dictionary<String,IntPtr>();
224 protected Dictionary<String, List<PhysicsJoint>> joints_connecting_actor = new Dictionary<String, List<PhysicsJoint>>(); 224 private Dictionary<String, List<PhysicsJoint>> joints_connecting_actor = new Dictionary<String, List<PhysicsJoint>>();
225 protected d.ContactGeom[] contacts = new d.ContactGeom[80]; 225 private d.ContactGeom[] contacts = new d.ContactGeom[80];
226 protected List<PhysicsJoint> requestedJointsToBeCreated = new List<PhysicsJoint>(); // lock only briefly. accessed by external code (to request new joints) and by OdeScene.Simulate() to move those joints into pending/active 226 private List<PhysicsJoint> requestedJointsToBeCreated = new List<PhysicsJoint>(); // lock only briefly. accessed by external code (to request new joints) and by OdeScene.Simulate() to move those joints into pending/active
227 protected List<PhysicsJoint> pendingJoints = new List<PhysicsJoint>(); // can lock for longer. accessed only by OdeScene. 227 private List<PhysicsJoint> pendingJoints = new List<PhysicsJoint>(); // can lock for longer. accessed only by OdeScene.
228 protected List<PhysicsJoint> activeJoints = new List<PhysicsJoint>(); // can lock for longer. accessed only by OdeScene. 228 private List<PhysicsJoint> activeJoints = new List<PhysicsJoint>(); // can lock for longer. accessed only by OdeScene.
229 protected List<string> requestedJointsToBeDeleted = new List<string>(); // lock only briefly. accessed by external code (to request deletion of joints) and by OdeScene.Simulate() to move those joints out of pending/active 229 private List<string> requestedJointsToBeDeleted = new List<string>(); // lock only briefly. accessed by external code (to request deletion of joints) and by OdeScene.Simulate() to move those joints out of pending/active
230 protected Object externalJointRequestsLock = new Object(); 230 private Object externalJointRequestsLock = new Object();
231 protected Dictionary<String, PhysicsJoint> SOPName_to_activeJoint = new Dictionary<String, PhysicsJoint>(); 231 private Dictionary<String, PhysicsJoint> SOPName_to_activeJoint = new Dictionary<String, PhysicsJoint>();
232 protected Dictionary<String, PhysicsJoint> SOPName_to_pendingJoint = new Dictionary<String, PhysicsJoint>(); 232 private Dictionary<String, PhysicsJoint> SOPName_to_pendingJoint = new Dictionary<String, PhysicsJoint>();
233 233
234 protected d.Contact contact; 234 private d.Contact contact;
235 protected d.Contact TerrainContact; 235 private d.Contact TerrainContact;
236 protected d.Contact AvatarMovementprimContact; 236 private d.Contact AvatarMovementprimContact;
237 protected d.Contact AvatarMovementTerrainContact; 237 private d.Contact AvatarMovementTerrainContact;
238 protected d.Contact WaterContact; 238 private d.Contact WaterContact;
239 239
240//Ckrinke: Comment out until used. We declare it, initialize it, but do not use it 240//Ckrinke: Comment out until used. We declare it, initialize it, but do not use it
241//Ckrinke protected int m_randomizeWater = 200; 241//Ckrinke private int m_randomizeWater = 200;
242 protected int m_physicsiterations = 10; 242 private int m_physicsiterations = 10;
243 protected float m_SkipFramesAtms = 0.40f; // Drop frames gracefully at a 400 ms lag 243 private float m_SkipFramesAtms = 0.40f; // Drop frames gracefully at a 400 ms lag
244 protected PhysicsActor PANull = new NullPhysicsActor(); 244 private PhysicsActor PANull = new NullPhysicsActor();
245 protected float step_time = 0.0f; 245 private float step_time = 0.0f;
246//Ckrinke: Comment out until used. We declare it, initialize it, but do not use it 246//Ckrinke: Comment out until used. We declare it, initialize it, but do not use it
247//Ckrinke protected int ms = 0; 247//Ckrinke private int ms = 0;
248 public IntPtr world; 248 public IntPtr world;
249 //protected bool returncollisions = false; 249 //private bool returncollisions = false;
250 // protected uint obj1LocalID = 0; 250 // private uint obj1LocalID = 0;
251 protected uint obj2LocalID = 0; 251 private uint obj2LocalID = 0;
252 //protected int ctype = 0; 252 //private int ctype = 0;
253 protected OdeCharacter cc1; 253 private OdeCharacter cc1;
254 protected OdePrim cp1; 254 private OdePrim cp1;
255 protected OdeCharacter cc2; 255 private OdeCharacter cc2;
256 protected OdePrim cp2; 256 private OdePrim cp2;
257 //protected int cStartStop = 0; 257 //private int cStartStop = 0;
258 //protected string cDictKey = ""; 258 //private string cDictKey = "";
259 259
260 public IntPtr space; 260 public IntPtr space;
261 261
262 //protected IntPtr tmpSpace; 262 //private IntPtr tmpSpace;
263 // split static geometry collision handling into spaces of 30 meters 263 // split static geometry collision handling into spaces of 30 meters
264 public IntPtr[,] staticPrimspace; 264 public IntPtr[,] staticPrimspace;
265 265
@@ -267,7 +267,7 @@ namespace OpenSim.Region.Physics.OdePlugin
267 267
268 public IMesher mesher; 268 public IMesher mesher;
269 269
270 protected IConfigSource m_config; 270 private IConfigSource m_config;
271 271
272 public bool physics_logging = false; 272 public bool physics_logging = false;
273 public int physics_logging_interval = 0; 273 public int physics_logging_interval = 0;
@@ -498,7 +498,7 @@ namespace OpenSim.Region.Physics.OdePlugin
498 } 498 }
499 } 499 }
500 500
501 public void waitForSpaceUnlock(IntPtr space) 501 internal void waitForSpaceUnlock(IntPtr space)
502 { 502 {
503 //if (space != IntPtr.Zero) 503 //if (space != IntPtr.Zero)
504 //while (d.SpaceLockQuery(space)) { } // Wait and do nothing 504 //while (d.SpaceLockQuery(space)) { } // Wait and do nothing
@@ -522,7 +522,7 @@ namespace OpenSim.Region.Physics.OdePlugin
522 /// <param name="space">The space that contains the geoms. Remember, spaces are also geoms</param> 522 /// <param name="space">The space that contains the geoms. Remember, spaces are also geoms</param>
523 /// <param name="g1">a geometry or space</param> 523 /// <param name="g1">a geometry or space</param>
524 /// <param name="g2">another geometry or space</param> 524 /// <param name="g2">another geometry or space</param>
525 protected void near(IntPtr space, IntPtr g1, IntPtr g2) 525 private void near(IntPtr space, IntPtr g1, IntPtr g2)
526 { 526 {
527 // no lock here! It's invoked from within Simulate(), which is thread-locked 527 // no lock here! It's invoked from within Simulate(), which is thread-locked
528 528
@@ -949,7 +949,7 @@ namespace OpenSim.Region.Physics.OdePlugin
949 } 949 }
950 } 950 }
951 951
952 protected bool checkDupe(d.ContactGeom contactGeom, int atype) 952 private bool checkDupe(d.ContactGeom contactGeom, int atype)
953 { 953 {
954 bool result = false; 954 bool result = false;
955 //return result; 955 //return result;
@@ -1019,7 +1019,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1019 return result; 1019 return result;
1020 } 1020 }
1021 1021
1022 protected void collision_accounting_events(PhysicsActor p1, PhysicsActor p2, float collisiondepth) 1022 private void collision_accounting_events(PhysicsActor p1, PhysicsActor p2, float collisiondepth)
1023 { 1023 {
1024 // obj1LocalID = 0; 1024 // obj1LocalID = 0;
1025 //returncollisions = false; 1025 //returncollisions = false;
@@ -1197,7 +1197,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1197 /// This is our collision testing routine in ODE 1197 /// This is our collision testing routine in ODE
1198 /// </summary> 1198 /// </summary>
1199 /// <param name="timeStep"></param> 1199 /// <param name="timeStep"></param>
1200 protected void collision_optimized(float timeStep) 1200 private void collision_optimized(float timeStep)
1201 { 1201 {
1202 _perloopContact.Clear(); 1202 _perloopContact.Clear();
1203 1203
@@ -1286,7 +1286,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1286 #endregion 1286 #endregion
1287 1287
1288// TODO: unused 1288// TODO: unused
1289// protected float GetTerrainHeightAtXY(float x, float y) 1289// private float GetTerrainHeightAtXY(float x, float y)
1290// { 1290// {
1291// return (float)_origheightmap[(int)y * Constants.RegionSize + (int)x]; 1291// return (float)_origheightmap[(int)y * Constants.RegionSize + (int)x];
1292// } 1292// }
@@ -1332,7 +1332,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1332 } 1332 }
1333 } 1333 }
1334 1334
1335 protected PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, Quaternion rotation, 1335 private PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, Quaternion rotation,
1336 IMesh mesh, PrimitiveBaseShape pbs, bool isphysical) 1336 IMesh mesh, PrimitiveBaseShape pbs, bool isphysical)
1337 { 1337 {
1338 PhysicsVector pos = new PhysicsVector(position.X, position.Y, position.Z); 1338 PhysicsVector pos = new PhysicsVector(position.X, position.Y, position.Z);
@@ -1407,28 +1407,28 @@ namespace OpenSim.Region.Physics.OdePlugin
1407 } 1407 }
1408 1408
1409 // internal utility function: must be called within a lock (OdeLock) 1409 // internal utility function: must be called within a lock (OdeLock)
1410 protected void InternalAddActiveJoint(PhysicsJoint joint) 1410 private void InternalAddActiveJoint(PhysicsJoint joint)
1411 { 1411 {
1412 activeJoints.Add(joint); 1412 activeJoints.Add(joint);
1413 SOPName_to_activeJoint.Add(joint.ObjectNameInScene, joint); 1413 SOPName_to_activeJoint.Add(joint.ObjectNameInScene, joint);
1414 } 1414 }
1415 1415
1416 // internal utility function: must be called within a lock (OdeLock) 1416 // internal utility function: must be called within a lock (OdeLock)
1417 protected void InternalAddPendingJoint(OdePhysicsJoint joint) 1417 private void InternalAddPendingJoint(OdePhysicsJoint joint)
1418 { 1418 {
1419 pendingJoints.Add(joint); 1419 pendingJoints.Add(joint);
1420 SOPName_to_pendingJoint.Add(joint.ObjectNameInScene, joint); 1420 SOPName_to_pendingJoint.Add(joint.ObjectNameInScene, joint);
1421 } 1421 }
1422 1422
1423 // internal utility function: must be called within a lock (OdeLock) 1423 // internal utility function: must be called within a lock (OdeLock)
1424 protected void InternalRemovePendingJoint(PhysicsJoint joint) 1424 private void InternalRemovePendingJoint(PhysicsJoint joint)
1425 { 1425 {
1426 pendingJoints.Remove(joint); 1426 pendingJoints.Remove(joint);
1427 SOPName_to_pendingJoint.Remove(joint.ObjectNameInScene); 1427 SOPName_to_pendingJoint.Remove(joint.ObjectNameInScene);
1428 } 1428 }
1429 1429
1430 // internal utility function: must be called within a lock (OdeLock) 1430 // internal utility function: must be called within a lock (OdeLock)
1431 protected void InternalRemoveActiveJoint(PhysicsJoint joint) 1431 private void InternalRemoveActiveJoint(PhysicsJoint joint)
1432 { 1432 {
1433 activeJoints.Remove(joint); 1433 activeJoints.Remove(joint);
1434 SOPName_to_activeJoint.Remove(joint.ObjectNameInScene); 1434 SOPName_to_activeJoint.Remove(joint.ObjectNameInScene);
@@ -1482,7 +1482,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1482 } 1482 }
1483 } 1483 }
1484 1484
1485 protected void DeleteRequestedJoints() 1485 private void DeleteRequestedJoints()
1486 { 1486 {
1487 List<string> myRequestedJointsToBeDeleted; 1487 List<string> myRequestedJointsToBeDeleted;
1488 lock (externalJointRequestsLock) 1488 lock (externalJointRequestsLock)
@@ -1562,7 +1562,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1562 1562
1563 // for pending joints we don't know if their associated bodies exist yet or not. 1563 // for pending joints we don't know if their associated bodies exist yet or not.
1564 // the joint is actually created during processing of the taints 1564 // the joint is actually created during processing of the taints
1565 protected void CreateRequestedJoints() 1565 private void CreateRequestedJoints()
1566 { 1566 {
1567 List<PhysicsJoint> myRequestedJointsToBeCreated; 1567 List<PhysicsJoint> myRequestedJointsToBeCreated;
1568 lock (externalJointRequestsLock) 1568 lock (externalJointRequestsLock)
@@ -1648,7 +1648,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1648 return joint; 1648 return joint;
1649 } 1649 }
1650 1650
1651 protected void RemoveAllJointsConnectedToActor(PhysicsActor actor) 1651 private void RemoveAllJointsConnectedToActor(PhysicsActor actor)
1652 { 1652 {
1653 //m_log.Debug("RemoveAllJointsConnectedToActor: start"); 1653 //m_log.Debug("RemoveAllJointsConnectedToActor: start");
1654 if (actor.SOPName != null && joints_connecting_actor.ContainsKey(actor.SOPName) && joints_connecting_actor[actor.SOPName] != null) 1654 if (actor.SOPName != null && joints_connecting_actor.ContainsKey(actor.SOPName) && joints_connecting_actor[actor.SOPName] != null)