15 #include "nodeCullCallbackData.h"
16 #include "callbackNode.h"
17 #include "cullTraverser.h"
18 #include "cullTraverserData.h"
19 #include "cullableObject.h"
20 #include "cullHandler.h"
29 void NodeCullCallbackData::
30 output(ostream &out)
const {
31 out << get_type() <<
"(" << (
void *)_trav <<
", " << (
void *)&_data <<
")";
50 if (node->
is_of_type(CallbackNode::get_class_type())) {
60 _data.get_internal_transform(_trav));
A basic node of the scene graph or data graph.
virtual void traverse_below(CullTraverserData &data)
Traverses all the children of the indicated node, with the given data, which has been converted into ...
bool is_of_type(TypeHandle handle) const
Returns true if the current object is or derives from the indicated type.
PandaNode * node() const
Returns the node traversed to so far.
A special node that can issue arbitrary callbacks to user code, either during the cull or draw traver...
CallbackObject * get_draw_callback() const
Returns the CallbackObject set by set_draw_callback().
The smallest atom of cull.
virtual void record_object(CullableObject *object, const CullTraverser *traverser)
This callback function is intended to be overridden by a derived class.
CullHandler * get_cull_handler() const
Returns the object that will receive the culled Geoms.
This is a generic object that can be assigned to a callback at various points in the rendering proces...
void set_draw_callback(CallbackObject *draw_callback)
Specifies a CallbackObject that will be responsible for drawing this object.
virtual void upcall()
You should make this call during the callback if you want to continue the normal rendering function t...
TypeHandle is the identifier used to differentiate C++ class types.