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

BuilderAttribTempl< VT, NT, TT, CT > Class Template Reference

The main body of BuilderAttrib and BuilderAttribI, and the base class for BuilderVertexTempl and BuilderPrimTempl, this class defines the attributes that may be specified for either vertices or primitives. More...

#include <builderAttribTempl.h>

Inheritance diagram for BuilderAttribTempl< VT, NT, TT, CT >:

BuilderVertexTempl< VT, NT, TT, CT > List of all members.

Public Types

typedef VT VType
typedef NT NType
typedef TT TType
typedef CT CType

Public Member Functions

 BuilderAttribTempl ()
 BuilderAttribTempl (const BuilderAttribTempl &copy)
BuilderAttribTempl & operator= (const BuilderAttribTempl &copy)
BuilderAttribTempl & clear ()
 Resets the attribute flags to their original, empty state--where no attributes have been applied.

bool has_normal () const
 Returns true if the attribute has a normal.

NType get_normal () const
 Returns the attribute's normal.

BuilderAttribTempl & set_normal (const NType &n)
 Resets the attribute's normal.

BuilderAttribTempl & clear_normal ()
 Removes the attribute's normal.

bool has_color () const
 Returns true if the attribute has a color.

CType get_color () const
 Returns the attribute's color.

BuilderAttribTempl & set_color (const CType &c)
 Resets the attribute's color.

BuilderAttribTempl & clear_color ()
 Removes the attribute's color.

bool has_pixel_size () const
 Returns true if the attribute has a pixel_size.

float get_pixel_size () const
 Returns the attribute's pixel_size.

BuilderAttribTempl & set_pixel_size (float s)
 Resets the attribute's pixel_size.

BuilderAttribTempl & clear_pixel_size ()
 Removes the attribute's pixel_size.

bool operator== (const BuilderAttribTempl &other) const
 Assigns an ordering to the vertices.

bool operator!= (const BuilderAttribTempl &other) const
 Assigns an ordering to the vertices.

bool operator< (const BuilderAttribTempl &other) const
 Assigns an ordering to the vertices.

int compare_to (const BuilderAttribTempl &other) const
 Returns a number less than zero if this object sorts before the indicated object, greater than zero if it sorts after, and zero if the objects are equivalent.

ostream & output (ostream &out) const
 Formats the attribs for output in some sensible way.


Protected Attributes

NType _normal
CType _color
float _pixel_size
int _flags

Detailed Description

template<class VT, class NT, class TT, class CT>
class BuilderAttribTempl< VT, NT, TT, CT >

The main body of BuilderAttrib and BuilderAttribI, and the base class for BuilderVertexTempl and BuilderPrimTempl, this class defines the attributes that may be specified for either vertices or primitives.

Definition at line 47 of file builderAttribTempl.h.


Member Typedef Documentation

template<class VT, class NT, class TT, class CT>
typedef CT BuilderAttribTempl< VT, NT, TT, CT >::CType
 

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 52 of file builderAttribTempl.h.

template<class VT, class NT, class TT, class CT>
typedef NT BuilderAttribTempl< VT, NT, TT, CT >::NType
 

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 50 of file builderAttribTempl.h.

template<class VT, class NT, class TT, class CT>
typedef TT BuilderAttribTempl< VT, NT, TT, CT >::TType
 

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 51 of file builderAttribTempl.h.

template<class VT, class NT, class TT, class CT>
typedef VT BuilderAttribTempl< VT, NT, TT, CT >::VType
 

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 49 of file builderAttribTempl.h.


Constructor & Destructor Documentation

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl  )  [inline]
 

Definition at line 32 of file builderAttribTempl.I.

References INLINE.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl const BuilderAttribTempl< VT, NT, TT, CT > &  copy  )  [inline]
 

Definition at line 46 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_color, BuilderAttribTempl< VT, NT, TT, CT >::_flags, BuilderAttribTempl< VT, NT, TT, CT >::_normal, BuilderAttribTempl< VT, NT, TT, CT >::_pixel_size, and INLINE.


Member Function Documentation

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::clear  )  [inline]
 

Resets the attribute flags to their original, empty state--where no attributes have been applied.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 82 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, and BAF_normal.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::clear_color  )  [inline]
 

