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

LedgeStrip Class Reference

#include <ledge_strip.H>

Inheritance diagram for LedgeStrip:

Inheritance graph
[legend]
Collaboration diagram for LedgeStrip:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LedgeStrip ()
 LedgeStrip (CBedge_list &list, CBedgeFilter &filter)
virtual ~LedgeStrip ()
void clear_subdivision (int level)
virtual EdgeStripoperator= (CEdgeStrip &strip)
LMESHlmesh () const
int cur_level () const
int rel_cur_level () const
virtual void reset ()
virtual void draw (StripCB *cb)
virtual CEdgeStrip * cur_strip () const
virtual CEdgeStrip * sub_strip (int k) const
void build (CBedge_list &, CSimplexFilter &)
void build (Bvert *v, Bedge *e, CSimplexFilter &)
void build_with_tips (CBedge_list &, CSimplexFilter &)
void build_ccw_boundaries (CBedge_list &edges, CSimplexFilter &face_filter)
void add (Bvert *v, Bedge *e)
Patchpatch () const
BMESHmesh () const
CBedge_listedges () const
CBedge_listedges (int k) const
CBvert_listverts () const
CBvert_listverts (int k) 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
CBvert_listcur_verts () const
CBedge_listcur_edges () const

Protected Member Functions

const LedgeStripget_strip (int level) const
void delete_substrip ()
void generate_substrip ()
bool need_rebuild () const
void draw (int level, StripCB *cb)
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

LedgeStrip_substrip
Bvert_list _verts
Bedge_list _edges
Patch_patch
int _index

Friends

class Patch

Detailed Description

Definition at line 21 of file ledge_strip.H.


Constructor & Destructor Documentation

LedgeStrip::LedgeStrip  )  [inline]
 

Definition at line 26 of file ledge_strip.H.

LedgeStrip::LedgeStrip CBedge_list list,
CBedgeFilter filter
[inline]
 

Definition at line 30 of file ledge_strip.H.

virtual LedgeStrip::~LedgeStrip  )  [inline, virtual]
 

Definition at line 34 of file ledge_strip.H.

References delete_substrip().


Member Function Documentation

void EdgeStrip::add Bvert v,
Bedge e
[inline, inherited]
 

Definition at line 74 of file edge_strip.H.

References EdgeStrip::_edges, and EdgeStrip::_verts.

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

void EdgeStrip::build Bvert v,
Bedge e,
CSimplexFilter
[inherited]
 

Definition at line 117 of file edge_strip.C.

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

void EdgeStrip::build CBedge_list ,
CSimplexFilter
[inherited]
 

Definition at line 83 of file edge_strip.C.

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

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

void EdgeStrip::build_ccw_boundaries CBedge_list edges,
CSimplexFilter face_filter
[inherited]
 

Definition at line 180 of file edge_strip.C.

References EdgeStrip::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, inherited]
 

Definition at line 95 of file edge_strip.C.

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

Referenced by EdgeStrip::build().

void EdgeStrip::build_with_tips CBedge_list ,
CSimplexFilter
[inherited]
 

Definition at line 144 of file edge_strip.C.

References EdgeStrip::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().

void LedgeStrip::clear_subdivision int  level  ) 
 

Definition at line 87 of file ledge_strip.C.

References _substrip, clear_subdivision(), delete_substrip(), and reset().

Referenced by clear_subdivision().

CBedge_list& EdgeStrip::cur_edges  )  const [inline, inherited]
 

Definition at line 160 of file edge_strip.H.

References EdgeStrip::cur_strip().

int LedgeStrip::cur_level  )  const
 

Definition at line 8 of file ledge_strip.C.

References LMESH::cur_level(), and lmesh().

virtual CEdgeStrip* LedgeStrip::cur_strip  )  const [inline, virtual]
 

Reimplemented from EdgeStrip.

Definition at line 58 of file ledge_strip.H.

References get_strip(), and rel_cur_level().

CBvert_list& EdgeStrip::cur_verts  )  const [inline, inherited]
 

Definition at line 159 of file edge_strip.H.

References EdgeStrip::cur_strip().

void LedgeStrip::delete_substrip  )  [inline, protected]
 

Definition at line 80 of file ledge_strip.H.

References _substrip.

Referenced by clear_subdivision(), generate_substrip(), operator=(), reset(), and ~LedgeStrip().

void LedgeStrip::draw int  level,
StripCB cb
[protected]
 

Definition at line 30 of file ledge_strip.C.

References _substrip, draw(), EdgeStrip::draw(), and generate_substrip().

virtual void LedgeStrip::draw StripCB cb  )  [inline, virtual]
 

Reimplemented from EdgeStrip.

Definition at line 55 of file ledge_strip.H.

References rel_cur_level().

Referenced by draw().

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

Definition at line 94 of file edge_strip.H.

References EdgeStrip::_edges.

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

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

Definition at line 163 of file edge_strip.H.

References EdgeStrip::sub_strip().

CBedge_list& EdgeStrip::edges  )  const [inline, inherited]
 

Definition at line 90 of file edge_strip.H.

References EdgeStrip::_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, inherited]
 

Definition at line 101 of file edge_strip.H.

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

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

Bvert* EdgeStrip::first  )  const [inline, inherited]
 

Definition at line 98 of file edge_strip.H.

References EdgeStrip::_verts.

Referenced by generate_substrip().

void LedgeStrip::generate_substrip  )  [protected]
 

Definition at line 56 of file ledge_strip.C.

References EdgeStrip::_edges, _substrip, EdgeStrip::_verts, EdgeStripFilter::accept(), EdgeStrip::add(), delete_substrip(), EdgeStrip::first(), EdgeStrip::last(), lookup_edge(), need_rebuild(), EdgeStrip::next_vert(), and ARRAY< T >::num().

