CollisionNode¶
from panda3d.core import CollisionNode
-
class
CollisionNode
¶ Bases:
PandaNode
A node in the scene graph that can hold any number of
CollisionSolids
. This may either represent a bit of static geometry in the scene that things will collide with, or an animated object twirling around in the world and running into things.Inheritance diagram
-
addSolid
(solid: CollisionSolid) → int¶ Adds the indicated solid to the node. Returns the index of the new solid within the node’s list of solids.
-
property
collider_sort
→ int¶ - Getter
Returns the collider_sort value that has been set for this particular node. See
setColliderSort()
.- Setter
Sets a particular collider_sort value on this node. This controls the order in which colliders (that is, “from nodes”) are grouped together for the collision traversal.
If there are 32 or fewer colliders added to any particular
CollisionTraverser
, then this value has no meaning. It is only useful if there are many colliders, which may force theCollisionTraverser
to make multiple passes through the data; in that case, it may be a useful optimization to group colliders that have similar bounding volumes together (by giving them similar sort values).
-
property
default_collide_mask
→ CollideMask¶ Returns the default into_collide_mask assigned to new
CollisionNodes
.
-
property
from_collide_mask
→ CollideMask¶ - Getter
Returns the current “from”
CollideMask
. In order for a collision to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.- Setter
Sets the “from”
CollideMask
. In order for a collision to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
-
static
getClassType
() → TypeHandle¶
-
getColliderSort
() → int¶ Returns the collider_sort value that has been set for this particular node. See
setColliderSort()
.
-
static
getDefaultCollideMask
() → CollideMask¶ Returns the default into_collide_mask assigned to new
CollisionNodes
.
-
getFromCollideMask
() → CollideMask¶ Returns the current “from”
CollideMask
. In order for a collision to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
-
getIntoCollideMask
() → CollideMask¶ Returns the current “into”
CollideMask
. In order for a collision to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
-
getSolid
(n: int) → CollisionSolid¶
-
insertSolid
(n: int, solid: CollisionSolid) → None¶ Inserts the indicated solid to the node at the indicated position.
-
property
into_collide_mask
→ CollideMask¶ - Getter
Returns the current “into”
CollideMask
. In order for a collision to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.- Setter
Sets the “into”
CollideMask
. In order for a collision to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
-
modifySolid
(n: int) → CollisionSolid¶
-
removeSolid
(n: int) → None¶ Removes the solid with the indicated index. This will shift all subsequent indices down by one.
-
setCollideMask
(mask: CollideMask) → None¶ Simultaneously sets both the “from” and “into”
CollideMask
values to the same thing.
-
setColliderSort
(sort: int) → None¶ Sets a particular collider_sort value on this node. This controls the order in which colliders (that is, “from nodes”) are grouped together for the collision traversal.
If there are 32 or fewer colliders added to any particular
CollisionTraverser
, then this value has no meaning. It is only useful if there are many colliders, which may force theCollisionTraverser
to make multiple passes through the data; in that case, it may be a useful optimization to group colliders that have similar bounding volumes together (by giving them similar sort values).
-
setFromCollideMask
(mask: CollideMask) → None¶ Sets the “from”
CollideMask
. In order for a collision to be detected from this object into another object, the intersection of this object’s “from” mask and the other object’s “into” mask must be nonzero.
-
setIntoCollideMask
(mask: CollideMask) → None¶ Sets the “into”
CollideMask
. In order for a collision to be detected from another object into this object, the intersection of the other object’s “from” mask and this object’s “into” mask must be nonzero.
-
setSolid
(n: int, solid: CollisionSolid) → None¶ Replaces the solid with the indicated index.
-
property
solids
→ Sequence[ConstPointerTo_CollisionSolid]¶ Getter Setter
Replaces the solid with the indicated index.
-