EggObject

class EggObject

Bases: TypedReferenceCount

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

Inheritance diagram

Inheritance diagram of EggObject

EggObject(void)
EggObject(EggObject const &copy)
void clear_user_data(void)
void clear_user_data(TypeHandle type)

Removes all user data pointers from the node.

Removes the user data pointer of the indicated type.

static TypeHandle get_class_type(void)
EggUserData *get_user_data(void) const
EggUserData *get_user_data(TypeHandle type) const

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

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

bool has_user_data(void) const
bool has_user_data(TypeHandle type) const

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

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

void 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.