15 #ifndef COLLISIONLEVELSTATEBASE_H
16 #define COLLISIONLEVELSTATEBASE_H
18 #include "pandabase.h"
21 #include "pointerToArray.h"
22 #include "geometricBoundingVolume.h"
24 #include "workingNodePath.h"
25 #include "pointerTo.h"
27 #include "pStatCollector.h"
30 #include "register_type.h"
31 #include "collisionSolid.h"
63 void reserve(
int num_colliders);
69 INLINE
int get_num_colliders()
const;
73 INLINE
NodePath get_collider_node_path(
int n)
const;
88 BoundingVolumes _local_bounds;
89 BoundingVolumes _parent_bounds;
97 static void init_type() {
98 register_type(_type_handle,
"CollisionLevelStateBase");
107 #include "collisionLevelStateBase.I"
A basic node of the scene graph or data graph.
The abstract base class for all things that can collide with other things in the world, and all the things they can collide with (except geometry).
void set_include_mask(CollideMask include_mask)
Specifies the mask that is applied to the into CollideMask of nodes in the scene graph before testing...
CollideMask get_include_mask() const
Returns the mask that is applied to the into CollideMask of nodes in the scene graph before testing f...
This is a class designed to support low-overhead traversals of the complete scene graph...
A lightweight class that represents a single element that may be timed and/or counted via stats...
This is another abstract class, for a general class of bounding volumes that actually enclose points ...
const GeometricBoundingVolume * get_parent_bound(int n) const
Returns the bounding volume of the indicated collider, transformed into the previous node's transform...
PandaNode * node() const
Returns the PandaNode pointer of the node we have traversed to.
const GeometricBoundingVolume * get_local_bound(int n) const
Returns the bounding volume of the indicated collider, transformed into the current node's transform ...
void reserve(int num_colliders)
Indicates an intention to add the indicated number of colliders to the level state.
NodePath get_node_path() const
Returns the NodePath representing the node instance we have traversed to.
void prepare_collider(const ColliderDef &def, const NodePath &root)
Adds the indicated Collider to the set of Colliders in the current level state.
A node in the scene graph that can hold any number of CollisionSolids.
This class manages the traversal through the scene graph to detect collisions.
TypeHandle is the identifier used to differentiate C++ class types.
This is the state information the CollisionTraverser retains for each level during traversal...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...