15 #ifndef EGGNAMEUNIQUIFIER_H 16 #define EGGNAMEUNIQUIFIER_H 73 #include "pandabase.h" 75 #include "eggObject.h" 97 EggNode *get_node(
const string &category,
const string &name)
const;
98 bool has_name(
const string &category,
const string &name)
const;
99 bool add_name(
const string &category,
const string &name,
102 virtual string get_category(
EggNode *node)=0;
103 virtual string filter_name(
EggNode *node);
104 virtual string generate_name(
EggNode *node,
105 const string &category,
int index);
111 Categories _categories;
119 static void init_type() {
120 EggObject::init_type();
121 register_type(_type_handle,
"EggNameUniquifier",
122 EggObject::get_class_type());
125 return get_class_type();
127 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
This is our own Panda specialization on the default STL map.
This is a handy class for guaranteeing unique node names in an egg hierarchy.
A base class for things that may be directly added into the egg hierarchy.
TypeHandle is the identifier used to differentiate C++ class types.
The highest-level base class in the egg directory.