14#ifndef COLLISIONLEVELSTATE_H
15#define COLLISIONLEVELSTATE_H
32template<
class MaskType>
33class CollisionLevelState :
public CollisionLevelStateBase {
38 INLINE CollisionLevelState(
const NodePath &node_path);
41 INLINE CollisionLevelState(
const CollisionLevelState<MaskType> ©);
42 INLINE
void operator = (
const CollisionLevelState<MaskType> ©);
54 INLINE
bool has_any_collider()
const;
56 INLINE
void omit_collider(
int n);
64 typedef MaskType CurrentMask;
67 friend class CollisionTraverser;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is the state information the CollisionTraverser retains for each level during traversal.
bool any_in_bounds()
Checks the bounding volume of the current node against each of our colliders.
bool has_collider(int n) const
Returns true if the nth collider in the LevelState is still part of the level.
void prepare_collider(const ColliderDef &def, const NodePath &root)
Adds the indicated Collider to the set of Colliders in the current level state.
bool apply_transform()
Applies the inverse transform from the current node, if any, onto all the colliders in the level stat...
static bool has_max_colliders()
Returns true if there is any the maximum number of colliders that may be added to the CollisionLevelS...
static int get_max_colliders()
Returns the maximum number of colliders that may be added to the CollisionLevelStateBase at any one t...
CollisionLevelState(const CollisionLevelState< MaskType > &parent, PandaNode *child)
This constructor goes to the next child node in the traversal.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A basic node of the scene graph or data graph.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.