Panda3D
Public Member Functions | Static Public Member Functions

NodeCullCallbackData Class Reference

This kind of CallbackData is passed to the CallbackObject added to CallbackNode:set_cull_callback(). More...

#include "nodeCullCallbackData.h"

Inheritance diagram for NodeCullCallbackData:
CallbackData TypedObject MemoryBase

List of all members.

Public Member Functions

 NodeCullCallbackData (CullTraverser *trav, CullTraverserData &data)
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer.
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer.
virtual TypeHandle force_init_type ()
int get_best_parent_from_Set (const std::set< int > &) const
CullTraverserDataget_data () const
 Returns the CullTraverserData in use at the time of the callback.
CullTraverserget_trav () const
 Returns the CullTraverser in use at the time of the callback.
virtual TypeHandle get_type () const
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete[] (void *ptr)
void operator delete[] (void *, void *)
void * operator new (size_t size)
void * operator new (size_t size, void *ptr)
void * operator new[] (size_t size, void *ptr)
void * operator new[] (size_t size)
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.

Detailed Description

This kind of CallbackData is passed to the CallbackObject added to CallbackNode:set_cull_callback().

Definition at line 29 of file nodeCullCallbackData.h.


Member Function Documentation

TypedObject * TypedObject::as_typed_object ( ) [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 99 of file typedObject.I.

const TypedObject * TypedObject::as_typed_object ( ) const [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 110 of file typedObject.I.

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.

int TypedObject::get_type_index ( ) const [inline, inherited]

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 52 of file typedObject.I.

References TypeHandle::get_index().

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().

bool TypedObject::is_exact_type ( TypeHandle  handle) const [inline, inherited]
bool TypedObject::is_of_type ( TypeHandle  handle) const [inline, inherited]

Returns true if the current object is or derives from the indicated type.

Definition at line 63 of file typedObject.I.

References TypeHandle::is_derived_from().

Referenced by EggSliderData::add_back_pointer(), EggJointData::add_back_pointer(), CIntervalManager::add_c_interval(), XFileNode::add_child(), CollisionTraverser::add_collider(), CollisionHandlerPhysical::add_collider(), EggXfmSAnim::add_data(), CharacterJointBundle::add_node(), NonlinearImager::add_screen(), EggGroupNode::apply_first_attribute(), EggGroupNode::apply_last_attribute(), DeferredNodeProperty::apply_to_node(), RecorderController::begin_playback(), NodePath::clear_clip_plane(), EggGroupNode::clear_connected_shading(), NodePath::clear_light(), EggBase::convert_paths(), NodePath::decode_from_bam_stream(), VrpnClient::disconnect_device(), PhysicsManager::do_physics(), GraphicsStateGuardian::fetch_specified_part(), EggRenderState::fill_state(), AnimBundleNode::find_anim_bundle(), EggGroupNode::find_coordsys_entry(), XFile::find_data_object(), Character::find_joint(), EggGroupNode::find_materials(), Character::find_slider(), XFile::find_template(), EggGroupNode::find_textures(), EggMaterialCollection::find_used_materials(), EggTextureCollection::find_used_textures(), EggGroupNode::force_filenames(), EggJointData::force_initial_rest_frame(), WindowFramework::get_aspect_2d(), EggPoolUniquifier::get_category(), EggGroupUniquifier::get_category(), EggGroupNode::get_connected_shading(), PandaFramework::get_mouse(), FactoryParams::get_param_of_type(), EggGroupNode::has_absolute_pathnames(), NodePath::has_clip_plane(), NodePath::has_clip_plane_off(), NodePath::has_light(), PandaFramework::hide_collision_solids(), x11GraphicsWindow::open_window(), eglGraphicsWindow::open_window(), EggNode::parse_egg(), CharacterMaker::part_to_node(), EggGroupNode::post_apply_flat_attribute(), EggBinner::prepare_node(), PortalClipper::prepare_portal(), NodePath::project_texture(), EggMatrixTablePointer::quantize_channels(), ParametricCurveCollection::r_add_curves(), SceneGraphReducer::r_collect_vertex_data(), EggGroupNode::r_load_externals(), EggGroupNode::rebuild_vertex_pools(), EggGroupNode::recompute_polygon_normals(), EggGroupNode::remove_invalid_primitives(), EggGroupNode::remove_unused_vertices(), EggLoader::reparent_decals(), EggMaterialCollection::replace_materials(), EggTextureCollection::replace_textures(), EggGroupNode::resolve_filenames(), EggGroupNode::reverse_vertex_ordering(), NodePath::set_clip_plane(), NodePath::set_clip_plane_off(), NodePath::set_light(), ProjectionScreen::set_projector(), NonlinearImager::set_source_camera(), EggXfmSAnim::set_value(), NonlinearImager::set_viewer_camera(), PandaFramework::show_collision_solids(), BamCache::store(), XFileToEggConverter::strip_nodes(), EggGroupNode::strip_normals(), DataGraphTraverser::traverse(), DataGraphTraverser::traverse_below(), EggGroupNode::triangulate_polygons(), EggGroupNode::unify_attributes(), EggNameUniquifier::uniquify(), upcall(), PhysicsCollisionHandler::validate_target(), EggXfmSAnim::write(), EggGroup::write(), EggToDXFLayer::write_3d_face(), and EggToDXFLayer::write_entities().

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().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations