15 #ifndef EGGMATERIALCOLLECTION_H 16 #define EGGMATERIALCOLLECTION_H 18 #include "pandabase.h" 20 #include "eggMaterial.h" 21 #include "eggGroupNode.h" 22 #include "vector_PT_EggMaterial.h" 42 typedef vector_PT_EggMaterial OrderedMaterials;
45 typedef OrderedMaterials::const_iterator iterator;
46 typedef iterator const_iterator;
47 typedef OrderedMaterials::size_type size_type;
64 EggGroupNode::iterator insert_materials(
EggGroupNode *node);
65 EggGroupNode::iterator insert_materials(
EggGroupNode *node, EggGroupNode::iterator position);
68 int find_used_materials(
EggNode *node);
69 void remove_unused_materials(
EggNode *node);
71 int collapse_equivalent_materials(
int eq,
EggGroupNode *node);
72 int collapse_equivalent_materials(
int eq, MaterialReplacement &removed);
74 const MaterialReplacement &replace);
76 void uniquify_mrefs();
82 INLINE iterator begin()
const;
83 INLINE iterator end()
const;
84 INLINE
bool empty()
const;
85 INLINE size_type size()
const;
98 EggMaterial *find_mref(
const string &mref_name)
const;
101 Materials _materials;
102 OrderedMaterials _ordered_materials;
105 #include "eggMaterialCollection.I"
A base class for nodes in the hierarchy that are not leaf nodes.
This is a collection of materials by MRef name.
A base class for things that may be directly added into the egg hierarchy.