Panda3D
Public Member Functions
MaterialCollection Class Reference

List of all members.

Public Member Functions

 MaterialCollection (const MaterialCollection &copy)
void add_material (Material *node_material)
 Adds a new Material to the collection.
void add_materials_from (const MaterialCollection &other)
 Adds all the Materials indicated in the other collection to this material.
void clear ()
 Removes all Materials from the collection.
Materialfind_material (const string &name) const
 Returns the material in the collection with the indicated name, if any, or NULL if no material has that name.
Materialget_material (int index) const
 Returns the nth Material in the collection.
int get_num_materials () const
 Returns the number of Materials in the collection.
bool has_material (Material *material) const
 Returns true if the indicated Material appears in this collection, false otherwise.
MaterialCollection operator+ (const MaterialCollection &other) const
 Returns a MaterialCollection representing the concatenation of the two lists.
void operator+= (const MaterialCollection &other)
 Appends the other list onto the end of this one.
void operator= (const MaterialCollection &copy)
Materialoperator[] (int index) const
 Returns the nth Material in the collection.
void output (ostream &out) const
 Writes a brief one-line description of the MaterialCollection to the indicated output stream.
void remove_duplicate_materials ()
 Removes any duplicate entries of the same Materials on this collection.
bool remove_material (Material *node_material)
 Removes the indicated Material from the collection.
void remove_materials_from (const MaterialCollection &other)
 Removes from this collection all of the Materials listed in the other collection.
int size () const
 Returns the number of materials in the collection.
void write (ostream &out, int indent_level=0) const
 Writes a complete multi-line description of the MaterialCollection to the indicated output stream.

Detailed Description

Definition at line 26 of file materialCollection.h.


Member Function Documentation

void MaterialCollection::add_material ( Material node_material)

Adds a new Material to the collection.

Definition at line 55 of file materialCollection.cxx.

Referenced by add_materials_from(), and NodePath::find_all_materials().

Adds all the Materials indicated in the other collection to this material.

The other materials are simply appended to the end of the materials in this list; duplicates are not automatically removed.

Definition at line 115 of file materialCollection.cxx.

References add_material(), get_material(), and get_num_materials().

Referenced by operator+=().

Removes all Materials from the collection.

Definition at line 193 of file materialCollection.cxx.

Material * MaterialCollection::find_material ( const string &  name) const

Returns the material in the collection with the indicated name, if any, or NULL if no material has that name.

Definition at line 205 of file materialCollection.cxx.

References get_material(), and get_num_materials().

Returns the nth Material in the collection.

Definition at line 232 of file materialCollection.cxx.

Referenced by add_materials_from(), find_material(), has_material(), remove_duplicate_materials(), remove_materials_from(), and write().

Returns the number of Materials in the collection.

Definition at line 222 of file materialCollection.cxx.

Referenced by add_materials_from(), find_material(), has_material(), output(), remove_duplicate_materials(), remove_materials_from(), and write().

bool MaterialCollection::has_material ( Material material) const

Returns true if the indicated Material appears in this collection, false otherwise.

Definition at line 178 of file materialCollection.cxx.

References get_material(), and get_num_materials().

Referenced by remove_materials_from().

MaterialCollection MaterialCollection::operator+ ( const MaterialCollection other) const [inline]

Returns a MaterialCollection representing the concatenation of the two lists.

Definition at line 42 of file materialCollection.I.

void MaterialCollection::operator+= ( const MaterialCollection other) [inline]

Appends the other list onto the end of this one.

Definition at line 31 of file materialCollection.I.

References add_materials_from().

Material * MaterialCollection::operator[] ( int  index) const

Returns the nth Material in the collection.

This is the same as get_material(), but it may be a more convenient way to access it.

Definition at line 246 of file materialCollection.cxx.

void MaterialCollection::output ( ostream &  out) const

Writes a brief one-line description of the MaterialCollection to the indicated output stream.

Definition at line 270 of file materialCollection.cxx.

References get_num_materials().

Removes any duplicate entries of the same Materials on this collection.

If a Material appears multiple times, the first appearance is retained; subsequent appearances are removed.

Definition at line 151 of file materialCollection.cxx.

References get_material(), and get_num_materials().

bool MaterialCollection::remove_material ( Material node_material)

Removes the indicated Material from the collection.

Returns true if the material was removed, false if it was not a member of the collection.

Definition at line 78 of file materialCollection.cxx.

Removes from this collection all of the Materials listed in the other collection.

Definition at line 130 of file materialCollection.cxx.

References get_material(), get_num_materials(), and has_material().

int MaterialCollection::size ( ) const

Returns the number of materials in the collection.

This is the same thing as get_num_materials().

Definition at line 259 of file materialCollection.cxx.

void MaterialCollection::write ( ostream &  out,
int  indent_level = 0 
) const

Writes a complete multi-line description of the MaterialCollection to the indicated output stream.

Definition at line 285 of file materialCollection.cxx.

References get_material(), and get_num_materials().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations