Преглед на файлове

New method to disable collision response.

enn0x преди 14 години
родител
ревизия
729db666c0
променени са 2 файла, в които са добавени 25 реда и са изтрити 0 реда
  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);
 }
 
+////////////////////////////////////////////////////////////////////
+//     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
 //       Access: Protected

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

@@ -61,6 +61,9 @@ PUBLISHED:
   INLINE void notify_collisions(bool value);
   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 has_contact_response() const;