class BulletBodyNode

Bases: PandaNode

Inheritance diagram

Inheritance diagram of BulletBodyNode

void add_shape(BulletShape *shape, TransformState const *xform = TransformState::make_identity())


void add_shapes_from_collision_solids(CollisionNode *cnode)
bool check_collision_with(PandaNode *node)
void force_active(bool active)
LVecBase3 get_anisotropic_friction(void) const
PN_stdfloat get_ccd_motion_threshold(void) const
PN_stdfloat get_ccd_swept_sphere_radius(void) const



static TypeHandle get_class_type(void)
bool get_collision_response(void) const
PN_stdfloat get_contact_processing_threshold(void) const
PN_stdfloat get_deactivation_time(void) const
PN_stdfloat get_friction(void) const
int get_num_shapes(void) const
PN_stdfloat get_restitution(void) const

Friction and Restitution

Friction and Restitution

BulletShape *get_shape(int idx) const
BoundingSphere get_shape_bounds(void) const

Returns the current bounds of all collision shapes owned by this body.

LMatrix4 get_shape_mat(int idx) const
LPoint3 get_shape_pos(int idx) const
ConstPointerTo<TransformState> get_shape_transform(int idx) const
bool has_anisotropic_friction(void) const
bool has_contact_response(void) const
bool is_active(void) const



bool is_deactivation_enabled(void) const
bool is_debug_enabled(void) const

Returns TRUE if the debug visualisation is enabled for this collision object, and FALSE if the debug visualisation is disabled.

bool is_kinematic(void) const
bool is_static(void) const

Static and kinematic

Static and kinematic

bool notifies_collisions(void) const
void notify_collisions(bool value)
void remove_shape(BulletShape *shape)
void set_active(bool active, bool force = false)
void set_anisotropic_friction(LVecBase3 const &friction)
void set_ccd_motion_threshold(PN_stdfloat threshold)
void set_ccd_swept_sphere_radius(PN_stdfloat radius)
void set_collision_response(bool value)
void set_contact_processing_threshold(PN_stdfloat threshold)

The constraint solver can discard solving contacts, if the distance is above this threshold.

void set_deactivation_enabled(bool enabled)

If true, this object will be deactivated after a certain amount of time has passed without movement. If false, the object will always remain active.

void set_deactivation_time(PN_stdfloat dt)
void set_debug_enabled(bool const enabled)

Debug Visualisation

Debug Visualisation

Enables or disables the debug visualisation for this collision object. By default the debug visualisation is enabled.

void set_friction(PN_stdfloat friction)
void set_into_collide_mask(CollideMask mask)


void set_kinematic(bool value)
void set_restitution(PN_stdfloat restitution)
void set_static(bool value)
void set_transform_dirty(void)


This method enforces an update of the Bullet transform, that is copies the scene graph transform to the Bullet transform. This is achieved by alling the protected PandaNode hook ‘transform_changed’.