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

MesherTempl< PrimType > Class Template Reference

#include <mesherTempl.h>

List of all members.

Public Types

typedef PrimType Prim
typedef TYPENAME PrimType::Vertex Vertex
typedef TYPENAME PrimType::DAttrib MAttrib
typedef MesherEdge< PrimType > Edge
typedef MesherStrip< PrimType > Strip
typedef MesherFanMaker< PrimType > FanMaker

Public Member Functions

 MesherTempl (BuilderBucket *bucket)
int add_prim (const Prim &prim, MesherStripOrigin origin=MO_user)
void mesh ()
Prim getPrim ()
void finalize ()
void show (ostream &out)

Protected Types

typedef plist< StripStrips
typedef pset< Edge, less<
Edge > > 
Edges
typedef pset< Edge *, less<
Edge * > > 
EdgePtrs
typedef pmap< Vertex, EdgePtrs,
less< Vertex > > 
Verts
typedef pvector< BuilderCColors
typedef pmap< int, int, less<
int > > 
ColorSheetMap

Protected Member Functions

int count_vert_edges (const EdgePtrs &edges) const
plist< Strip > & choose_strip_list (const Strip &strip)
void build_sheets ()
void find_fans ()
void make_quads ()
 Attempts to join up all the single tris to its neighbor and reconstruct a pattern of quads, suitable for making into quadsheets or at least quadstrips.

void meshList (Strips &strips)

Protected Attributes

Strips _tris
Strips _quads
Strips _strips
Strips _dead
Strips _done
Verts _verts
Edges _edges
int _stripIndex
BuilderBucket_bucket
TYPENAME Strips::iterator _next_strip
Colors _colors
ColorSheetMap _color_sheets

Friends

class MesherStrip< PrimType >
class MesherFanMaker< PrimType >

template<class PrimType>
class MesherTempl< PrimType >


Member Typedef Documentation

template<class PrimType>
typedef pvector<BuilderC> MesherTempl< PrimType >::Colors [protected]
 

Definition at line 66 of file mesherTempl.h.

template<class PrimType>
typedef pmap<int, int, less<int> > MesherTempl< PrimType >::ColorSheetMap [protected]
 

Definition at line 68 of file mesherTempl.h.

template<class PrimType>
typedef MesherEdge<PrimType> MesherTempl< PrimType >::Edge
 

Definition at line 45 of file mesherTempl.h.

template<class PrimType>
typedef pset<Edge *, less<Edge *> > MesherTempl< PrimType >::EdgePtrs [protected]
 

Definition at line 62 of file mesherTempl.h.

template<class PrimType>
typedef pset<Edge, less<Edge> > MesherTempl< PrimType >::Edges [protected]
 

Definition at line 61 of file mesherTempl.h.

template<class PrimType>
typedef MesherFanMaker<PrimType> MesherTempl< PrimType >::FanMaker
 

Definition at line 47 of file mesherTempl.h.

template<class PrimType>
typedef TYPENAME PrimType::DAttrib MesherTempl< PrimType >::MAttrib
 

Definition at line 44 of file mesherTempl.h.

template<class PrimType>
typedef PrimType MesherTempl< PrimType >::Prim
 

Definition at line 42 of file mesherTempl.h.

template<class PrimType>
typedef MesherStrip<PrimType> MesherTempl< PrimType >::Strip
 

Definition at line 46 of file mesherTempl.h.

template<class PrimType>
typedef plist<Strip> MesherTempl< PrimType >::Strips [protected]
 

Definition at line 60 of file mesherTempl.h.

template<class PrimType>
typedef TYPENAME PrimType::Vertex MesherTempl< PrimType >::Vertex
 

Definition at line 43 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::find_fans(), and MesherTempl< PrimType >::show().

template<class PrimType>
typedef pmap<Vertex, EdgePtrs, less<Vertex> > MesherTempl< PrimType >::Verts [protected]
 

Definition at line 63 of file mesherTempl.h.


Constructor & Destructor Documentation

template<class PrimType>
MesherTempl< PrimType >::MesherTempl BuilderBucket bucket  ) 
 

Definition at line 31 of file mesherTempl.I.

References MesherTempl< PrimType >::_done, and MesherTempl< PrimType >::_next_strip.


Member Function Documentation

template<class PrimType>
int MesherTempl< PrimType >::add_prim const Prim prim,
MesherStripOrigin  origin = MO_user
 

Definition at line 39 of file mesherTempl.I.

template<class PrimType>
void MesherTempl< PrimType >::build_sheets  )  [protected]
 

Definition at line 429 of file mesherTempl.I.

