Panda3D
Public Member Functions | Static Public Member Functions | List of all members
EggObject Class Reference

The highest-level base class in the egg directory. (Almost) all things egg inherit from this. More...

Inheritance diagram for EggObject:
TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase EggBinMaker EggNamedObject EggNameUniquifier EggSwitchCondition EggVertex EggPolysetMaker EggNode EggVertexAux EggVertexUV EggGroupUniquifier EggPoolUniquifier EggSwitchConditionDistance EggAnimData EggAnimPreload EggComment EggCoordinateSystem EggFilenameNode EggGroupNode EggMaterial EggPrimitive EggVertexPool

Public Member Functions

 __init__ ()
 
 __init__ (const EggObject copy)
 
 clearUserData ()
 Removes all user data pointers from the node. More...
 
 clearUserData (TypeHandle type)
 Removes the user data pointer of the indicated type. More...
 
EggUserData getUserData ()
 Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored. More...
 
EggUserData getUserData (TypeHandle type)
 Returns the user data pointer of the indicated type, if it exists, or NULL if it does not. More...
 
bool hasUserData ()
 Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise. More...
 
bool hasUserData (TypeHandle type)
 Returns true if the user data pointer of the indicated type has been set, false otherwise. More...
 
EggObject operator= (const EggObject copy)
 
 setUserData (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. More...
 
- Public Member Functions inherited from TypedObject
TypeHandle getType ()
 Derived classes should override this function to return get_class_type(). More...
 
int getTypeIndex ()
 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(). More...
 
bool isExactType (TypeHandle handle)
 Returns true if the current object is the indicated type exactly. More...
 
bool isOfType (TypeHandle handle)
 Returns true if the current object is or derives from the indicated type. More...
 
- Public Member Functions inherited from ReferenceCount
int getRefCount ()
 Returns the current reference count. More...
 
 ref ()
 Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically. More...
 
bool testRefCountIntegrity ()
 Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise. More...
 
bool testRefCountNonzero ()
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise. More...
 
bool unref ()
 Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete(). More...
 

Static Public Member Functions

static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle getClassType ()
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle getClassType ()
 

Detailed Description

The highest-level base class in the egg directory. (Almost) all things egg inherit from this.

Member Function Documentation

◆ __init__() [1/2]

__init__ ( )

◆ __init__() [2/2]

__init__ ( const EggObject  copy)

◆ clearUserData() [1/2]

clearUserData ( )

Removes all user data pointers from the node.

◆ clearUserData() [2/2]

clearUserData ( TypeHandle  type)

Removes the user data pointer of the indicated type.

◆ getClassType()

static TypeHandle getClassType ( )
static

◆ getUserData() [1/2]

EggUserData getUserData ( )

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

◆ getUserData() [2/2]

EggUserData getUserData ( TypeHandle  type)

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

◆ hasUserData() [1/2]

bool hasUserData ( )

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

◆ hasUserData() [2/2]

bool hasUserData ( TypeHandle  type)

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

◆ operator=()

EggObject operator= ( const EggObject  copy)

◆ setUserData()

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