Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

dcast.h File Reference

#include "pandabase.h"
#include "typeHandle.h"
#include "typedObject.h"
#include "dcast.T"

Go to the source code of this file.

Defines

#define DCAST(want_type, pointer)   _dcast((want_type*)0, pointer)
#define DCAST_INTO_V(to_pointer, from_pointer)
#define DCAST_INTO_R(to_pointer, from_pointer, return_value)

Functions

template<class WantType> INLINE WantType * _dcast (WantType *, TypedObject *ptr)
template<class WantType> INLINE const WantType * _dcast (WantType *, const TypedObject *ptr)
template<class WantType> INLINE WantType * _dcast_ref (WantType *&, TypedObject *ptr)
template<class WantType> INLINE const WantType * _dcast_ref (WantType *&, const TypedObject *ptr)
EXPCL_PANDAEXPRESS bool _dcast_verify (TypeHandle want_handle, size_t want_size, const TypedObject *ptr)


Define Documentation

#define DCAST want_type,
pointer   )     _dcast((want_type*)0, pointer)
 

Definition at line 47 of file dcast.h.

Referenced by EggXfmSAnim::add_data(), ComputedVerticesMaker::add_vertex_joints(), NonlinearImager::add_viewer(), ProjtexShader::apply(), TextNode::apply_attribs_to_vertices(), GeomNode::apply_attribs_to_vertices(), DXGraphicsStateGuardian8::apply_texture(), DeferredNodeProperty::apply_to_node(), CollisionLevelState::apply_transform(), CullTraverserData::apply_transform_and_state(), BoundingSphere::around_finite(), attach_sky(), RIBGraphicsWindow::begin_file(), MovingPartBase::bind_hierarchy(), GLGraphicsStateGuardian::bind_texture(), CRGraphicsStateGuardian::bind_texture(), Builder::build(), AnimBundleMaker::build_hierarchy(), CharacterMaker::build_joint_hierarchy(), WindowFramework::center_trackball(), TransformState::change_this(), RenderState::change_this(), RenderEffects::change_this(), RenderEffect::change_this(), RenderAttrib::change_this(), EggBinMaker::collect_nodes(), SceneGraphAnalyzer::collect_statistics(), GeomNode::combine_with(), CollisionNode::combine_with(), CollisionTraverser::compare_collider_to_geom_node(), PandaNode::CData::complete_down_list(), TextureAttrib::complete_pointers(), Child::complete_pointers(), Parent::complete_pointers(), Person::complete_pointers(), RenderState::complete_pointers(), RenderEffects::complete_pointers(), PiecewiseCurve::complete_pointers(), PartGroup::complete_pointers(), PartBundleNode::complete_pointers(), PandaNode::CData::complete_pointers(), MaterialAttrib::complete_pointers(), GeomSprite::complete_pointers(), GeomNode::CData::complete_pointers(), FogAttrib::complete_pointers(), CollisionNode::complete_pointers(), CharacterJoint::complete_pointers(), Character::complete_pointers(), AnimGroup::complete_pointers(), AnimBundleNode::complete_pointers(), PandaNode::CData::complete_up_list(), DXGraphicsStateGuardian8::copy_texture(), EggLoader::create_collision_polygons(), AnimBundleMaker::create_xfm_channel(), delete_tex_callback(), RenderEffects::determine_billboard(), RenderState::determine_bin(), RenderEffects::determine_compass(), RenderState::determine_fog(), CharacterMaker::determine_primitive_home(), RenderState::determine_transparency(), VrpnClient::disconnect_device(), GraphicsEngine::do_cull(), GLGraphicsStateGuardian::draw_geom_node(), CRGraphicsStateGuardian::draw_geom_node(), EggXfmAnimData::EggXfmAnimData(), RIBGraphicsWindow::end_file(), StaticTextFont::find_character_gsets(), EggLoader::find_collision_geometry(), EggGroupNode::find_coordsys_entry(), EggGroupNode::find_materials(), EggGroupNode::find_textures(), EggMaterialCollection::find_used_materials(), EggTextureCollection::find_used_textures(), NodePath::get_bin_draw_order(), NodePath::get_bin_name(), EggBinner::get_bin_number(), MovingPartScalar::get_blend_value(), MovingPartMatrix::get_blend_value(), NodePath::get_color(), NodePath::get_color_scale(), NodePath::get_depth_test(), NodePath::get_depth_write(), NodePath::get_fog(), EggXfmSAnim::get_num_rows(), FactoryParams::get_param(), AnimControl::get_part(), NodePath::get_texture(), get_textures_by_filename(), NodePath::get_transparency(), NodePath::get_two_sided(), EggXfmSAnim::get_value(), CollisionHandlerPusher::handle_entries(), NodePath::has_fog(), NodePath::has_fog_off(), NodePath::has_material(), NodePath::has_texture(), NodePath::has_texture_off(), herc_keys(), AnimBundleMaker::inspect_tree(), LensNode::is_in_view(), CullTraverserData::is_in_view_impl(), issue_transformed_color_gl(), LODInstance::LODInstance(), main(), EggBinMaker::make_bins_for_group(), AnimBundleMaker::make_bundle(), EggLoader::make_collision_plane(), EggLoader::make_collision_polygon(), EggLoader::make_collision_polyset(), EggLoader::make_collision_solids(), EggLoader::make_collision_sphere(), CharacterMaker::make_geometry(), EggLoader::make_node(), min_shader_keys(), EggXfmSAnim::normalize_by_expanding(), EggXfmSAnim::optimize(), CharacterMaker::parent_joint_nodes(), CharacterMaker::part_to_node(), SpheretexHighlighter::pre_apply(), DXGraphicsStateGuardian7::prepare_texture(), PT(), ParametricCurveCollection::r_add_curves(), EggGroupNode::r_collect_vertex_normals(), NodePath::r_find_all_textures(), r_find_bundles(), NodePath::r_find_texture(), CullTraverser::r_get_decals(), EggGroupNode::r_load_externals(), ReportGeoms::reached_node(), Geom::recompute_bound(), CollisionPolygon::recompute_bound(), ProjectionScreen::recompute_geom_node(), TextNode::recompute_internal_bound(), ProjectionScreen::recompute_node(), EggGroupNode::recompute_polygon_normals(), DataNode::reconnect(), recreate_tex_callback(), refill_tex_callback(), GLGraphicsStateGuardian::release_geom_node(), CRGraphicsStateGuardian::release_geom_node(), GLGraphicsStateGuardian::release_texture(), DXGraphicsStateGuardian8::release_texture(), CRGraphicsStateGuardian::release_texture(), EggGroupNode::remove_invalid_primitives(), EggGroupNode::remove_unused_vertices(), EggMaterialCollection::replace_materials(), EggTextureCollection::replace_textures(), EggGroupNode::resolve_filenames(), GLGraphicsStateGuardian::restore_frame_buffer(), CRGraphicsStateGuardian::restore_frame_buffer(), EggGroupNode::reverse_vertex_ordering(), SpriteParticleRenderer::set_from_node(), EggXfmSAnim::set_value(), NonlinearImager::set_viewer_camera(), EggLoader::setup_bucket(), RIBGraphicsWindow::setup_window(), EggPolysetMaker::sorts_less(), EggBinner::sorts_less(), CullTraverser::start_decal(), EggGroupNode::strip_normals(), DataGraphTraverser::traverse(), DataGraphTraverser::traverse_below(), CullTraverser::traverse_below(), EggGroupNode::triangulate_polygons(), VirtualFileSystem::unmount(), CharacterJoint::update_internals(), wdxGraphicsWindow7::wdxGraphicsWindow7(), wdxGraphicsWindow8::wdxGraphicsWindow8(), and EggGroup::write().

