Panda3D
Public Member Functions | Static Public Member Functions
EggObject Class Reference

The highest-level base class in the egg directory. More...

#include "eggObject.h"

Inheritance diagram for EggObject:
TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase EggBinMaker EggComponentData EggNamedObject EggNameUniquifier EggSwitchCondition EggVertex EggBinner EggPolysetMaker EggJointData EggSliderData EggNode EggVertexAux EggVertexUV EggGroupUniquifier EggPoolUniquifier EggSwitchConditionDistance

List of all members.

Public Member Functions

 EggObject (const EggObject &copy)
virtual EggTransformas_transform ()
 Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not.
void clear_user_data ()
 Removes *all* user data pointers from the node.
void clear_user_data (TypeHandle type)
 Removes the user data pointer of the indicated type.
virtual TypeHandle force_init_type ()
virtual TypeHandle get_type () const
EggUserDataget_user_data () const
 Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
EggUserDataget_user_data (TypeHandle type) const
 Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.
bool has_user_data () const
 Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
bool has_user_data (TypeHandle type) const
 Returns true if the user data pointer of the indicated type has been set, false otherwise.
EggObjectoperator= (const EggObject &copy)
void set_user_data (EggUserData *user_data)
 Sets the user data associated with this object.

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

The highest-level base class in the egg directory.

(Almost) all things egg inherit from this.

Definition at line 31 of file eggObject.h.


Member Function Documentation

Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not.

Reimplemented in EggGroup, and EggTexture.

Definition at line 183 of file eggObject.cxx.

Removes *all* user data pointers from the node.

Definition at line 153 of file eggObject.cxx.

Removes the user data pointer of the indicated type.

Definition at line 164 of file eggObject.cxx.

Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.

Definition at line 102 of file eggObject.cxx.

Referenced by MayaNodeTree::get_egg_group(), and EggBinner::sorts_less().

Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

Definition at line 113 of file eggObject.cxx.

bool EggObject::has_user_data ( ) const

Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.

Definition at line 130 of file eggObject.cxx.

Referenced by MayaNodeTree::get_egg_group().

bool EggObject::has_user_data ( TypeHandle  type) const

Returns true if the user data pointer of the indicated type has been set, false otherwise.

Definition at line 141 of file eggObject.cxx.

static void EggObject::init_type ( ) [inline, static]
void EggObject::set_user_data ( EggUserData user_data)

Sets the user data associated with this object.

This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.

The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.

This pointer is also copied by the copy assignment operator and copy constructor.

Definition at line 89 of file eggObject.cxx.

Referenced by MayaNodeTree::get_egg_group(), and EggBinner::prepare_node().


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