Removes the attribute's color.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 216 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, BuilderAttribTempl< VT, NT, TT, CT >::_pixel_size, and BAF_pixel_size.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::clear_normal  )  [inline]
 

Removes the attribute's normal.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 149 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_color, BuilderAttribTempl< VT, NT, TT, CT >::has_color(), and nassertr.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::clear_pixel_size  )  [inline]
 

Removes the attribute's pixel_size.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 283 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_color, BuilderAttribTempl< VT, NT, TT, CT >::_normal, builder_compare(), BuilderAttribTempl< VT, NT, TT, CT >::has_color(), and BuilderAttribTempl< VT, NT, TT, CT >::has_normal().

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::get_texcoord().

template<class VT, class NT, class TT, class CT>
int BuilderAttribTempl< VT, NT, TT, CT >::compare_to const BuilderAttribTempl< VT, NT, TT, CT > &  other  )  const
 

Returns a number less than zero if this object sorts before the indicated object, greater than zero if it sorts after, and zero if the objects are equivalent.

Definition at line 368 of file builderAttribTempl.I.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::has_pixel_size(), and BuilderAttribTempl< VT, NT, TT, CT >::set_pixel_size().

template<class VT, class NT, class TT, class CT>
TYPENAME BuilderAttribTempl< VT, NT, TT, CT >::CType BuilderAttribTempl< VT, NT, TT, CT >::get_color  )  const [inline]
 

Returns the attribute's color.

It is an error to call this without first verifying that has_color() is true.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 184 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, BAF_pixel_size, and INLINE.

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::operator==(), and BuilderAttribTempl< VT, NT, TT, CT >::operator==().

template<class VT, class NT, class TT, class CT>
TYPENAME BuilderAttribTempl< VT, NT, TT, CT >::NType BuilderAttribTempl< VT, NT, TT, CT >::get_normal  )  const [inline]
 

Returns the attribute's normal.

It is an error to call this without first verifying that has_normal() is true.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 117 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, BAF_normal, and INLINE.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::operator==().

template<class VT, class NT, class TT, class CT>
float BuilderAttribTempl< VT, NT, TT, CT >::get_pixel_size  )  const [inline]
 

Returns the attribute's pixel_size.

It is an error to call this without first verifying that has_pixel_size() is true.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 251 of file builderAttribTempl.I.

References INLINE, and BuilderAttribTempl< VT, NT, TT, CT >::operator==().

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::has_color  )  const [inline]
 

Returns true if the attribute has a color.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 165 of file builderAttribTempl.I.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::clear_normal(), BuilderAttribTempl< VT, NT, TT, CT >::clear_pixel_size(), and BuilderAttribTempl< VT, NT, TT, CT >::operator==().

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::has_normal  )  const [inline]
 

Returns true if the attribute has a normal.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 98 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_normal.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::clear_pixel_size(), and BuilderAttribTempl< VT, NT, TT, CT >::operator==().

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::has_pixel_size  )  const [inline]
 

Returns true if the attribute has a pixel_size.

Reimplemented in BuilderPrimTempl< BuilderVertexI >, and BuilderPrimTempl< BuilderVertex >.

Definition at line 232 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::compare_to(), and INLINE.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::set_color().

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::operator!= const BuilderAttribTempl< VT, NT, TT, CT > &  other  )  const [inline]
 

Assigns an ordering to the vertices.

This is used by the Mesher to group identical vertices. This assumes that all vertices in the locus of consideration will share the same state: with or without normals, texcoords, etc.

Definition at line 328 of file builderAttribTempl.I.

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::operator< const BuilderAttribTempl< VT, NT, TT, CT > &  other  )  const [inline]
 

Assigns an ordering to the vertices.

This is used by the Mesher to group identical vertices. This assumes that all vertices in the locus of consideration will share the same state: with or without normals, texcoords, etc.

Definition at line 350 of file builderAttribTempl.I.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::operator= const BuilderAttribTempl< VT, NT, TT, CT > &  copy  )  [inline]
 

Definition at line 60 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, and INLINE.

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::BuilderVertexTempl().

template<class VT, class NT, class TT, class CT>
bool BuilderAttribTempl< VT, NT, TT, CT >::operator== const BuilderAttribTempl< VT, NT, TT, CT > &  other  )  const [inline]
 

