Panda3D
Public Member Functions | Static Public Member Functions

EggBackPointer Class Reference

This stores a pointer from an EggJointData or EggSliderData object back to the referencing data in an egg file. More...

#include "eggBackPointer.h"

Inheritance diagram for EggBackPointer:
TypedObject MemoryBase EggJointPointer EggSliderPointer EggJointNodePointer EggMatrixTablePointer EggScalarTablePointer EggVertexPointer

List of all members.

Public Member Functions

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 void extend_to (int num_frames)
 Extends the table to the indicated number of frames.
virtual TypeHandle force_init_type ()
int get_best_parent_from_Set (const std::set< int > &) const
virtual double get_frame_rate () const
 Returns the stated frame rate of this particular joint, or 0.0 if it doesn't state.
virtual int get_num_frames () const =0
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.
virtual bool has_vertices () const
 Returns true if there are any vertices referenced by the node this points to, false otherwise.
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 *ptr)
void * operator new (size_t size)
void * operator new[] (size_t size, void *ptr)
void * operator new[] (size_t size)
virtual void set_name (const string &name)
 Applies the indicated name change to the egg file.

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 stores a pointer from an EggJointData or EggSliderData object back to the referencing data in an egg file.

One of these objects corresponds to each model appearing in an egg file, and may reference either a single node, or a table, or a slew of vertices and primitives, depending on the type of data stored.

This is just an abstract base class. The actual details are stored in the various subclasses.

Definition at line 35 of file eggBackPointer.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.

void EggBackPointer::extend_to ( int  num_frames) [virtual]

Extends the table to the indicated number of frames.

Reimplemented in EggMatrixTablePointer, and EggScalarTablePointer.

Definition at line 46 of file eggBackPointer.cxx.

Referenced by EggComponentData::extend_to().

double EggBackPointer::get_frame_rate ( ) const [virtual]

Returns the stated frame rate of this particular joint, or 0.0 if it doesn't state.

Reimplemented in EggMatrixTablePointer, and EggScalarTablePointer.

Definition at line 36 of file eggBackPointer.cxx.

Referenced by EggComponentData::get_frame_rate().

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

bool EggBackPointer::has_vertices ( ) const [virtual]

Returns true if there are any vertices referenced by the node this points to, false otherwise.

For certain kinds of back pointers (e.g. table animation entries), this is always false.

Reimplemented in EggJointNodePointer, and EggVertexPointer.

Definition at line 60 of file eggBackPointer.cxx.

static void EggBackPointer::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 TypedObject.

Reimplemented in EggJointNodePointer, EggJointPointer, EggMatrixTablePointer, EggScalarTablePointer, EggSliderPointer, and EggVertexPointer.

Definition at line 50 of file eggBackPointer.h.

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(), NodeCullCallbackData::upcall(), PhysicsCollisionHandler::validate_target(), EggXfmSAnim::write(), EggGroup::write(), EggToDXFLayer::write_3d_face(), and EggToDXFLayer::write_entities().

void EggBackPointer::set_name ( const string &  name) [virtual]

Applies the indicated name change to the egg file.

Reimplemented in EggJointNodePointer, EggMatrixTablePointer, and EggScalarTablePointer.

Definition at line 70 of file eggBackPointer.cxx.


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