Browse Source

New method to disable collision response.

enn0x 14 years ago
parent
commit
729db666c0
2 changed files with 25 additions and 0 deletions
  1. 22 0
      panda/src/bullet/bulletBodyNode.I
  2. 3 0
      panda/src/bullet/bulletBodyNode.h

+ 22 - 0
panda/src/bullet/bulletBodyNode.I

@@ -50,6 +50,28 @@ notifies_collisions() const {
   return get_collision_flag(btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK);
   return get_collision_flag(btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK);
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: BulletBodyNode::set_collision_response
+//       Access: Published
+//  Description:
+////////////////////////////////////////////////////////////////////
+INLINE void BulletBodyNode::
+set_collision_response(bool value) {
+
+  set_collision_flag(btCollisionObject::CF_NO_CONTACT_RESPONSE, !value);
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: BulletBodyNode::get_collision_response
+//       Access: Published
+//  Description:
+////////////////////////////////////////////////////////////////////
+INLINE bool BulletBodyNode::
+get_collision_response() const {
+
+  return !get_collision_flag(btCollisionObject::CF_NO_CONTACT_RESPONSE);
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: BulletBodyNode::set_collision_flag
 //     Function: BulletBodyNode::set_collision_flag
 //       Access: Protected
 //       Access: Protected

+ 3 - 0
panda/src/bullet/bulletBodyNode.h

@@ -61,6 +61,9 @@ PUBLISHED:
   INLINE void notify_collisions(bool value);
   INLINE void notify_collisions(bool value);
   INLINE bool notifies_collisions() const;
   INLINE bool notifies_collisions() const;
 
 
+  INLINE void set_collision_response(bool value);
+  INLINE bool get_collision_response() const;
+
   bool check_collision_with(PandaNode *node);
   bool check_collision_with(PandaNode *node);
 
 
   bool has_contact_response() const;
   bool has_contact_response() const;