Assigns an ordering to the vertices.

This is used by the Mesher to group identical vertices. This assumes that all vertices in the locus of consideration will share the same state: with or without normals, texcoords, etc.

Definition at line 306 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::get_color(), BuilderAttribTempl< VT, NT, TT, CT >::get_normal(), BuilderAttribTempl< VT, NT, TT, CT >::has_color(), BuilderAttribTempl< VT, NT, TT, CT >::has_normal(), and NULL.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::get_pixel_size().

template<class VT, class NT, class TT, class CT>
ostream & BuilderAttribTempl< VT, NT, TT, CT >::output ostream &  out  )  const
 

Formats the attribs for output in some sensible way.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 396 of file builderAttribTempl.I.

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::set_color const CType c  )  [inline]
 

Resets the attribute's color.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 200 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_pixel_size, BuilderAttribTempl< VT, NT, TT, CT >::has_pixel_size(), INLINE, and nassertr.

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::has_texcoord().

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::set_normal const NType n  )  [inline]
 

Resets the attribute's normal.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 133 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::_flags, BAF_color, and INLINE.

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::get_coord().

template<class VT, class NT, class TT, class CT>
BuilderAttribTempl< VT, NT, TT, CT > & BuilderAttribTempl< VT, NT, TT, CT >::set_pixel_size float  s  )  [inline]
 

Resets the attribute's pixel_size.

Reimplemented in BuilderVertexTempl< VT, NT, TT, CT >, BuilderPrimTempl< BuilderVertexI >, BuilderPrimTempl< BuilderVertex >, BuilderVertexTempl< BuilderV, BuilderN, BuilderTC, BuilderC >, and BuilderVertexTempl< ushort, ushort, ushort, ushort >.

Definition at line 267 of file builderAttribTempl.I.

References BuilderAttribTempl< VT, NT, TT, CT >::compare_to(), and INLINE.

Referenced by BuilderVertexTempl< VT, NT, TT, CT >::clear_texcoord().


Member Data Documentation

template<class VT, class NT, class TT, class CT>
CType BuilderAttribTempl< VT, NT, TT, CT >::_color [protected]
 

Definition at line 84 of file builderAttribTempl.h.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl(), BuilderAttribTempl< VT, NT, TT, CT >::clear_normal(), and BuilderAttribTempl< VT, NT, TT, CT >::clear_pixel_size().

template<class VT, class NT, class TT, class CT>
int BuilderAttribTempl< VT, NT, TT, CT >::_flags [protected]
 

Definition at line 86 of file builderAttribTempl.h.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl(), BuilderAttribTempl< VT, NT, TT, CT >::clear(), BuilderAttribTempl< VT, NT, TT, CT >::clear_color(), BuilderAttribTempl< VT, NT, TT, CT >::get_color(), BuilderAttribTempl< VT, NT, TT, CT >::get_normal(), BuilderVertexTempl< VT, NT, TT, CT >::has_coord(), BuilderVertexTempl< VT, NT, TT, CT >::is_valid(), BuilderAttribTempl< VT, NT, TT, CT >::operator=(), BuilderVertexTempl< VT, NT, TT, CT >::set_normal(), and BuilderAttribTempl< VT, NT, TT, CT >::set_normal().

template<class VT, class NT, class TT, class CT>
NType BuilderAttribTempl< VT, NT, TT, CT >::_normal [protected]
 

Definition at line 83 of file builderAttribTempl.h.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl(), BuilderAttribTempl< VT, NT, TT, CT >::clear_pixel_size(), and BuilderAttribTempl< VT, NT, TT, CT >::has_normal().

template<class VT, class NT, class TT, class CT>
float BuilderAttribTempl< VT, NT, TT, CT >::_pixel_size [protected]
 

Definition at line 85 of file builderAttribTempl.h.

Referenced by BuilderAttribTempl< VT, NT, TT, CT >::BuilderAttribTempl(), BuilderVertexTempl< VT, NT, TT, CT >::BuilderVertexTempl(), BuilderAttribTempl< VT, NT, TT, CT >::clear_color(), and BuilderAttribTempl< VT, NT, TT, CT >::set_color().


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:47:54 2003 for Panda by doxygen1.3