Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EggTextureCollection Class Reference

#include <eggTextureCollection.h>

List of all members.

Public Types

typedef OrderedTextures::const_iterator iterator
typedef iterator const_iterator
typedef OrderedTextures::size_type size_type
typedef pmap< PT_EggTexture,
PT_EggTexture
TextureReplacement

Public Member Functions

 EggTextureCollection ()
 EggTextureCollection (const EggTextureCollection &copy)
EggTextureCollection & operator= (const EggTextureCollection &copy)
 ~EggTextureCollection ()
void clear ()
int extract_textures (EggGroupNode *node)
EggGroupNode::iterator insert_textures (EggGroupNode *node)
EggGroupNode::iterator insert_textures (EggGroupNode *node, EggGroupNode::iterator position)
int find_used_textures (EggNode *node)
void remove_unused_textures (EggNode *node)
int collapse_equivalent_textures (int eq, EggGroupNode *node)
int collapse_equivalent_textures (int eq, TextureReplacement &removed)
void uniquify_trefs ()
void sort_by_tref ()
INLINE iterator begin () const
INLINE iterator end () const
INLINE bool empty () const
INLINE size_type size () const
bool add_texture (EggTexture *texture)
bool remove_texture (EggTexture *texture)
EggTexturecreate_unique_texture (const EggTexture &copy, int eq)
EggTexturefind_tref (const string &tref_name) const
EggTexturefind_filename (const Filename &filename) const

Static Public Member Functions

void replace_textures (EggGroupNode *node, const TextureReplacement &replace)

Private Types

typedef pmap< PT_EggTexture,
int > 
Textures
typedef vector_PT_EggTexture OrderedTextures

Private Attributes

Textures _textures
OrderedTextures _ordered_textures


Member Typedef Documentation

typedef iterator EggTextureCollection::const_iterator
 

Definition at line 51 of file eggTextureCollection.h.

typedef OrderedTextures::const_iterator EggTextureCollection::iterator
 

Definition at line 50 of file eggTextureCollection.h.

Referenced by EggLoader::load_textures().

typedef vector_PT_EggTexture EggTextureCollection::OrderedTextures [private]
 

Definition at line 47 of file eggTextureCollection.h.

typedef OrderedTextures::size_type EggTextureCollection::size_type
 

Definition at line 52 of file eggTextureCollection.h.

typedef pmap<PT_EggTexture, PT_EggTexture > EggTextureCollection::TextureReplacement
 

Definition at line 54 of file eggTextureCollection.h.

Referenced by collapse_equivalent_textures(), and EggLoader::load_textures().

typedef pmap<PT_EggTexture, int> EggTextureCollection::Textures [private]
 

Definition at line 46 of file eggTextureCollection.h.


Constructor & Destructor Documentation

EggTextureCollection::EggTextureCollection  ) 
 

Definition at line 34 of file eggTextureCollection.cxx.

EggTextureCollection::EggTextureCollection const EggTextureCollection &  copy  ) 
 

Definition at line 43 of file eggTextureCollection.cxx.

EggTextureCollection::~EggTextureCollection  ) 
 

Definition at line 67 of file eggTextureCollection.cxx.


Member Function Documentation

bool EggTextureCollection::add_texture EggTexture texture  ) 
 

Definition at line 365 of file eggTextureCollection.cxx.

References _ordered_textures, _textures, PT, and texture.

Referenced by collapse_equivalent_textures(), create_unique_texture(), and EggGroupNode::find_textures().

INLINE iterator EggTextureCollection::begin  )  const
 

void EggTextureCollection::clear  ) 
 

Definition at line 76 of file eggTextureCollection.cxx.

References _ordered_textures, and _textures.

Referenced by collapse_equivalent_textures(), and remove_unused_textures().

int EggTextureCollection::collapse_equivalent_textures int  eq,
TextureReplacement removed
 

Definition at line 252 of file eggTextureCollection.cxx.

References _ordered_textures, add_texture(), clear(), first, and tex.

int EggTextureCollection::collapse_equivalent_textures int  eq,
EggGroupNode node
 

Definition at line 223 of file eggTextureCollection.cxx.

