BulletWorld

from panda3d.bullet import BulletWorld
class BulletWorld

Bases: TypedReferenceCount

Inheritance diagram

Inheritance diagram of BulletWorld

enum BroadphaseAlgorithm

Configuration

enumerator BA_sweep_and_prune = 0
enumerator BA_dynamic_aabb_tree = 1
enum FilterAlgorithm
enumerator FA_mask = 0
enumerator FA_groups_mask = 1
enumerator FA_callback = 2
__init__()
attach(object: panda3d.core.TypedObject)None

AttachRemove

attachCharacter(node: BulletBaseCharacterControllerNode)None

Deprecated: Please use BulletWorld.attach()

attachConstraint(constraint: BulletConstraint, linked_collision: bool)None

Attaches a single constraint to a world. Collision checks between the linked objects will be disabled if the second parameter is set to TRUE.

attachGhost(node: BulletGhostNode)None

Deprecated: Please use BulletWorld.attach()

attachRigidBody(node: BulletRigidBodyNode)None

Deprecated: Please use BulletWorld.attach()

attachSoftBody(node: BulletSoftBodyNode)None

Deprecated: Please use BulletWorld.attach()

attachVehicle(vehicle: BulletVehicle)None

Deprecated: Please use BulletWorld.attach()

property characters → Sequence[BulletBaseCharacterControllerNode]
clearContactAddedCallback()None
clearDebugNode()None

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

clearFilterCallback()None
clearTickCallback()None
property constraints → Sequence[BulletConstraint]
contactTest(node: panda3d.core.PandaNode, use_filter: bool)BulletContactResult

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.

contactTestPair(node0: panda3d.core.PandaNode, node1: panda3d.core.PandaNode)BulletContactResult

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.

property debug_nodeBulletDebugNode

Getter Setter

Debug

Debug

doPhysics(dt: float, max_substeps: int, stepsize: float)int
filterTest(node0: panda3d.core.PandaNode, node1: panda3d.core.PandaNode)bool

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

property force_update_all_aabbsbool

Getter Setter

getCharacter(idx: int)BulletBaseCharacterControllerNode
getCharacters()list
static getClassType()panda3d.core.TypeHandle
getConstraint(idx: int)BulletConstraint
getConstraints()list
getDebugNode()BulletDebugNode
getForceUpdateAllAabbs()bool
getGhost(idx: int)BulletGhostNode
getGhosts()list
getGravity()panda3d.core.LVector3
getGroupCollisionFlag(group1: int, group2: int)bool
getManifold(idx: int)BulletPersistentManifold
getManifolds()list
getNumCharacters()int

Character controller

getNumConstraints()int

Constraint

getNumGhosts()int

Ghost object

getNumManifolds()int

Manifolds

getNumRigidBodies()int

Rigid body

getNumSoftBodies()int

Soft body

getNumVehicles()int
getRigidBodies()list
getRigidBody(idx: int)BulletRigidBodyNode
getSoftBodies()list
getSoftBody(idx: int)BulletSoftBodyNode
getVehicle(idx: int)BulletVehicle
getVehicles()list
getWorldInfo()BulletSoftBodyWorldInfo
property ghosts → Sequence[BulletGhostNode]
property gravity → LVector3

Getter Setter

hasDebugNode()bool
property manifolds → Sequence[BulletPersistentManifold]
rayTestAll(from_pos: panda3d.core.LPoint3, to_pos: panda3d.core.LPoint3, mask: panda3d.core.CollideMask)BulletAllHitsRayResult
rayTestClosest(from_pos: panda3d.core.LPoint3, to_pos: panda3d.core.LPoint3, mask: panda3d.core.CollideMask)BulletClosestHitRayResult

Raycast and other queries

remove(object: panda3d.core.TypedObject)None
removeCharacter(node: BulletBaseCharacterControllerNode)None

Deprecated: Please use BulletWorld.remove()

removeConstraint(constraint: BulletConstraint)None

Deprecated: Please use BulletWorld.remove()

removeGhost(node: BulletGhostNode)None

Deprecated: Please use BulletWorld.remove()

removeRigidBody(node: BulletRigidBodyNode)None

Deprecated: Please use BulletWorld.remove()

removeSoftBody(node: BulletSoftBodyNode)None

Deprecated: Please use BulletWorld.remove()

removeVehicle(vehicle: BulletVehicle)None

Deprecated: Please use BulletWorld.remove()

property rigid_bodies → Sequence[BulletRigidBodyNode]
setContactAddedCallback(obj: panda3d.core.CallbackObject)None

Callbacks

setDebugNode(node: BulletDebugNode)None
setFilterCallback(obj: panda3d.core.CallbackObject)None
setForceUpdateAllAabbs(force: bool)None
setGravity(gravity: panda3d.core.LVector3)None
setGravity(gx: float, gy: float, gz: float)None
setGroupCollisionFlag(group1: int, group2: int, enable: bool)None

Collision filtering

setTickCallback(obj: panda3d.core.CallbackObject, is_pretick: bool)None
property soft_bodies → Sequence[BulletSoftBodyNode]
sweepTestClosest(shape: BulletShape, from_ts: panda3d.core.TransformState, to_ts: panda3d.core.TransformState, mask: panda3d.core.CollideMask, penetration: float)BulletClosestHitSweepResult

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.

property vehicles → Sequence[BulletVehicle]
property world_infoBulletSoftBodyWorldInfo