References MesherTempl< PrimType >::_bucket, MesherTempl< PrimType >::_quads, MesherTempl< PrimType >::choose_strip_list(), list, MS_alive, NULL, and TYPENAME.

template<class PrimType>
plist< TYPENAME MesherTempl< PrimType >::Strip > & MesherTempl< PrimType >::choose_strip_list const Strip strip  )  [protected]
 

Definition at line 398 of file mesherTempl.I.

References MesherTempl< PrimType >::_dead, MesherTempl< PrimType >::_done, MesherTempl< PrimType >::_quads, MesherTempl< PrimType >::_strips, MesherTempl< PrimType >::_tris, BPT_quad, BPT_tri, MS_alive, and MS_dead.

Referenced by MesherTempl< PrimType >::build_sheets().

template<class PrimType>
int MesherTempl< PrimType >::count_vert_edges const EdgePtrs edges  )  const [protected]
 

Definition at line 387 of file mesherTempl.I.

template<class PrimType>
void MesherTempl< PrimType >::finalize  ) 
 

Definition at line 328 of file mesherTempl.I.

References MesherTempl< PrimType >::_colors.

template<class PrimType>
void MesherTempl< PrimType >::find_fans  )  [protected]
 

Definition at line 506 of file mesherTempl.I.

References MesherTempl< PrimType >::_verts, BPT_tri, TYPENAME, and MesherTempl< PrimType >::Vertex.

template<class PrimType>
PrimType MesherTempl< PrimType >::getPrim  ) 
 

Definition at line 152 of file mesherTempl.I.

template<class PrimType>
void MesherTempl< PrimType >::make_quads  )  [protected]
 

Attempts to join up all the single tris to its neighbor and reconstruct a pattern of quads, suitable for making into quadsheets or at least quadstrips.

Definition at line 604 of file mesherTempl.I.

References MesherTempl< PrimType >::_tris, BPT_tri, MS_alive, MS_paired, and TYPENAME.

template<class PrimType>
void MesherTempl< PrimType >::mesh  ) 
 

Definition at line 108 of file mesherTempl.I.

template<class PrimType>
void MesherTempl< PrimType >::meshList Strips strips  )  [protected]
 

Definition at line 680 of file mesherTempl.I.

template<class PrimType>
void MesherTempl< PrimType >::show ostream &  out  ) 
 

Definition at line 346 of file mesherTempl.I.

References MesherTempl< PrimType >::_verts, TYPENAME, and MesherTempl< PrimType >::Vertex.


Friends And Related Function Documentation

template<class PrimType>
friend class MesherFanMaker< PrimType > [friend]
 

Definition at line 89 of file mesherTempl.h.

template<class PrimType>
friend class MesherStrip< PrimType > [friend]
 

Definition at line 88 of file mesherTempl.h.


Member Data Documentation

template<class PrimType>
BuilderBucket* MesherTempl< PrimType >::_bucket [protected]
 

Definition at line 83 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::build_sheets().

template<class PrimType>
ColorSheetMap MesherTempl< PrimType >::_color_sheets [protected]
 

Definition at line 86 of file mesherTempl.h.

template<class PrimType>
Colors MesherTempl< PrimType >::_colors [protected]
 

Definition at line 85 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::finalize().

template<class PrimType>
Strips MesherTempl< PrimType >::_dead [protected]
 

Definition at line 79 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::choose_strip_list().

template<class PrimType>
Strips MesherTempl< PrimType >::_done [protected]
 

Definition at line 79 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::choose_strip_list(), and MesherTempl< PrimType >::MesherTempl().

template<class PrimType>
Edges MesherTempl< PrimType >::_edges [protected]
 

Definition at line 81 of file mesherTempl.h.

template<class PrimType>
TYPENAME Strips::iterator MesherTempl< PrimType >::_next_strip [protected]
 

Definition at line 84 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::MesherTempl().

template<class PrimType>
Strips MesherTempl< PrimType >::_quads [protected]
 

Definition at line 78 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::build_sheets(), and MesherTempl< PrimType >::choose_strip_list().

template<class PrimType>
int MesherTempl< PrimType >::_stripIndex [protected]
 

Definition at line 82 of file mesherTempl.h.

template<class PrimType>
Strips MesherTempl< PrimType >::_strips [protected]
 

Definition at line 78 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::choose_strip_list().

template<class PrimType>
Strips MesherTempl< PrimType >::_tris [protected]
 

Definition at line 78 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::choose_strip_list(), and MesherTempl< PrimType >::make_quads().

template<class PrimType>
Verts MesherTempl< PrimType >::_verts [protected]
 

Definition at line 80 of file mesherTempl.h.

Referenced by MesherTempl< PrimType >::find_fans(), and MesherTempl< PrimType >::show().


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