diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | 24 |
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 | { |