Panda3D

Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
BulletWorld Class Reference
Inheritance diagram for BulletWorld:

## Public Types
enum | BroadphaseAlgorithm { BA_sweep_and_prune , BA_dynamic_aabb_tree }
enum | FilterAlgorithm { FA_mask , FA_groups_mask , FA_callback }

## Public Member Functions
void | attach (TypedObject *object)
void | attach_character (BulletBaseCharacterControllerNode *node)
void | attach_constraint (BulletConstraint *constraint, bool linked_collision=false)
| Attaches a single constraint to a world. More...
void | attach_ghost (BulletGhostNode *node)
void | attach_rigid_body (BulletRigidBodyNode *node)
void | attach_soft_body (BulletSoftBodyNode *node)
void | attach_vehicle (BulletVehicle *vehicle)
void | clear_contact_added_callback ()
void | clear_debug_node ()
void | clear_filter_callback ()
void | clear_tick_callback ()
BulletContactResult | contact_test (PandaNode *node, bool use_filter=false) const
| Performas a test for all bodies which are currently in contact with the given body. More...
BulletContactResult | contact_test_pair (PandaNode *node0, PandaNode *node1) const
| Performas a test if the two bodies given as parameters are in contact or not. More...
int | do_physics (PN_stdfloat dt, int max_substeps=1, PN_stdfloat stepsize=1.0f/60.0f)
bool | filter_test (PandaNode *node0, PandaNode *node1) const
| Performs a test if two bodies should collide or not, based on the collision filter setting. More...
virtual TypeHandle | force_init_type ()
btBroadphaseInterface * | get_broadphase () const
BulletBaseCharacterControllerNode * | get_character (int idx) const
BulletConstraint * | get_constraint (int idx) const
BulletDebugNode * | get_debug_node () const
btDispatcher * | get_dispatcher () const
bool | get_force_update_all_aabbs () const
BulletGhostNode * | get_ghost (int idx) const
const LVector3 | get_gravity () const
bool | get_group_collision_flag (unsigned int group1, unsigned int group2) const
BulletPersistentManifold * | get_manifold (int idx) const
int | get_num_characters () const
int | get_num_constraints () const
int | get_num_ghosts () const
int | get_num_manifolds () const
int | get_num_rigid_bodies () const
int | get_num_soft_bodies () const
int | get_num_vehicles () const
BulletRigidBodyNode * | get_rigid_body (int idx) const
BulletSoftBodyNode * | get_soft_body (int idx) const
virtual TypeHandle | get_type () const
BulletVehicle * | get_vehicle (int idx) const
btDynamicsWorld * | get_world () const
BulletSoftBodyWorldInfo | get_world_info ()
bool | has_debug_node () const
BulletAllHitsRayResult | ray_test_all (const LPoint3 &from_pos, const LPoint3 &to_pos, const CollideMask &mask=CollideMask::all_on()) const
BulletClosestHitRayResult | ray_test_closest (const LPoint3 &from_pos, const LPoint3 &to_pos, const CollideMask &mask=CollideMask::all_on()) const
void | remove (TypedObject *object)
void | remove_character (BulletBaseCharacterControllerNode *node)
void | remove_constraint (BulletConstraint *constraint)
void | remove_ghost (BulletGhostNode *node)
void | remove_rigid_body (BulletRigidBodyNode *node)
void | remove_soft_body (BulletSoftBodyNode *node)
void | remove_vehicle (BulletVehicle *vehicle)
void | set_contact_added_callback (CallbackObject *obj)
void | set_debug_node (BulletDebugNode *node)
void | set_filter_callback (CallbackObject *obj)
void | set_force_update_all_aabbs (bool force)
void | set_gravity (const LVector3 &gravity)
void | set_gravity (PN_stdfloat gx, PN_stdfloat gy, PN_stdfloat gz)
void | set_group_collision_flag (unsigned int group1, unsigned int group2, bool enable)
void | set_tick_callback (CallbackObject *obj, bool is_pretick=false)
BulletClosestHitSweepResult | sweep_test_closest (BulletShape *shape, const TransformState &from_ts, const TransformState &to_ts, const CollideMask &mask=CollideMask::all_on(), PN_stdfloat penetration=0.0f) const
| Performs a sweep test against all other shapes that match the given group mask. More...
Public Member Functions inherited from TypedReferenceCount
| TypedReferenceCount (const TypedReferenceCount &copy)
void | operator= (const TypedReferenceCount &copy)
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=default
TypedObject * | as_typed_object ()
| Returns the object, upcast (if necessary) to a TypedObject pointer. More...
const TypedObject * | as_typed_object () const
| Returns the object, upcast (if necessary) to a TypedObject pointer. More...
int | get_best_parent_from_Set (const std::set< int > &) const
int | get_type_index () const
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
bool | is_exact_type (TypeHandle handle) const
| Returns true if the current object is the indicated type exactly. More...
bool | is_of_type (TypeHandle handle) const
| Returns true if the current object is or derives from the indicated type. More...
TypedObject & | operator= (const TypedObject &copy)=default
Public Member Functions inherited from MemoryBase
void | operator delete (void *, void *)
void | operator delete (void *ptr)
void | operator delete[] (void *, void *)
void | operator delete[] (void *ptr)
void * | operator new (size_t size)
void * | operator new (size_t size, void *ptr)
void * | operator new[] (size_t size)
void * | operator new[] (size_t size, void *ptr)
Public Member Functions inherited from ReferenceCount
int | get_ref_count () const
WeakReferenceList * | get_weak_list () const
| Returns the WeakReferenceList associated with this ReferenceCount object. More...
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
void | ref () const
| Explicitly increments the reference count. More...
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero. More...
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus. More...
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
virtual bool | unref () const
| Explicitly decrements the reference count. More...
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one. More...
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object. More...
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object. More...

