BulletWorld

from panda3d.bullet import BulletWorld
class BulletWorld

Bases:

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
__get_manifold(idx: int) → BulletPersistentManifold
__init__()
attach(object: panda3d.core.TypedObject)

AttachRemove

attachCharacter(node: BulletBaseCharacterControllerNode)

Deprecated: Please use BulletWorld.attach

attachConstraint(constraint: BulletConstraint, linked_collision: bool)

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)

Deprecated: Please use BulletWorld.attach

attachRigidBody(node: BulletRigidBodyNode)

Deprecated: Please use BulletWorld.attach

attachSoftBody(node: BulletSoftBodyNode)

Deprecated: Please use BulletWorld.attach

attachVehicle(vehicle: BulletVehicle)

Deprecated: Please use BulletWorld.attach

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

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

clearFilterCallback()
clearTickCallback()
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_node → BulletDebugNode

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_aabbs → bool
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)
removeCharacter(node: BulletBaseCharacterControllerNode)

Deprecated: Please use BulletWorld.remove

removeConstraint(constraint: BulletConstraint)

Deprecated: Please use BulletWorld.remove

removeGhost(node: BulletGhostNode)

Deprecated: Please use BulletWorld.remove

removeRigidBody(node: BulletRigidBodyNode)

Deprecated: Please use BulletWorld.remove

removeSoftBody(node: BulletSoftBodyNode)

Deprecated: Please use BulletWorld.remove

removeVehicle(vehicle: BulletVehicle)

Deprecated: Please use BulletWorld.remove

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

Callbacks

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

Collision filtering

setTickCallback(obj: panda3d.core.CallbackObject, is_pretick: bool)
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_info → BulletSoftBodyWorldInfo