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 EdgeStripoperator= (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 ()
Patchpatch () const
BMESHmesh () const
CBedge_listedges () const
CBvert_listverts () const
Bedgeedge (int i) const
Bvertvert (int i) const
Bvertnext_vert (int i) const
Bvertfirst () const
Bvertlast () 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_listcur_verts () const
CBedge_listcur_edges () const
CBvert_listverts (int k) const
CBedge_listedges (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 Bedgenext_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