Panda3D
|
This specialization on CallbackData is passed when the callback is initiated from deep within the draw traversal, for a particular Geom. More...
#include "geomDrawCallbackData.h"
Public Member Functions | |
GeomDrawCallbackData (CullableObject *obj, GraphicsStateGuardianBase *gsg, bool force) | |
virtual TypeHandle | force_init_type () |
bool | get_force () const |
Returns true if any required data should be forced into memory if necessary to render the object, or false if the object should be omitted if some of the data is not available (at least until the data becomes available later). | |
GraphicsStateGuardianBase * | get_gsg () const |
Returns a pointer to the current GSG. | |
bool | get_lost_state () const |
Returns the lost_state flag. | |
CullableObject * | get_object () const |
Returns a pointer to the particular object that is being drawn. | |
virtual TypeHandle | get_type () const |
virtual void | output (ostream &out) const |
void | set_lost_state (bool lost_state) |
Sets the lost_state flag. | |
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 specialization on CallbackData is passed when the callback is initiated from deep within the draw traversal, for a particular Geom.
Definition at line 27 of file geomDrawCallbackData.h.
bool GeomDrawCallbackData::get_force | ( | ) | const [inline] |
Returns true if any required data should be forced into memory if necessary to render the object, or false if the object should be omitted if some of the data is not available (at least until the data becomes available later).
Definition at line 62 of file geomDrawCallbackData.I.
GraphicsStateGuardianBase * GeomDrawCallbackData::get_gsg | ( | ) | const [inline] |
Returns a pointer to the current GSG.
Definition at line 48 of file geomDrawCallbackData.I.
bool GeomDrawCallbackData::get_lost_state | ( | ) | const [inline] |
Returns the lost_state flag.
See set_lost_state().
Definition at line 90 of file geomDrawCallbackData.I.
CullableObject * GeomDrawCallbackData::get_object | ( | ) | const [inline] |
Returns a pointer to the particular object that is being drawn.
Definition at line 38 of file geomDrawCallbackData.I.
static void GeomDrawCallbackData::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 54 of file geomDrawCallbackData.h.
References CallbackData::init_type().
void GeomDrawCallbackData::set_lost_state | ( | bool | lost_state | ) | [inline] |
Sets the lost_state flag.
If this is true, the callback does not have to be quite so careful to clean up after itself; Panda will assume that the graphics state is in an unknown state after the callback has finished, and will issue all the necessary calls to restore it. If this is false, Panda will assume the callback will leave the graphics state exactly as it came in, and won't bother to try to restore it. The default is true.
Definition at line 80 of file geomDrawCallbackData.I.
void GeomDrawCallbackData::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 the Geoms in this node to the list of renderable objects for drawing. If this callback was made on a CallbackNode, it doesn't actually do anything, since only a GeomNode holds geoms.
Reimplemented from CallbackData.
Definition at line 44 of file geomDrawCallbackData.cxx.
References CullableObject::draw(), and Thread::get_current_thread().