References replace_textures(), and TextureReplacement.

EggTexture * EggTextureCollection::create_unique_texture const EggTexture copy,
int  eq
 

Definition at line 424 of file eggTextureCollection.cxx.

References _ordered_textures, add_texture(), EggTexture::is_equivalent_to(), and tex.

INLINE bool EggTextureCollection::empty  )  const
 

INLINE iterator EggTextureCollection::end  )  const
 

int EggTextureCollection::extract_textures EggGroupNode node  ) 
 

Definition at line 90 of file eggTextureCollection.cxx.

References EggGroupNode::find_textures().

EggTexture * EggTextureCollection::find_filename const Filename &  filename  )  const
 

Definition at line 472 of file eggTextureCollection.cxx.

References _ordered_textures, ImageBuffer::get_filename(), NULL, and tex.

EggTexture * EggTextureCollection::find_tref const string &  tref_name  )  const
 

Definition at line 449 of file eggTextureCollection.cxx.

References _ordered_textures, NULL, and tex.

int EggTextureCollection::find_used_textures EggNode node  ) 
 

Definition at line 157 of file eggTextureCollection.cxx.

References _ordered_textures, _textures, EggGroupNode::begin(), DCAST, EggGroupNode::end(), EggGroupNode::get_class_type(), EggPrimitive::get_class_type(), EggPrimitive::get_texture(), EggPrimitive::has_texture(), TypedObject::is_of_type(), EggGroupNode::iterator, and tex.

Referenced by remove_unused_textures().

EggGroupNode::iterator EggTextureCollection::insert_textures EggGroupNode node,
EggGroupNode::iterator  position
 

Definition at line 118 of file eggTextureCollection.cxx.

References _ordered_textures, EggGroupNode::insert(), and texture.

EggGroupNode::iterator EggTextureCollection::insert_textures EggGroupNode node  ) 
 

Definition at line 105 of file eggTextureCollection.cxx.

References EggGroupNode::begin().

EggTextureCollection & EggTextureCollection::operator= const EggTextureCollection &  copy  ) 
 

Definition at line 55 of file eggTextureCollection.cxx.

References _ordered_textures, and _textures.

bool EggTextureCollection::remove_texture EggTexture texture  ) 
 

Definition at line 392 of file eggTextureCollection.cxx.

References _ordered_textures, _textures, PT, and texture.

void EggTextureCollection::remove_unused_textures EggNode node  ) 
 

Definition at line 201 of file eggTextureCollection.cxx.

References clear(), and find_used_textures().

void EggTextureCollection::replace_textures EggGroupNode node,
const TextureReplacement replace
[static]
 

Definition at line 297 of file eggTextureCollection.cxx.

References EggGroupNode::begin(), DCAST, EggGroupNode::end(), EggGroupNode::get_class_type(), EggPrimitive::get_class_type(), EggPrimitive::get_texture(), EggPrimitive::has_texture(), TypedObject::is_of_type(), EggGroupNode::iterator, PT, EggPrimitive::set_texture(), and tex.

Referenced by collapse_equivalent_textures().

INLINE size_type EggTextureCollection::size  )  const
 

void EggTextureCollection::sort_by_tref  ) 
 

Definition at line 352 of file eggTextureCollection.cxx.

References _ordered_textures.

void EggTextureCollection::uniquify_trefs  ) 
 

Definition at line 331 of file eggTextureCollection.cxx.

References _ordered_textures, NameUniquifier::add_name(), and tex.


Member Data Documentation

OrderedTextures EggTextureCollection::_ordered_textures [private]
 

Definition at line 105 of file eggTextureCollection.h.

Referenced by add_texture(), clear(), collapse_equivalent_textures(), create_unique_texture(), find_filename(), find_tref(), find_used_textures(), insert_textures(), operator=(), remove_texture(), sort_by_tref(), and uniquify_trefs().

Textures EggTextureCollection::_textures [private]
 

Definition at line 104 of file eggTextureCollection.h.

Referenced by add_texture(), clear(), find_used_textures(), operator=(), and remove_texture().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:12:13 2003 for Panda by doxygen1.3