aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
index 777c5cb..ce0fbe6 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
@@ -124,7 +124,7 @@ public abstract class BSLinkset
124 get { return ComputeLinksetGeometricCenter(); } 124 get { return ComputeLinksetGeometricCenter(); }
125 } 125 }
126 126
127 protected void Initialize(BSScene scene, BSPhysObject parent) 127 protected BSLinkset(BSScene scene, BSPhysObject parent)
128 { 128 {
129 // A simple linkset of one (no children) 129 // A simple linkset of one (no children)
130 LinksetID = m_nextLinksetID++; 130 LinksetID = m_nextLinksetID++;
@@ -135,6 +135,7 @@ public abstract class BSLinkset
135 LinksetRoot = parent; 135 LinksetRoot = parent;
136 m_children = new HashSet<BSPhysObject>(); 136 m_children = new HashSet<BSPhysObject>();
137 m_mass = parent.RawMass; 137 m_mass = parent.RawMass;
138 Rebuilding = false;
138 } 139 }
139 140
140 // Link to a linkset where the child knows the parent. 141 // Link to a linkset where the child knows the parent.
@@ -227,7 +228,7 @@ public abstract class BSLinkset
227 // I am the root of a linkset and a new child is being added 228 // I am the root of a linkset and a new child is being added
228 // Called while LinkActivity is locked. 229 // Called while LinkActivity is locked.
229 protected abstract void AddChildToLinkset(BSPhysObject child); 230 protected abstract void AddChildToLinkset(BSPhysObject child);
230 231
231 // I am the root of a linkset and one of my children is being removed. 232 // I am the root of a linkset and one of my children is being removed.
232 // Safe to call even if the child is not really in my linkset. 233 // Safe to call even if the child is not really in my linkset.
233 protected abstract void RemoveChildFromLinkset(BSPhysObject child); 234 protected abstract void RemoveChildFromLinkset(BSPhysObject child);
@@ -237,6 +238,10 @@ public abstract class BSLinkset
237 // May be called at runtime or taint-time. 238 // May be called at runtime or taint-time.
238 public abstract void Refresh(BSPhysObject requestor); 239 public abstract void Refresh(BSPhysObject requestor);
239 240
241 // Flag denoting the linkset is in the process of being rebuilt.
242 // Used to know not the schedule a rebuild in the middle of a rebuild.
243 protected bool Rebuilding { get; set; }
244
240 // The object is going dynamic (physical). Do any setup necessary 245 // The object is going dynamic (physical). Do any setup necessary
241 // for a dynamic linkset. 246 // for a dynamic linkset.
242 // Only the state of the passed object can be modified. The rest of the linkset 247 // Only the state of the passed object can be modified. The rest of the linkset