Referenced by draw(), and get_strip().

bool EdgeStrip::get_chain int &  k,
Bvert_list chain
const [inherited]
 

Definition at line 270 of file edge_strip.C.

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

Referenced by EdgeStrip::get_chains().

void EdgeStrip::get_chains ARRAY< Bvert_list > &  chains  )  const [inherited]
 

Definition at line 292 of file edge_strip.C.

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

EdgeStrip EdgeStrip::get_filtered CSimplexFilter filter  )  const [inherited]
 

Definition at line 320 of file edge_strip.C.

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

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

EdgeStrip EdgeStrip::get_reverse  )  const [inherited]
 

Definition at line 305 of file edge_strip.C.

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

Referenced by EdgeStrip::reverse().

const LedgeStrip* LedgeStrip::get_strip int  level  )  const [inline, protected]
 

Definition at line 72 of file ledge_strip.H.

References _substrip, generate_substrip(), and get_strip().

Referenced by cur_strip(), get_strip(), and sub_strip().

EdgeStrip EdgeStrip::get_unified  )  const [inherited]
 

Definition at line 363 of file edge_strip.C.

References EdgeStrip::_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 [inherited]
 

Definition at line 234 of file edge_strip.C.

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

Referenced by EdgeStrip::get_chain().

Bvert* EdgeStrip::last  )  const [inline, inherited]
 

Definition at line 99 of file edge_strip.H.

References EdgeStrip::next_vert(), and EdgeStrip::num().

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

LMESH* LedgeStrip::lmesh  )  const [inline]
 

Definition at line 46 of file ledge_strip.H.

References EdgeStrip::mesh().

Referenced by cur_level(), and rel_cur_level().

BMESH* EdgeStrip::mesh  )  const [inline, inherited]
 

Definition at line 87 of file edge_strip.H.

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

Referenced by lmesh().

bool LedgeStrip::need_rebuild  )  const [protected]
 

Definition at line 22 of file ledge_strip.C.

References _substrip, and EdgeStrip::num().

Referenced by generate_substrip().

Bedge * EdgeStrip::next_edge Bvert ,
Bvert_list ,
CSimplexFilter
[static, protected, inherited]
 

Definition at line 56 of file edge_strip.C.

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

Referenced by EdgeStrip::build(), and EdgeStrip::build_line_strip().

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

Definition at line 96 of file edge_strip.H.

References EdgeStrip::_edges, and EdgeStrip::_verts.

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

int EdgeStrip::num  )  const [inline, inherited]
 

Definition at line 102 of file edge_strip.H.

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

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

int EdgeStrip::num_line_strips  )  const [inherited]
 

Definition at line 253 of file edge_strip.C.

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

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

Reimplemented from EdgeStrip.

Definition at line 39 of file ledge_strip.H.

References delete_substrip(), and EdgeStrip::operator=().

Patch* EdgeStrip::patch  )  const [inline, inherited]
 

Definition at line 86 of file edge_strip.H.

References EdgeStrip::_patch.

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

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

Definition at line 190 of file edge_strip.H.

References EdgeStrip::_index.

Referenced by Patch::remove().

int LedgeStrip::rel_cur_level  )  const
 

Definition at line 15 of file ledge_strip.C.

References lmesh(), and BMESH::rel_cur_level().

Referenced by cur_strip(), and draw().

virtual void LedgeStrip::reset  )  [inline, virtual]
 

Reimplemented from EdgeStrip.

Definition at line 53 of file ledge_strip.H.

References delete_substrip(), and EdgeStrip::reset().

Referenced by clear_subdivision().

void EdgeStrip::reverse  )  [inline, inherited]
 

Definition at line 131 of file edge_strip.H.

References EdgeStrip::get_reverse().

bool EdgeStrip::same_mesh  )  const [inline, inherited]
 

Definition at line 120 of file edge_strip.H.

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

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

Definition at line 188 of file edge_strip.H.

References EdgeStrip::_patch.

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

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

Definition at line 189 of file edge_strip.H.

References EdgeStrip::_index.

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

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

Reimplemented from EdgeStrip.

Definition at line 62 of file ledge_strip.H.

References get_strip().

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

Definition at line 95 of file edge_strip.H.

References EdgeStrip::_verts.

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

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

Definition at line 162 of file edge_strip.H.

References EdgeStrip::sub_strip().

CBvert_list& EdgeStrip::verts  )  const [inline, inherited]
 

Definition at line 91 of file edge_strip.H.

References EdgeStrip::_verts.


Friends And Related Function Documentation

friend class Patch [friend, inherited]
 

Definition at line 166 of file edge_strip.H.


Member Data Documentation

Bedge_list EdgeStrip::_edges [protected, inherited]
 

Definition at line 170 of file edge_strip.H.

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

int EdgeStrip::_index [protected, inherited]
 

Definition at line 172 of file edge_strip.H.

Referenced by EdgeStrip::patch_index(), and EdgeStrip::set_patch_index().

Patch* EdgeStrip::_patch [protected, inherited]
 

Definition at line 171 of file edge_strip.H.

Referenced by EdgeStrip::patch(), and EdgeStrip::set_patch().

LedgeStrip* LedgeStrip::_substrip [protected]
 

Definition at line 66 of file ledge_strip.H.

Referenced by clear_subdivision(), delete_substrip(), draw(), generate_substrip(), get_strip(), and need_rebuild().

Bvert_list EdgeStrip::_verts [protected, inherited]
 

Definition at line 169 of file edge_strip.H.

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


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