#define DCAST_INTO_R to_pointer,
from_pointer,
return_value   ) 
 

Value:

{ \
    (to_pointer) = _dcast_ref(to_pointer, from_pointer); \
    nassertr((void *)(to_pointer) != (void *)NULL, return_value); \
  }

Definition at line 84 of file dcast.h.

Referenced by CollisionLevelState::any_in_bounds(), wdxGraphicsWindow8::choose_device(), wdxGraphicsWindow7::choose_device(), TransparencyAttrib::compare_to_impl(), TextureAttrib::compare_to_impl(), TextureApplyAttrib::compare_to_impl(), TexMatrixAttrib::compare_to_impl(), RenderModeAttrib::compare_to_impl(), MaterialAttrib::compare_to_impl(), LightAttrib::compare_to_impl(), FogAttrib::compare_to_impl(), DepthWriteAttrib::compare_to_impl(), DepthTestAttrib::compare_to_impl(), DepthOffsetAttrib::compare_to_impl(), CullFaceAttrib::compare_to_impl(), CullBinAttrib::compare_to_impl(), CompassEffect::compare_to_impl(), ColorWriteAttrib::compare_to_impl(), ColorScaleAttrib::compare_to_impl(), ColorBlendAttrib::compare_to_impl(), ColorAttrib::compare_to_impl(), ClipPlaneAttrib::compare_to_impl(), BillboardEffect::compare_to_impl(), AlphaTestAttrib::compare_to_impl(), LightAttrib::complete_pointers(), ClipPlaneAttrib::complete_pointers(), PGItem::cull_callback(), wdxGraphicsWindow8::do_fullscreen_resize(), RopeNode::do_recompute_bound(), FactoryParams::get_param_of_type(), wglGraphicsWindow::open_window(), glxGraphicsWindow::open_window(), EggNode::parse_egg(), PT(), NodePath::r_find_texture(), PandaNode::recompute_bound(), CollisionSegment::recompute_bound(), and wdxGraphicsWindow8::verify_window_sizes().

