Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EdgeStrip Class Reference

#include <edge_strip.H>

Inheritance diagram for EdgeStrip:

Inheritance graph
[legend]
Collaboration diagram for EdgeStrip:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 EdgeStrip ()
 EdgeStrip (CBedge_list &list, CSimplexFilter &filter)
virtual ~EdgeStrip ()
virtual EdgeStrip & operator= (CEdgeStrip &strip)
void build (CBedge_list &, CSimplexFilter &)
void build_with_tips (CBedge_list &, CSimplexFilter &)
void build_ccw_boundaries (CBedge_list &edges, CSimplexFilter &face_filter)
void build (Bvert *v, Bedge *e, CSimplexFilter &)
void add (Bvert *v, Bedge *e)
virtual void reset ()
Patch * patch () const
BMESH * mesh () const
CBedge_list & edges () const
CBvert_list & verts () const
Bedge * edge (int i) const
Bvert * vert (int i) const
Bvert * next_vert (int i) const
Bvert * first () const
Bvert * last () const
bool empty () const
int num () const
bool has_break (int i) const
int num_line_strips () const
void get_chains (ARRAY< Bvert_list > &chains) const
bool get_chain (int &k, Bvert_list &chain) const
bool same_mesh () const
EdgeStrip get_reverse () const
void reverse ()
EdgeStrip get_filtered (CSimplexFilter &filter) const
EdgeStrip get_unified () const
virtual void draw (StripCB *cb)
virtual CEdgeStrip * cur_strip () const
virtual CEdgeStrip * sub_strip (int k) const
CBvert_list & cur_verts () const
CBedge_list & cur_edges () const
CBvert_list & verts (int k) const
CBedge_list & edges (int k) const

Protected Member Functions

void build_line_strip (Bvert *v, Bedge *e, CSimplexFilter &, Bvert_list &)
void set_patch (Patch *p)
void set_patch_index (int k)
int patch_index () const

Static Protected Member Functions

static Bedge * next_edge (Bvert *, Bvert_list &, CSimplexFilter &)

Protected Attributes

Bvert_list _verts
Bedge_list _edges
Patch * _patch
int _index

Friends

class Patch

Detailed Description

Definition at line 22 of file edge_strip.H.


Constructor & Destructor Documentation

EdgeStrip::EdgeStrip (   )  [inline]
 

Definition at line 27 of file edge_strip.H.

EdgeStrip::EdgeStrip (  CBedge_list &  list,
CSimplexFilter &  filter
)  [inline]
 

Definition at line 31 of file edge_strip.H.

References build().

virtual EdgeStrip::~EdgeStrip (   )  [inline, virtual]
 

Definition at line 36 of file edge_strip.H.


Member Function Documentation

void EdgeStrip::add (  Bvert *  v,
Bedge *  e
)  [inline]
 

Definition at line 74 of file edge_strip.H.

References _edges, and _verts.

Referenced by add_to_strip(), build_line_strip(), BMESH::build_sil_strips(), LedgeStrip::generate_substrip(), and get_filtered().

void EdgeStrip::build (  Bvert *  v,
Bedge *  e,
CSimplexFilter & 
) 
 

Definition at line 117 of file edge_strip.C.

References SimplexFilter::accept(), build_line_strip(), ARRAY< T >::clear(), Bedge::contains(), ARRAY< T >::empty(), next_edge(), ARRAY< T >::pop(), and Bedge::v1().

void EdgeStrip::build (  CBedge_list &  ,
CSimplexFilter & 
) 
 

Definition at line 83 of file edge_strip.C.

References ARRAY< T >::num(), and reset().

Referenced by build_ccw_boundaries(), BMESH::build_polyline_strips(), ControlFrameTexture::build_strip(), build_with_tips(), EdgeStrip(), and BMESH::get_sil_strips().

void EdgeStrip::build_ccw_boundaries (  CBedge_list &  edges,
CSimplexFilter &  face_filter
) 
 

Definition at line 180 of file edge_strip.C.

References build(), SimplexArray< L, T >::clear_flags(), Bvert::degree(), SimplexArray< L, T >::filter(), Bedge_list::get_verts(), Bface::leading_vert_ccw(), Bface::next_vert_ccw(), ARRAY< T >::num(), Bedge::other_vertex(), Bedge::screen_face(), set_adjacent_edges(), Bedge::v1(), and Bedge::v2().

Referenced by Bface_list::get_boundary().

void EdgeStrip::build_line_strip (  Bvert *  v,
Bedge *  e,
CSimplexFilter &  ,
Bvert_list & 
)  [protected]
 

Definition at line 95 of file edge_strip.C.

References add(), Bedge::contains(), next_edge(), and Bedge::other_vertex().

Referenced by build().

void EdgeStrip::build_with_tips (  CBedge_list &  ,
CSimplexFilter & 
) 
 

Definition at line 144 of file edge_strip.C.