## Static Public Member Functions
static TypeHandle | get_class_type ()
static btCollisionObject * | get_collision_object (PandaNode *node)
static LightMutex & | get_global_lock ()
static void | init_type ()
Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedObject
static TypeHandle | get_class_type ()
static void | init_type ()
| This function is declared non-inline to work around a compiler bug in g++ 2.96. More...
Static Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()

## Public Attributes
| clear_debug_node
| Removes a debug node that has been assigned to this BulletWorld. More...
| get_character
| get_constraint
| get_debug_node
| get_force_update_all_aabbs
| get_ghost
| get_gravity
| get_manifold
| get_num_characters
| get_num_constraints
| get_num_ghosts
| get_num_manifolds
| get_num_rigid_bodies
| get_num_soft_bodies
| get_num_vehicles
| get_rigid_body
| get_soft_body
| get_vehicle
| get_world_info
| has_debug_node
| set_debug_node
| set_force_update_all_aabbs
| set_gravity
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count. More...

## Detailed Description

Definition at line 51 of file bulletWorld.h.

## Member Function Documentation

## ◆ attach_character()

void BulletWorld::attach_character | ( | BulletBaseCharacterControllerNode * | node | ) |

Definition at line 428 of file bulletWorld.cxx.

## ◆ attach_constraint()

void BulletWorld::attach_constraint | ( | BulletConstraint * | constraint,
|  | bool | linked_collision = `false`
| ) |  |

Attaches a single constraint to a world.

Collision checks between the linked objects will be disabled if the second parameter is set to TRUE.

Definition at line 469 of file bulletWorld.cxx.

## ◆ attach_ghost()

void BulletWorld::attach_ghost | ( | BulletGhostNode * | node | ) |

Definition at line 408 of file bulletWorld.cxx.

## ◆ attach_rigid_body()

void BulletWorld::attach_rigid_body | ( | BulletRigidBodyNode * | node | ) |

Definition at line 368 of file bulletWorld.cxx.

## ◆ attach_soft_body()

void BulletWorld::attach_soft_body | ( | BulletSoftBodyNode * | node | ) |

Definition at line 388 of file bulletWorld.cxx.

## ◆ attach_vehicle()

void BulletWorld::attach_vehicle | ( | BulletVehicle * | vehicle | ) |

Definition at line 448 of file bulletWorld.cxx.

## ◆ contact_test()

BulletContactResult BulletWorld::contact_test | ( | PandaNode * | node,
|  | bool | use_filter = `false`
| ) |  | const

Performas a test for all bodies which are currently in contact with the given body.

The test returns a BulletContactResult object which may contain zero, one or more contacts.

If the optional parameter use_filter is set to TRUE this test will consider filter settings. Otherwise all objects in contact are reported, no matter if they would collide or not.

Definition at line 1017 of file bulletWorld.cxx.

## ◆ contact_test_pair()

BulletContactResult BulletWorld::contact_test_pair | ( | PandaNode * | node0,
|  | PandaNode * | node1
| ) |  | const

Performas a test if the two bodies given as parameters are in contact or not.

The test returns a BulletContactResult object which may contain zero or one contacts.

Definition at line 1043 of file bulletWorld.cxx.

## ◆ filter_test()

bool BulletWorld::filter_test | ( | PandaNode * | node0,
|  | PandaNode * | node1
| ) |  | const

Performs a test if two bodies should collide or not, based on the collision filter setting.

Definition at line 985 of file bulletWorld.cxx.

## ◆ remove_character()

void BulletWorld::remove_character | ( | BulletBaseCharacterControllerNode * | node | ) |

Definition at line 438 of file bulletWorld.cxx.

## ◆ remove_constraint()

void BulletWorld::remove_constraint | ( | BulletConstraint * | constraint | ) |

Definition at line 479 of file bulletWorld.cxx.

## ◆ remove_ghost()

void BulletWorld::remove_ghost | ( | BulletGhostNode * | node | ) |

Definition at line 418 of file bulletWorld.cxx.

## ◆ remove_rigid_body()

void BulletWorld::remove_rigid_body | ( | BulletRigidBodyNode * | node | ) |

Definition at line 378 of file bulletWorld.cxx.

## ◆ remove_soft_body()

void BulletWorld::remove_soft_body | ( | BulletSoftBodyNode * | node | ) |

Definition at line 398 of file bulletWorld.cxx.

## ◆ remove_vehicle()

void BulletWorld::remove_vehicle | ( | BulletVehicle * | vehicle | ) |

Definition at line 458 of file bulletWorld.cxx.

## ◆ sweep_test_closest()

BulletClosestHitSweepResult BulletWorld::sweep_test_closest | ( | BulletShape * | shape,
|  | const TransformState & | from_ts,
|  | const TransformState & | to_ts,
|  | const CollideMask & | mask = `CollideMask::all_on()`,
|  | PN_stdfloat | penetration = `0.0f`
| ) |  | const

Performs a sweep test against all other shapes that match the given group mask.

The provided shape must be a convex shape; it is an error to invoke this method using a non-convex shape.

Definition at line 959 of file bulletWorld.cxx.

## Member Data Documentation

## ◆ clear_debug_node

void BulletWorld::clear_debug_node

Removes a debug node that has been assigned to this BulletWorld.

Definition at line 164 of file bulletWorld.h.

The documentation for this class was generated from the following files:

- panda/src/bullet/bulletWorld.h
- panda/src/bullet/bulletWorld.cxx
- panda/src/bullet/bulletWorld.I