|
Public Types |
typedef PrimType | Prim |
typedef TYPENAME PrimType::Vertex | Vertex |
typedef TYPENAME PrimType::DAttrib | SAttrib |
typedef MesherEdge< PrimType > | Edge |
typedef plist< SAttrib > | Prims |
typedef plist< Edge * > | Edges |
typedef plist< const Vertex * > | Verts |
Public Member Functions |
| MesherStrip () |
| MesherStrip (const PrimType &prim, int index, const BuilderBucket &bucket) |
INLINE | MesherStrip (const MesherStrip ©) |
Prim | make_prim (const BuilderBucket &bucket) |
void | measure_sheet (const Edge *edge, int new_row, int &num_prims, int &num_rows, int first_row_id, int this_row_id, int this_row_distance) |
void | cut_sheet (int first_row_id, int do_mate, const BuilderBucket &bucket) |
bool | mate (const BuilderBucket &bucket) |
bool | find_ideal_mate (MesherStrip *&mate, Edge *&common_edge, const BuilderBucket &bucket) |
int | count_neighbors () const |
ostream & | show_neighbors (ostream &out) const |
INLINE bool | is_coplanar_with (const MesherStrip &other, float threshold) const |
INLINE float | coplanarity (const MesherStrip &other) const |
INLINE int | type_category () const |
const Vertex * | find_uncommon_vertex (const Edge *edge) const |
const Edge * | find_opposite_edge (const Vertex *vertex) const |
const Edge * | find_opposite_edge (const Edge *edge) const |
const Edge * | find_adjacent_edge (const Edge *edge) const |
INLINE void | rotate_forward () |
INLINE void | rotate_back () |
void | rotate_to_front (const Edge *edge) |
void | rotate_to_back (const Edge *edge) |
bool | can_invert () const |
bool | invert () |
INLINE Edge | get_head_edge () const |
INLINE Edge | get_tail_edge () const |
bool | is_odd () const |
bool | would_reverse_tail (BuilderPrimType wantType) const |
void | convert_to_type (BuilderPrimType wantType) |
void | combine_edges (MesherStrip< PrimType > &other, int removeSides) |
void | remove_all_edges () |
INLINE bool | operator== (const MesherStrip &other) const |
INLINE bool | operator!= (const MesherStrip &other) const |
bool | pick_mate (const MesherStrip &a_strip, const MesherStrip &b_strip, const Edge &a_edge, const Edge &b_edge, const BuilderBucket &bucket) const |
bool | pick_sheet_mate (const MesherStrip &a_strip, const MesherStrip &b_strip) const |
ostream & | output (ostream &out) const |
Static Public Member Functions |
bool | mate_pieces (Edge *common_edge, MesherStrip &front, MesherStrip &back, const BuilderBucket &bucket) |
bool | mate_strips (Edge *common_edge, MesherStrip &front, MesherStrip &back, BuilderPrimType type) |
bool | must_invert (const MesherStrip &front, const MesherStrip &back, bool will_reverse_back, BuilderPrimType type) |
bool | convex_quad (Edge *common_edge, MesherStrip &front, MesherStrip &back, const BuilderBucket &bucket) |
Public Attributes |
Prims | _prims |
Edges | _edges |
Verts | _verts |
BuilderPrimType | _type |
int | _index |
MesherStripStatus | _status |
int | _planar |
LVector3f | _plane_normal |
float | _plane_offset |
int | _row_id |
int | _row_distance |
int | _origin |