References build(), SimplexArray< L, T >::clear_flags(), Bvert::degree(), SimplexArray< L, T >::filter(), Bedge_list::get_verts(), ARRAY< T >::num(), set_adjacent_edges(), Bedge::v1(), and Bedge::v2().

Referenced by Patch::build_edge_strip(), BMESH::get_border_strip(), BMESH::get_crease_strip(), and BMESH::get_edge_strip().

CBedge_list& EdgeStrip::cur_edges (   )  const [inline]
 

Definition at line 160 of file edge_strip.H.

References cur_strip().

virtual CEdgeStrip* EdgeStrip::cur_strip (   )  const [inline, virtual]
 

Reimplemented in LedgeStrip.

Definition at line 150 of file edge_strip.H.

Referenced by cur_edges(), and cur_verts().

CBvert_list& EdgeStrip::cur_verts (   )  const [inline]
 

Definition at line 159 of file edge_strip.H.

References cur_strip().

void EdgeStrip::draw (  StripCB *  cb  )  [virtual]
 

Reimplemented in LedgeStrip.

Definition at line 12 of file edge_strip.C.

References _edges, _verts, StripCB::begin_edges(), StripCB::edgeCB(), empty(), StripCB::end_edges(), next_vert(), and ARRAY< T >::num().

Referenced by TriStripsTexture::draw(), SilsTexture::draw(), LedgeStrip::draw(), Patch::draw_crease_strips(), ColorIDTexture::draw_edges(), ControlFrameTexture::draw_level(), Patch::draw_sil_strips(), and GtexUtil::draw_strip().

Bedge* EdgeStrip::edge (  int  i  )  const [inline]
 

Definition at line 94 of file edge_strip.H.

References _edges.

Referenced by BMESH::build_sil_strips(), and get_filtered().

CBedge_list& EdgeStrip::edges (  int  k  )  const [inline]
 

Definition at line 163 of file edge_strip.H.

References sub_strip().

CBedge_list& EdgeStrip::edges (   )  const [inline]
 

Definition at line 90 of file edge_strip.H.

References _edges.

Referenced by Bface_list::boundary_edges(), BMESH::build_polyline_strips(), BMESH::get_borders(), BMESH::get_creases(), BMESH::get_sil_strips(), Bface_list::push_layer(), and Bface_list::unpush_layer().

bool EdgeStrip::empty (   )  const [inline]
 

Definition at line 101 of file edge_strip.H.

References _verts, and ARRAY< T >::empty().

Referenced by ControlFrameTexture::build_strip(), FlatShadeTexture::draw(), draw(), get_reverse(), has_break(), and num_line_strips().

Bvert* EdgeStrip::first (   )  const [inline]
 

Definition at line 98 of file edge_strip.H.

References _verts.

Referenced by LedgeStrip::generate_substrip().

bool EdgeStrip::get_chain (  int &  k,
Bvert_list &  chain
)  const
 

Definition at line 270 of file edge_strip.C.

References ARRAY< T >::add(), ARRAY< T >::clear(), has_break(), next_vert(), num(), and vert().

Referenced by get_chains().

void EdgeStrip::get_chains (  ARRAY< Bvert_list > &  chains  )  const
 

Definition at line 292 of file edge_strip.C.

References ARRAY< T >::clear(), and get_chain().

EdgeStrip EdgeStrip::get_filtered (  CSimplexFilter &  filter  )  const
 

Definition at line 320 of file edge_strip.C.

References SimplexFilter::accept(), add(), edge(), num(), and vert().

Referenced by SilsTexture::draw(), OGLTexture::draw_id_sils(), and SilsTexture::draw_vis_ref().

EdgeStrip EdgeStrip::get_reverse (   )  const
 

Definition at line 305 of file edge_strip.C.

References _edges, _verts, empty(), last(), ARRAY< T >::pop(), and ARRAY< T >::reverse().

Referenced by reverse().

EdgeStrip EdgeStrip::get_unified (   )  const
 

Definition at line 363 of file edge_strip.C.

References _edges, add_to_strip(), Bvert_list::clear_flag02(), get_leading_vert(), Bedge_list::get_verts(), and SimplexArray< L, T >::set_flags().

bool EdgeStrip::has_break (  int  i  )  const
 

Definition at line 234 of file edge_strip.C.

References _verts, empty(), next_vert(), and ARRAY< T >::num().

Referenced by get_chain().

Bvert* EdgeStrip::last (   )  const [inline]
 

Definition at line 99 of file edge_strip.H.

References next_vert(), and num().

Referenced by LedgeStrip::generate_substrip(), and get_reverse().

BMESH* EdgeStrip::mesh (   )  const [inline]
 

Definition at line 87 of file edge_strip.H.

References _verts, and SimplexArray< L, T >::mesh().

Referenced by LedgeStrip::lmesh().

Bedge * EdgeStrip::next_edge (  Bvert *  ,
Bvert_list &  ,
CSimplexFilter & 
)  [static, protected]
 

