15 #ifndef COLLISIONVISUALIZER_H
16 #define COLLISIONVISUALIZER_H
18 #include "pandabase.h"
19 #include "pandaNode.h"
20 #include "collisionRecorder.h"
21 #include "collisionSolid.h"
25 #ifdef DO_COLLISION_RECORDING
37 class EXPCL_PANDA_COLLIDE CollisionVisualizer :
public PandaNode,
public CollisionRecorder {
39 CollisionVisualizer(
const string &name);
40 virtual ~CollisionVisualizer();
42 INLINE
void set_point_scale(PN_stdfloat point_scale);
43 INLINE PN_stdfloat get_point_scale()
const;
45 INLINE
void set_normal_scale(PN_stdfloat normal_scale);
46 INLINE PN_stdfloat get_normal_scale()
const;
55 virtual void output(ostream &out)
const;
58 virtual void begin_traversal();
59 virtual void collision_tested(
const CollisionEntry &entry,
bool detected);
77 class CollisionPoint {
94 PN_stdfloat _point_scale;
95 PN_stdfloat _normal_scale;
102 static void init_type() {
103 PandaNode::init_type();
104 CollisionRecorder::init_type();
105 register_type(_type_handle,
"CollisionVisualizer",
106 PandaNode::get_class_type(),
107 CollisionRecorder::get_class_type());
110 return get_class_type();
112 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
118 #include "collisionVisualizer.I"
120 #endif // DO_COLLISION_RECORDING
A basic node of the scene graph or data graph.
This is our own Panda specialization on the default STL map.
This collects together the pieces of data that are accumulated for each node while walking the scene ...
virtual PandaNode * make_copy() const
Returns a newly-allocated PandaNode that is a shallow copy of this one.
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
This is our own Panda specialization on the default STL vector.
Defines a single collision event.
virtual bool is_renderable() const
Returns true if there is some value to visiting this particular node during the cull traversal for an...
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
TypedObject * as_typed_object()
Returns the object, upcast (if necessary) to a TypedObject pointer.
TypeHandle is the identifier used to differentiate C++ class types.
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling...
virtual bool cull_callback(CullTraverser *trav, CullTraverserData &data)
This function will be called during the cull traversal to perform any additional operations that shou...