The highest-level base class in the egg directory. (Almost) all things egg inherit from this.
void clear_user_data(TypeHandle type)
Removes all user data pointers from the node.
Removes the user data pointer of the indicated type.
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.
EggObjectmaintains multiple different
EggUserDatapointers, one for each unique type (as reported by
get_type()). If you know that only one type of
EggUserDataobject 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.