#define DCAST_INTO_V to_pointer,
from_pointer   ) 
 

Value:

{ \
    (to_pointer) = _dcast_ref(to_pointer, from_pointer); \
    nassertv((void *)(to_pointer) != (void *)NULL); \
  }

Definition at line 78 of file dcast.h.

Referenced by CullBinFrontToBack::add_object(), CullBinBackToFront::add_object(), CollisionTraverser::compare_collider_to_geom_node(), CollisionTraverser::compare_collider_to_node(), compute_morphs(), Character::copy_node_pointers(), wdxGraphicsWindow8::create_screen_buffers_and_device(), Transform2SG::do_transmit_data(), Trackball::do_transmit_data(), MouseWatcher::do_transmit_data(), DriveInterface::do_transmit_data(), ButtonThrower::do_transmit_data(), PandaFramework::event_b(), PandaFramework::event_c(), PandaFramework::event_comma(), PandaFramework::event_esc(), PandaFramework::event_i(), PandaFramework::event_l(), PandaFramework::event_t(), PandaFramework::event_w(), PandaFramework::event_window_event(), glxGraphicsWindow::glxGraphicsWindow(), wglGraphicsWindow::make_current(), wdxGraphicsWindow8::make_current(), wdxGraphicsWindow7::make_current(), glxGraphicsWindow::make_current(), EventParameter::output(), CollisionLevelState::prepare_collider(), NodePath::r_adjust_all_priorities(), Character::r_copy_char(), Character::r_copy_children(), NodePath::r_find_all_textures(), NodePath::r_force_recompute_bounds(), NodePath::r_prepare_scene(), CollisionTraverser::r_traverse(), DisplayRegion::set_camera(), glxGraphicsWindow::setup_colormap(), WinGraphicsWindow::track_mouse_leaving(), EggNameUniquifier::uniquify(), and ComputedVertices::update().


Function Documentation

template<class WantType>
INLINE const WantType* _dcast WantType *  ,
const TypedObject ptr
 

template<class WantType>
INLINE WantType* _dcast WantType *  ,
TypedObject ptr
 

template<class WantType>
INLINE const WantType* _dcast_ref WantType *&  ,
const TypedObject ptr
 

template<class WantType>
INLINE WantType* _dcast_ref WantType *&  ,
TypedObject ptr
 

EXPCL_PANDAEXPRESS bool _dcast_verify TypeHandle  want_handle,
size_t  want_size,
const TypedObject ptr
 

Definition at line 35 of file dcast.cxx.

References TypedObject::get_class_type(), TypedObject::get_type(), get_verify_dcast(), TypedObject::is_of_type(), and NULL.


Generated on Fri Apr 18 00:10:41 2003 for Panda by doxygen1.3