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.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
index d4b1c1e..2058e3a 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs
@@ -79,6 +79,8 @@ public abstract class BSLinkset
79 } 79 }
80 public virtual void ResetLink() { } 80 public virtual void ResetLink() { }
81 public virtual void SetLinkParameters(BSConstraint constrain) { } 81 public virtual void SetLinkParameters(BSConstraint constrain) { }
82 // Returns 'true' if physical property updates from the child should be reported to the simulator
83 public virtual bool ShouldUpdateChildProperties() { return false; }
82 } 84 }
83 85
84 public LinksetImplementation LinksetImpl { get; protected set; } 86 public LinksetImplementation LinksetImpl { get; protected set; }
@@ -224,6 +226,21 @@ public abstract class BSLinkset
224 return ret; 226 return ret;
225 } 227 }
226 228
229 // Check the type of the link and return 'true' if the link is flexible and the
230 // updates from the child should be sent to the simulator so things change.
231 public virtual bool ShouldReportPropertyUpdates(BSPrimLinkable child)
232 {
233 bool ret = false;
234
235 BSLinkInfo linkInfo;
236 if (m_children.TryGetValue(child, out linkInfo))
237 {
238 ret = linkInfo.ShouldUpdateChildProperties();
239 }
240
241 return ret;
242 }
243
227 // Called after a simulation step to post a collision with this object. 244 // Called after a simulation step to post a collision with this object.
228 // Return 'true' if linkset processed the collision. 'false' says the linkset didn't have 245 // Return 'true' if linkset processed the collision. 'false' says the linkset didn't have
229 // anything to add for the collision and it should be passed through normal processing. 246 // anything to add for the collision and it should be passed through normal processing.
@@ -432,6 +449,13 @@ public abstract class BSLinkset
432 return com; 449 return com;
433 } 450 }
434 451
452 #region Extension
453 public virtual object Extension(string pFunct, params object[] pParams)
454 {
455 return null;
456 }
457 #endregion // Extension
458
435 // Invoke the detailed logger and output something if it's enabled. 459 // Invoke the detailed logger and output something if it's enabled.
436 protected void DetailLog(string msg, params Object[] args) 460 protected void DetailLog(string msg, params Object[] args)
437 { 461 {