Definition at line 56 of file edge_strip.C.

References SimplexFilter::accept(), Bvert::degree(), and Bvert::e().

Referenced by build(), and build_line_strip().

Bvert* EdgeStrip::next_vert (  int  i  )  const [inline]
 

Definition at line 96 of file edge_strip.H.

References _edges, and _verts.

Referenced by draw(), LedgeStrip::generate_substrip(), get_chain(), has_break(), last(), and num_line_strips().

int EdgeStrip::num (   )  const [inline]
 

Definition at line 102 of file edge_strip.H.

References _verts, and ARRAY< T >::num().

Referenced by BMESH::build_polyline_strips(), BMESH::build_sil_strips(), ColorIDTexture::draw_edges(), Patch::draw_sil_strips(), get_chain(), get_filtered(), BMESH::get_sil_strips(), last(), and LedgeStrip::need_rebuild().

int EdgeStrip::num_line_strips (   )  const
 

Definition at line 253 of file edge_strip.C.

References _edges, _verts, empty(), next_vert(), and ARRAY< T >::num().

virtual EdgeStrip& EdgeStrip::operator= (  CEdgeStrip &  strip  )  [inline, virtual]
 

Reimplemented in LedgeStrip.

Definition at line 39 of file edge_strip.H.

References _edges, _verts, and reset().

Referenced by LedgeStrip::operator=().

Patch* EdgeStrip::patch (   )  const [inline]
 

Definition at line 86 of file edge_strip.H.

References _patch.

Referenced by Patch::add(), and Patch::remove().

int EdgeStrip::patch_index (   )  const [inline, protected]
 

Definition at line 190 of file edge_strip.H.

References _index.

Referenced by Patch::remove().

virtual void EdgeStrip::reset (   )  [inline, virtual]
 

Reimplemented in LedgeStrip.

Definition at line 81 of file edge_strip.H.

References _edges, _verts, and ARRAY< T >::clear().

Referenced by build(), Patch::build_edge_strip(), BMESH::build_polyline_strips(), ControlFrameTexture::build_strip(), BMESH::changed(), ControlFrameTexture::draw(), BMESH::get_sil_strips(), operator=(), and LedgeStrip::reset().

void EdgeStrip::reverse (   )  [inline]
 

Definition at line 131 of file edge_strip.H.

References get_reverse().

bool EdgeStrip::same_mesh (   )  const [inline]
 

Definition at line 120 of file edge_strip.H.

References _edges, _verts, SimplexArray< L, T >::mesh(), and SimplexArray< L, T >::same_mesh().

void EdgeStrip::set_patch (  Patch *  p  )  [inline, protected]
 

Definition at line 188 of file edge_strip.H.

References _patch.

Referenced by Patch::add(), and Patch::remove().

void EdgeStrip::set_patch_index (  int  k  )  [inline, protected]
 

Definition at line 189 of file edge_strip.H.

References _index.

Referenced by Patch::add(), and Patch::remove().

virtual CEdgeStrip* EdgeStrip::sub_strip (  int  k  )  const [inline, virtual]
 

Reimplemented in LedgeStrip.

Definition at line 155 of file edge_strip.H.

Referenced by edges(), and verts().

Bvert* EdgeStrip::vert (  int  i  )  const [inline]
 

Definition at line 95 of file edge_strip.H.

References _verts.

Referenced by BMESH::build_sil_strips(), get_chain(), and get_filtered().

CBvert_list& EdgeStrip::verts (  int  k  )  const [inline]
 

Definition at line 162 of file edge_strip.H.

References sub_strip().

CBvert_list& EdgeStrip::verts (   )  const [inline]
 

Definition at line 91 of file edge_strip.H.

References _verts.


Friends And Related Function Documentation

friend class Patch [friend]
 

Definition at line 166 of file edge_strip.H.


Member Data Documentation

Bedge_list EdgeStrip::_edges [protected]
 

Definition at line 170 of file edge_strip.H.

Referenced by add(), draw(), edge(), edges(), LedgeStrip::generate_substrip(), get_reverse(), get_unified(), next_vert(), num_line_strips(), operator=(), reset(), and same_mesh().

int EdgeStrip::_index [protected]
 

Definition at line 172 of file edge_strip.H.

Referenced by patch_index(), and set_patch_index().

Patch* EdgeStrip::_patch [protected]
 

Definition at line 171 of file edge_strip.H.

Referenced by patch(), and set_patch().

Bvert_list EdgeStrip::_verts [protected]
 

Definition at line 169 of file edge_strip.H.

Referenced by add(), draw(), empty(), first(), LedgeStrip::generate_substrip(), get_reverse(), has_break(), mesh(), next_vert(), num(), num_line_strips(), operator=(), reset(), same_mesh(), vert(), and verts().


The documentation for this class was generated from the following files:
Generated on Mon Sep 18 11:45:15 2006 for jot by  doxygen 1.4.4