Browse Source

Added support for breakable constraints.

enn0x 13 years ago
parent
commit
55b7f59509
2 changed files with 53 additions and 0 deletions
  1. 48 0
      panda/src/bullet/bulletConstraint.I
  2. 5 0
      panda/src/bullet/bulletConstraint.h

+ 48 - 0
panda/src/bullet/bulletConstraint.I

@@ -22,3 +22,51 @@ INLINE BulletConstraint::
 
 
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: BulletConstraint::set_breaking_threshold
+//       Access: Published
+//  Description: Sets the applied impulse limit for breaking the
+//               constraint. If the limit is exceeded the constraint
+//               will be disabled. Disabled constraints are not
+//               removed from the world, and can be re-enabled.
+////////////////////////////////////////////////////////////////////
+INLINE void BulletConstraint::
+set_breaking_threshold(PN_stdfloat threshold) {
+
+  ptr()->setBreakingImpulseThreshold(threshold);
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: BulletConstraint::set_breaking_threshold
+//       Access: Published
+//  Description: Returns the applied impluse limit for breaking the
+//               constraint.
+////////////////////////////////////////////////////////////////////
+INLINE PN_stdfloat BulletConstraint::
+set_breaking_threshold() const {
+
+  return (PN_stdfloat)ptr()->getBreakingImpulseThreshold();
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: BulletConstraint::set_enabled
+//       Access: Published
+//  Description:
+////////////////////////////////////////////////////////////////////
+INLINE void BulletConstraint::
+set_enabled(bool enable) {
+
+  ptr()->setEnabled(enable);
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: BulletConstraint::is_enabled
+//       Access: Published
+//  Description: Returns TRUE if the constraint is enabled.
+////////////////////////////////////////////////////////////////////
+INLINE bool BulletConstraint::
+is_enabled() const {
+
+  return ptr()->isEnabled();
+}
+

+ 5 - 0
panda/src/bullet/bulletConstraint.h

@@ -41,6 +41,11 @@ PUBLISHED:
   PN_stdfloat get_applied_impulse() const;
   PN_stdfloat get_applied_impulse() const;
   PN_stdfloat get_debug_draw_size();
   PN_stdfloat get_debug_draw_size();
 
 
+  INLINE void set_breaking_threshold(PN_stdfloat threshold);
+  INLINE PN_stdfloat set_breaking_threshold() const;
+  INLINE void set_enabled(bool enabled);
+  INLINE bool is_enabled() const;
+
   enum ConstraintParam {
   enum ConstraintParam {
     CP_erp = 1,
     CP_erp = 1,
     CP_stop_erp,
     CP_stop_erp,