15 #ifndef EGGTEXTURECOLLECTION_H 16 #define EGGTEXTURECOLLECTION_H 18 #include "pandabase.h" 20 #include "eggTexture.h" 21 #include "eggGroupNode.h" 22 #include "vector_PT_EggTexture.h" 42 typedef vector_PT_EggTexture OrderedTextures;
45 typedef OrderedTextures::const_iterator iterator;
46 typedef iterator const_iterator;
47 typedef OrderedTextures::size_type size_type;
63 bool is_empty()
const;
64 int get_num_textures()
const;
66 MAKE_SEQ(get_textures, get_num_textures, get_texture);
69 EggGroupNode::iterator insert_textures(
EggGroupNode *node);
70 EggGroupNode::iterator insert_textures(
EggGroupNode *node, EggGroupNode::iterator position);
73 int find_used_textures(
EggNode *node);
74 void remove_unused_textures(
EggNode *node);
76 int collapse_equivalent_textures(
int eq,
EggGroupNode *node);
77 int collapse_equivalent_textures(
int eq, TextureReplacement &removed);
79 const TextureReplacement &replace);
81 void uniquify_trefs();
83 void sort_by_basename();
88 INLINE iterator begin()
const;
89 INLINE iterator end()
const;
90 INLINE
bool empty()
const;
93 INLINE
EggTexture *operator [](size_type n)
const;
94 INLINE size_type size()
const;
106 EggTexture *find_tref(
const string &tref_name)
const;
113 OrderedTextures _ordered_textures;
116 #include "eggTextureCollection.I"
A base class for nodes in the hierarchy that are not leaf nodes.
Defines a texture map that may be applied to geometry.
This is a collection of textures by TRef name.
The name of a file, such as a texture file or an Egg file.
A base class for things that may be directly added into the egg hierarchy.