Panda3D
|
This kind of CallbackData is passed to the CallbackObject added to CallbackNode:set_cull_callback(). More...
#include "nodeCullCallbackData.h"
Public Member Functions | |
NodeCullCallbackData (CullTraverser *trav, CullTraverserData &data) | |
virtual TypeHandle | force_init_type () |
CullTraverserData & | get_data () const |
Returns the CullTraverserData in use at the time of the callback. | |
CullTraverser * | get_trav () const |
Returns the CullTraverser in use at the time of the callback. | |
virtual TypeHandle | get_type () const |
virtual void | output (ostream &out) const |
virtual void | upcall () |
You should make this call during the callback if you want to continue the normal rendering function that would have been done in the absence of a callback. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. |
This kind of CallbackData is passed to the CallbackObject added to CallbackNode:set_cull_callback().
Definition at line 29 of file nodeCullCallbackData.h.
CullTraverserData & NodeCullCallbackData::get_data | ( | ) | const [inline] |
Returns the CullTraverserData in use at the time of the callback.
This object contains data that changes at each node of the traversal, such as the current node and the current net transform to that node.
Definition at line 50 of file nodeCullCallbackData.I.
CullTraverser * NodeCullCallbackData::get_trav | ( | ) | const [inline] |
Returns the CullTraverser in use at the time of the callback.
This object contains data that does not change during the traversal, such as the DisplayRegion and Camera in use.
Definition at line 37 of file nodeCullCallbackData.I.
static void NodeCullCallbackData::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from CallbackData.
Definition at line 49 of file nodeCullCallbackData.h.
References CallbackData::init_type().
void NodeCullCallbackData::upcall | ( | ) | [virtual] |
You should make this call during the callback if you want to continue the normal rendering function that would have been done in the absence of a callback.
Specifically, this method will add this node to the draw queue, and continue the cull traversal for all the nodes below. If you omit this call, this node and its children will be pruned from the render result.
Reimplemented from CallbackData.
Definition at line 48 of file nodeCullCallbackData.cxx.
References CullTraverser::get_cull_handler(), CallbackNode::get_draw_callback(), CullTraverser::get_gsg(), CullTraverserData::get_net_transform(), TypedObject::is_of_type(), CullTraverserData::node(), CullHandler::record_object(), CullableObject::set_draw_callback(), and CullTraverser::traverse_below().