Panda3D
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
BulletWorld Class Reference
Inheritance diagram for BulletWorld:
TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

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)
 Deprecated! Please use BulletWorld::attach. More...
 
void attach_constraint (BulletConstraint *constraint, bool linked_collision=false)
 Attaches a single constraint to a world. More...
 
void attach_ghost (BulletGhostNode *node)
 Deprecated! Please use BulletWorld::attach. More...
 
void attach_rigid_body (BulletRigidBodyNode *node)
 Deprecated! Please use BulletWorld::attach. More...
 
void attach_soft_body (BulletSoftBodyNode *node)
 Deprecated! Please use BulletWorld::attach. More...
 
void attach_vehicle (BulletVehicle *vehicle)
 Deprecated! Please use BulletWorld::attach. More...
 
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
 
BulletBaseCharacterControllerNodeget_character (int idx) const
 
BulletConstraintget_constraint (int idx) const
 
BulletDebugNodeget_debug_node () const
 
btDispatcher * get_dispatcher () const
 
bool get_force_update_all_aabbs () const
 
BulletGhostNodeget_ghost (int idx) const
 
const LVector3 get_gravity () const
 
bool get_group_collision_flag (unsigned int group1, unsigned int group2) const
 
BulletPersistentManifoldget_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
 
BulletRigidBodyNodeget_rigid_body (int idx) const
 
BulletSoftBodyNodeget_soft_body (int idx) const
 
virtual TypeHandle get_type () const
 
BulletVehicleget_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)
 Deprecated. More...
 
void remove_constraint (BulletConstraint *constraint)
 Deprecated. More...
 
void remove_ghost (BulletGhostNode *node)
 Deprecated. More...
 
void remove_rigid_body (BulletRigidBodyNode *node)
 Deprecated. More...
 
void remove_soft_body (BulletSoftBodyNode *node)
 Deprecated. More...
 
void remove_vehicle (BulletVehicle *vehicle)
 Deprecated. More...
 
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
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_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...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_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...
 
WeakReferenceListweak_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 LightMutexget_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)

Deprecated! Please use BulletWorld::attach.

Definition at line 429 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 470 of file bulletWorld.cxx.

◆ attach_ghost()

void BulletWorld::attach_ghost ( BulletGhostNode node)

Deprecated! Please use BulletWorld::attach.

Definition at line 409 of file bulletWorld.cxx.

◆ attach_rigid_body()

void BulletWorld::attach_rigid_body ( BulletRigidBodyNode node)

Deprecated! Please use BulletWorld::attach.

Definition at line 369 of file bulletWorld.cxx.

◆ attach_soft_body()

void BulletWorld::attach_soft_body ( BulletSoftBodyNode node)

Deprecated! Please use BulletWorld::attach.

Definition at line 389 of file bulletWorld.cxx.

◆ attach_vehicle()

void BulletWorld::attach_vehicle ( BulletVehicle vehicle)

Deprecated! Please use BulletWorld::attach.

Definition at line 449 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 1018 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 1044 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 986 of file bulletWorld.cxx.

◆ remove_character()

void BulletWorld::remove_character ( BulletBaseCharacterControllerNode node)

Deprecated.

! Please use BulletWorld::remove

Definition at line 439 of file bulletWorld.cxx.

◆ remove_constraint()

void BulletWorld::remove_constraint ( BulletConstraint constraint)

Deprecated.

! Please use BulletWorld::remove

Definition at line 480 of file bulletWorld.cxx.

◆ remove_ghost()

void BulletWorld::remove_ghost ( BulletGhostNode node)

Deprecated.

! Please use BulletWorld::remove

Definition at line 419 of file bulletWorld.cxx.

◆ remove_rigid_body()

void BulletWorld::remove_rigid_body ( BulletRigidBodyNode node)

Deprecated.

! Please use BulletWorld::remove

Definition at line 379 of file bulletWorld.cxx.

◆ remove_soft_body()

void BulletWorld::remove_soft_body ( BulletSoftBodyNode node)

Deprecated.

! Please use BulletWorld::remove

Definition at line 399 of file bulletWorld.cxx.

◆ remove_vehicle()

void BulletWorld::remove_vehicle ( BulletVehicle vehicle)

Deprecated.

! Please use BulletWorld::remove

Definition at line 459 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 960 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: