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

Bedge Class Reference

#include <bedge.H>

Inheritance diagram for Bedge:

Inheritance graph
[legend]
Collaboration diagram for Bedge:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  CREASE_BIT = Bsimplex::NEXT_AVAILABLE_BIT, PATCH_BOUNDARY_BIT, CONVEX_BIT, CONVEX_VALID_BIT,
  WEAK_BIT, NEXT_AVAILABLE_BIT
}

Public Member Functions

 Bedge (Bvert *u, Bvert *v)
virtual ~Bedge ()
Bvert * v1 () const
Bvert * v2 () const
Bvert * v (int k) const
Bface * f1 () const
Bface * f2 () const
int nfaces () const
int num_all_faces () const
Bface_list get_all_faces () const
Bface * f (int k) const
Patch * patch () const
uint sil_stamp () const
void set_sil_stamp (uint s)
void clear_flag02 ()
Wvec vec () const
double length () const
Wline line () const
PIXELline pix_line () const
Wpt mid_pt () const
Wpt & mid_pt (mlib::Wpt &v) const
Wvec norm () const
double dot () const
double avg_area () const
double dihedral_angle () const
Wpt interp (double s) const
bool is_convex () const
Bvert * opposite_vert (CBface *f) const
Bvert * opposite_vert1 () const
Bvert * opposite_vert2 () const
Bvert * other_vertex (CBvert *v) const
int vindex (CBvert *v) const
Bvert * shared_vert (CBedge *e) const
bool contains (CBvert *v) const
bool contains (CBface *f) const
bool same_verts (CBvert *u, CBvert *v) const
Bface * other_face (CBface *f) const
Bface * frontfacing_face () const
Bface * lookup_face (CBvert *v) const
Bface * lookup_face (CBedge *e) const
Bface * ccw_face (CBvert *v) const
Bface * cw_face (CBvert *v) const
Bface * ccw_face () const
Bface * cw_face () const
int num_quads () const
int nfaces_satisfy (CSimplexFilter &f) const
Bface_list * adj () const
virtual bool can_promote () const
bool promote (Bface *f)
bool demote (Bface *f)
bool is_multi () const
bool is_multi (CBface *f) const
void fix_multi ()
bool is_primary () const
bool is_secondary () const
bool is_interior () const
bool is_border () const
bool is_polyline () const
bool is_crease () const
bool is_weak () const
bool is_strong () const
bool is_poly_crease () const
bool is_strong_poly_crease () const
bool is_patch_boundary () const
bool is_texture_seam () const
bool is_sil () const
bool is_stressed () const
bool is_crossable () const
bool consistent_orientation () const
bool oriented_ccw (Bface *=0) const
bool is_polyline_end () const
bool is_crease_end () const
bool is_chain_tip (CSimplexFilter &filter) const
void set_patch_boundary (int b=1)
void compute_crease (double dot)
virtual void set_crease (unsigned short=USHRT_MAX)
virtual unsigned short crease_val () const
void inc_crease (ushort max_val=USHRT_MAX)
void dec_crease (ushort max_val=USHRT_MAX)
virtual uint rel_level () const
bool operator+= (Bface *face)
bool operator-= (Bface *face)
int detach ()
virtual int redefine (Bvert *v, Bvert *u)
virtual void set_new_vertices (Bvert *v1, Bvert *v2)
bool swapable (Bface *&, Bface *&, Bvert *&, Bvert *&, Bvert *&, Bvert *&, bool favor_degree_six=0)
bool swap_is_legal () const
virtual bool do_swap ()
virtual bool redef2 (Bvert *v, Bvert *u)
bool ndc_intersect (CNDCpt &p, mlib::CNDCpt &q, mlib::NDCpt &ret) const
int which_side (CWplane &plane) const
virtual void notify_split (Bsimplex *)
virtual void geometry_changed ()
virtual void normal_changed ()
virtual void crease_changed ()
virtual void faces_changed ()
virtual int dim () const
virtual int index () const
virtual bool view_intersect (CNDCpt &, Wpt &, double &, double &, Wvec &n) const
virtual Bface * get_face () const
virtual bool on_face (CBface *f) const
Bface * screen_face (CSimplexFilter &filter) const
virtual void project_barycentric (CWpt &p, mlib::Wvec &bc) const
virtual void bc2pos (CWvec &bc, mlib::Wpt &pos) const
virtual Bsimplex * bc2sim (CWvec &bc) const
virtual Bsimplex_list neighbors () const
virtual bool local_search (Bsimplex *&end, Wvec &final_bc, CWpt &target, mlib::Wpt &reached, Bsimplex *repeater=0, int iters=30)
virtual NDCpt nearest_pt_ndc (mlib::CNDCpt &p, mlib::Wvec &bc, int &is_on_simplex) const
virtual Wpt nearest_pt (mlib::CWpt &p, mlib::Wvec &bc, bool &is_on_simplex) const
void set_mesh (BMESH *mesh)
BMESH * mesh () const
uint key () const
uint flag () const
void clear_flag ()
void set_flag (uchar b=1)
void inc_flag (uint i)
bool is_set (uint b) const
bool is_clear (uint b) const
void clear_bit (uint b)
void set_bit (uint b, int x=1)
bool is_selected () const
SimplexData * find_data (uint key) const
SimplexData * find_data (Cstr_ptr &s) const
SimplexData * find_data (void *key) const
void add_simplex_data (SimplexData *sd)
void rem_simplex_data (SimplexData *sd)
const SimplexDataList * data_list () const
virtual void notify_xform (CWtransf &xf)
Wpt bc2pos (mlib::CWvec &bc) const
Wpt & project_to_simplex (mlib::CWpt &pos, mlib::Wpt &ret)
virtual bool near_point (CNDCpt &p, mlib::Wpt &hit) const
Bsimplex * walk_to_target (CWpt &target, CSimplexFilter &filter=SimplexFilter()) const
Bsimplex * walk_to_target (CWpt &target, Wpt &near_pt, Wvec &near_bc, CSimplexFilter &filter=SimplexFilter()) const
double dist (CWpt &p) const
double dist (CWpt &p, mlib::Wvec &bc) const
virtual Wpt nearest_pt (mlib::CWpt &p, mlib::Wvec &bc) const
virtual Wpt nearest_pt (mlib::CWpt &p) const
virtual bool on_face (const Bface *f) const =0

Static Public Member Functions

static Bsimplex * lookup (uint k)
static void clamp_barycentric (Wvec &bc)

Protected Types

enum  { FLAG_MASK = ((1 << FLAG_BITS) - 1) }

Protected Member Functions

void allocate_adj ()
virtual bool add_multi (Bface *f)
virtual bool add_primary (Bface *f)
void set_convex ()
uint generate_key ()

Static Protected Member Functions

static uint mask (uint b)

Protected Attributes

Bvert * _v1
Bvert * _v2
Bface * _f1
Bface * _f2
Bface_list * _adj
uint _sil_stamp
uint _key
uint _flag
BMESH * _mesh
SimplexDataList * _data_list

Static Protected Attributes

static IDtable _table

Friends

ostream & operator<< (ostream &os, CBedge &e)

Related Functions

(Note that these are not member functions.)

Patch * get_patch (CBsimplex *s)
 Returns the Patch of a Bsimplex.
Patch * get_ctrl_patch (CBsimplex *s)
 Similar to get_patch(CBsimplex*), but returns the control Patch.

Detailed Description

Definition at line 23 of file bedge.H.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
CREASE_BIT 
PATCH_BOUNDARY_BIT 
CONVEX_BIT 
CONVEX_VALID_BIT 
WEAK_BIT 
NEXT_AVAILABLE_BIT 

Reimplemented from Bsimplex.

Definition at line 29 of file bedge.H.

anonymous enum [protected, inherited]
 

Enumerator:
FLAG_MASK 

Definition at line 265 of file bsimplex.H.


Constructor & Destructor Documentation

Bedge::Bedge (  Bvert *  u,
Bvert *  v
) 
 

Definition at line 15 of file bedge.C.

References _v1, and _v2.

Bedge::~Bedge (   )  [virtual]
 

Definition at line 27 of file bedge.C.

References _adj, _f1, _f2, Bsimplex::_mesh, MeshGlobal::deselect(), detach(), err_msg(), Bsimplex::is_selected(), and BMESH::remove_face().


Member Function Documentation

bool Bedge::add_multi (  Bface *  f  )  [protected, virtual]
 

Reimplemented in Ledge.

Definition at line 408 of file bedge.C.

References _adj, _f1, _f2, ARRAY< T >::add_uniquely(), allocate_adj(), Bface::contains(), demote(), and faces_changed().

Referenced by Ledge::add_multi(), demote(), and operator+=().

bool Bedge::add_primary (  Bface *  f  )  [protected, virtual]
 

Reimplemented in Ledge.

Definition at line 464 of file bedge.C.

References _f1, _f2, Bface::contains(), demote(), and Bface::is_secondary().

Referenced by Ledge::add_primary(), and promote().

void Bsimplex::add_simplex_data (  SimplexData *  sd  )  [inherited]
 

Definition at line 90 of file bsimplex.C.

References Bsimplex::_data_list, ARRAY< T >::add(), Bsimplex::find_data(), and SimplexData::id().

Referenced by SimplexData::set().

Bface_list* Bedge::adj (   )  const [inline]
 

Definition at line 179 of file bedge.H.

References _adj.

Referenced by add_faces(), allocate_adjacent_child_faces(), check(), and mark_pushed_faces().

void Bedge::allocate_adj (   )  [protected]
 

Definition at line 356 of file bedge.C.

References _adj.

Referenced by add_multi().

double Bedge::avg_area (   )  const
 

Definition at line 315 of file bedge.C.

References _adj, _f1, _f2, RunningAvg< T >::add(), Bface::area(), RunningAvg< T >::num(), and RunningAvg< T >::val().

Referenced by Bvert::area_centroid().

Wpt Bsimplex::bc2pos (  mlib::CWvec &  bc  )  const [inline, inherited]
 

Definition at line 146 of file bsimplex.H.

References Bsimplex::bc2pos().

void Bedge::bc2pos (  CWvec &  bc,
mlib::Wpt &  pos
)  const [virtual]
 

Implements Bsimplex.

Definition at line 553 of file bedge.C.

References _v1, _v2, and Bvert::loc().

virtual Bsimplex* Bedge::bc2sim (  CWvec &  bc  )  const [inline, virtual]
 

Implements Bsimplex.

Definition at line 381 of file bedge.H.

References _v1, and _v2.

Referenced by local_search().

bool Bedge::can_promote (   )  const [virtual]
 

Reimplemented in Ledge.

Definition at line 430 of file bedge.C.

References _f1, _f2, and Bface::is_secondary().

Referenced by Ledge::can_promote().

Bface* Bedge::ccw_face (   )  const [inline]
 

Definition at line 161 of file bedge.H.

References _v1.

Referenced by cw_face(), do_swap(), and swapable().

Bface * Bedge::ccw_face (  CBvert *  v  )  const
 

Definition at line 520 of file bedge.C.

References _f1, _f2, contains(), and Bface::edge_from_vert().

Referenced by Bface::get_quad_verts(), and leading_faces().

static void Bsimplex::clamp_barycentric (  Wvec &  bc  )  [inline, static, inherited]
 

Definition at line 162 of file bsimplex.H.

References max(), and mlib::Vec3< V >::set().

Referenced by Bsimplex::project_to_simplex().

void Bsimplex::clear_bit (  uint  b  )  [inline, inherited]
 

Definition at line 103 of file bsimplex.H.

References Bsimplex::_flag, and Bsimplex::mask().

Referenced by Ledge::crease_changed(), Bvert::crease_changed(), Bvert::degree_changed(), Lface::delete_subdiv_elements(), Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), MeshGlobal::deselect(), faces_changed(), Bface::geometry_changed(), Bface::make_primary(), LMESH::mark_all_dirty(), Lvert::mark_dirty(), Lvert::mask_changed(), Ledge::mask_changed(), Bvert::normal_changed(), normal_changed(), LMESH::rem_dirty_vert(), Bsimplex::set_bit(), Lvert::set_corner(), Ledge::set_crease(), Bvert::star_changed(), Ledge::subdiv_color_changed(), Lvert::subdiv_loc_changed(), Ledge::subdiv_loc_changed(), Lvert::subdiv_vert_deleted(), Ledge::subdiv_vert_deleted(), and LMESH::update_subdivision().

void Bsimplex::clear_flag (   )  [inline, inherited]
 

Definition at line 92 of file bsimplex.H.

References Bsimplex::_flag, and Bsimplex::FLAG_MASK.

Referenced by Bface_list::clear_edge_flags(), Bvert::clear_flag02(), clear_flag02(), Bface_list::clear_vert_flags(), Bedge_list::clear_vert_flags(), BMESH::get_enclosed_verts(), get_parent_faces(), and Bsimplex::set_flag().

void Bedge::clear_flag02 (   )  [inline]
 

Definition at line 1000 of file bface.H.

References _adj, _f1, _f2, Bsimplex::clear_flag(), and SimplexArray< L, T >::clear_flags().

Referenced by Bedge_list::clear_flag02().

void Bedge::compute_crease (  double  dot  ) 
 

Definition at line 843 of file bedge.C.

References dot(), and set_crease().

Referenced by BMESH::compute_creases(), BMESH::operator=(), and recreate_creases().

bool Bedge::consistent_orientation (   )  const
 

Definition at line 533 of file bedge.C.

References _f1, _f2, nfaces(), and Bface::orientation().

Referenced by TriStrip::backup_strip(), BMESH::grow_oriented_face_lists(), and is_crossable().

bool Bedge::contains (  CBface *  f  )  const [inline]
 

Definition at line 1052 of file bface.H.

References _adj, _f1, _f2, and ARRAY< T >::contains().

bool Bedge::contains (  CBvert *  v  )  const [inline]
 

Definition at line 133 of file bedge.H.

References _v1, and _v2.

Referenced by EdgeStrip::build(), EdgeStrip::build_line_strip(), ccw_face(), Ledge::get_subdiv_verts(), mark_pushed_faces(), on_face(), Bface::other_edge(), Bface::quad_opposite_vert(), redef2(), redefine(), same_verts(), and shared_vert().

void Bedge::crease_changed (   )  [virtual]
 

Reimplemented in Ledge.

Definition at line 1108 of file bedge.C.

References _v1, _v2, and Bvert::crease_changed().

Referenced by Ledge::crease_changed().

virtual unsigned short Bedge::crease_val (   )  const [inline, virtual]
 

Reimplemented in Ledge.

Definition at line 283 of file bedge.H.

References is_crease().

Referenced by dec_crease(), inc_crease(), notify_split(), BMESH::operator=(), and redefine().

Bface* Bedge::cw_face (   )  const [inline]
 

Definition at line 162 of file bedge.H.

References _v2, and ccw_face().

Referenced by do_swap().

Bface* Bedge::cw_face (  CBvert *  v  )  const [inline]
 

Definition at line 157 of file bedge.H.

References ccw_face(), and other_vertex().

Referenced by next_border_edge_cw().

const SimplexDataList* Bsimplex::data_list (   )  const [inline, inherited]
 

Definition at line 132 of file bsimplex.H.

References Bsimplex::_data_list.

Referenced by num_data().

void Bedge::dec_crease (  ushort  max_val = USHRT_MAX  ) 
 

Definition at line 828 of file bedge.C.

References crease_val(), and set_crease().

Referenced by Bedge_list::dec_crease_vals().

bool Bedge::demote (  Bface *  f  ) 
 

Definition at line 378 of file bedge.C.

References _adj, _f1, _f2, add_multi(), ARRAY< T >::contains(), Bface::contains(), debug, err_msg(), Config::get_var_bool(), and MeshGlobal::select().

Referenced by add_multi(), add_primary(), demote(), operator+=(), and Ledge::push_multi().

int Bedge::detach (   ) 
 

Definition at line 147 of file bedge.C.

References _v1, _v2, err_msg(), is_multi(), and nfaces().

Referenced by ~Bedge().

double Bedge::dihedral_angle (   )  const [inline]
 

Definition at line 92 of file bedge.H.

References mlib::Acos(), and dot().

virtual int Bedge::dim (   )  const [inline, virtual]
 

Implements Bsimplex.

Definition at line 348 of file bedge.H.

Referenced by Bface::contains().

double Bsimplex::dist (  CWpt &  p,
mlib::Wvec &  bc
)  const [inline, inherited]
 

Definition at line 216 of file bsimplex.H.

References mlib::Point3< P, V >::dist(), and Bsimplex::nearest_pt().

double Bsimplex::dist (  CWpt &  p  )  const [inline, inherited]
 

Definition at line 215 of file bsimplex.H.

References mlib::Point3< P, V >::dist(), and Bsimplex::nearest_pt().

Referenced by Bface::contains().

bool Bedge::do_swap (   )  [virtual]
 

Reimplemented in Ledge.

Definition at line 1018 of file bedge.C.

References _f1, _f2, _v1, _v2, ccw_face(), Bface::check(), cw_face(), debug, err_adv(), UVdata::get_uv(), Config::get_var_bool(), UVdata::has_uv(), UVdata::is_continuous(), Bface::other_vertex(), UVdata::set(), set_new_vertices(), swap_is_legal(), v1(), and v2().

Referenced by Ledge::do_swap(), and swap_edge().

double Bedge::dot (   )  const
 

Definition at line 350 of file bedge.C.

References _f1, _f2, and Bface::norm().

Referenced by compute_crease(), dihedral_angle(), and nearest_pt_ndc().

Bface * Bedge::f (  int  k  )  const
 

Definition at line 80 of file bedge.C.

References _adj, _f1, _f2, and ARRAY< T >::valid_index().

Referenced by OBJReaderImpl::add_creases(), BMESH::get_zcross_strips(), Bface_list::grow_connected(), BMESH::grow_mesh_equivalence_class(), Ledge::lf(), lookup_face(), Ledge::parallel_sub_edge(), and patch().

Bface* Bedge::f1 (   )  const [inline]
 

Definition at line 50 of file bedge.H.

References _f1.

Referenced by BadEdgeFilter::accept(), PatchEdgeFilter::accept(), OBJReaderImpl::add_creases(), add_faces(), avg_face_edge_len(), ccw_face(), check(), UVdata::get_quad_uvs(), UVdata::handle_subdiv_calc(), has_unmarked_face(), is_adjacent_tri(), UVdata::is_continuous(), norm_angle(), Bface::other_quad_face(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), SimpleUVCalc::subdiv_val(), HybridCalc< Wpt >::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), BMESH::try_collapse_edge(), and try_get_faces().

Bface* Bedge::f2 (   )  const [inline]
 

Definition at line 51 of file bedge.H.

References _f2.

Referenced by BadEdgeFilter::accept(), PatchEdgeFilter::accept(), OBJReaderImpl::add_creases(), add_faces(), avg_face_edge_len(), ccw_face(), check(), UVdata::handle_subdiv_calc(), has_unmarked_face(), is_adjacent_tri(), UVdata::is_continuous(), norm_angle(), Bface::other_quad_face(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), SimpleUVCalc::subdiv_val(), HybridCalc< Wpt >::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), BMESH::try_collapse_edge(), and try_get_faces().

void Bedge::faces_changed (   )  [virtual]
 

Reimplemented in Ledge.

Definition at line 1124 of file bedge.C.

References _v1, _v2, Bsimplex::clear_bit(), normal_changed(), and Bvert::VALID_NON_MANIFOLD_BIT.

Referenced by add_multi(), operator+=(), and operator-=().

SimplexData* Bsimplex::find_data (  void *  key  )  const [inline, inherited]
 

Definition at line 123 of file bsimplex.H.

References Bsimplex::find_data().

SimplexData* Bsimplex::find_data (  Cstr_ptr &  s  )  const [inline, inherited]
 

Definition at line 122 of file bsimplex.H.

References Bsimplex::find_data().

SimplexData* Bsimplex::find_data (  uint  key  )  const [inline, inherited]
 

Definition at line 118 of file bsimplex.H.

References Bsimplex::_data_list, and SimplexDataList::get_item().

Referenced by Bsimplex::add_simplex_data(), Bsimplex::find_data(), and UVdata::lookup().

void Bedge::fix_multi (   ) 
 

Definition at line 493 of file bedge.C.

References _adj, Bface::is_primary(), nfaces_satisfy(), ARRAY< T >::num(), and promote().

Referenced by BMESH::get_sec_faces().

uint Bsimplex::flag (   )  const [inline, inherited]
 

Definition at line 91 of file bsimplex.H.

References Bsimplex::_flag, and Bsimplex::FLAG_MASK.

Referenced by UnreachedSimplexFilter::accept(), SimplexFlagFilter::accept(), add_face(), TriStrip::backup_strip(), both_set(), TriStrip::build(), check_partner(), demote(), BMESH::get_components(), Bface_list::get_edges(), BMESH::get_enclosed_verts(), get_parent_faces(), Bface_list::get_verts(), Bface_list::grow_connected(), BMESH::grow_mesh_equivalence_class(), BMESH::grow_oriented_face_lists(), has_unmarked_face(), Bsimplex::inc_flag(), is_claimed(), is_cleared(), is_marked(), mark_pushed_faces(), promote(), screen(), BMESH::split_components(), try_append(), try_get_edge(), try_get_face(), and try_get_nm_edge().

Bface * Bedge::frontfacing_face (   )  const
 

Definition at line 861 of file bedge.C.

References _f1, _f2, and Bface::front_facing().

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

uint Bsimplex::generate_key (   )  [protected, inherited]
 

Definition at line 20 of file bsimplex.C.

References Bsimplex::_key, Bsimplex::_table, err_msg(), and ARRAY< T >::num().

void Bedge::geometry_changed (   )  [virtual]
 

Reimplemented from Bsimplex.

Reimplemented in Ledge.

Definition at line 1100 of file bedge.C.

References Bsimplex::geometry_changed().

Referenced by Ledge::geometry_changed(), redef2(), redefine(), and set_new_vertices().

Bface_list Bedge::get_all_faces (   )  const
 

Definition at line 68 of file bedge.C.

References _adj, _f1, _f2, and num_all_faces().

virtual Bface* Bedge::get_face (   )  const [inline, virtual]
 

Implements Bsimplex.

Definition at line 367 of file bedge.H.

References _f1, and _f2.

Referenced by BMESH::build_sil_strips(), UVdata::handle_subdiv_calc(), oriented_ccw(), and view_intersect().

void Bedge::inc_crease (  ushort  max_val = USHRT_MAX  ) 
 

Definition at line 813 of file bedge.C.

References crease_val(), and set_crease().

Referenced by Bedge_list::inc_crease_vals().

void Bsimplex::inc_flag (  uint  i  )  [inline, inherited]
 

Definition at line 96 of file bsimplex.H.

References Bsimplex::flag(), Bsimplex::FLAG_BITS, and Bsimplex::set_flag().

int Bedge::index (   )  const [virtual]
 

Implements Bsimplex.

Definition at line 48 of file bedge.C.

References Bsimplex::_mesh, BMESH::edges(), and SimplexArray< L, T >::get_index().

Wpt Bedge::interp (  double  s  )  const [inline]
 

Definition at line 465 of file bvert.H.

References _v1, Bvert::loc(), and vec().

Referenced by EdgeFrame::o().

bool Bedge::is_border (   )  const [inline]
 

Definition at line 248 of file bedge.H.

References nfaces().

Referenced by LoopCalc< COLOR >::centroid(), is_sil(), leading_faces(), Bface::local_search(), next_border_edge_cw(), and BMESH::try_collapse_edge().

bool Bedge::is_chain_tip (  CSimplexFilter &  filter  )  const
 

Definition at line 694 of file bedge.C.

References _v1, _v2, SimplexFilter::accept(), and Bvert::degree().

bool Bsimplex::is_clear (  uint  b  )  const [inline, inherited]
 

Definition at line 101 of file bsimplex.H.

References Bsimplex::is_set().

Referenced by BitClearSimplexFilter::accept(), LMESH::add_dirty_vert(), Bface::is_primary(), Lface::subdiv_dirty(), Lvert::update_subdivision(), and Ledge::update_subdivision().

bool Bedge::is_convex (   )  const [inline]
 

Definition at line 97 of file bedge.H.

References CONVEX_BIT, CONVEX_VALID_BIT, and Bsimplex::is_set().

bool Bedge::is_crease (   )  const [inline]
 

Definition at line 250 of file bedge.H.

References CREASE_BIT, and Bsimplex::is_set().

Referenced by LoopCalc< COLOR >::centroid(), crease_val(), is_crease_end(), is_crossable(), is_poly_crease(), Ledge::is_smooth(), is_stressed(), notify_split(), Bvert::operator+=(), Bvert::operator-=(), BMESH::operator=(), BMESH::put_creases(), redefine(), Ledge::set_mask(), ZcrossPath::sil_walk_search(), ZcrossPath::start_sil(), swap_is_legal(), swapable(), toggle_crease(), and Bface::vert_normal().

bool Bedge::is_crease_end (   )  const
 

Definition at line 688 of file bedge.C.

References _v1, _v2, is_crease(), and Bvert::is_crease_end().

bool Bedge::is_crossable (   )  const
 

Definition at line 792 of file bedge.C.

References consistent_orientation(), is_crease(), is_patch_boundary(), and is_texture_seam().

Referenced by TriStrip::backup_strip(), and Bface::next_strip_face().

bool Bedge::is_interior (   )  const [inline]
 

Definition at line 247 of file bedge.H.

References nfaces().

Referenced by Ledge::set_mask(), and swap_is_legal().

bool Bedge::is_multi (  CBface *  f  )  const
 

Definition at line 370 of file bedge.C.

References _adj, ARRAY< T >::contains(), and Bface::contains().

bool Bedge::is_multi (   )  const
 

Definition at line 362 of file bedge.C.

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

Referenced by BadEdgeFilter::accept(), EdgeStripFilter::accept(), allocate_adjacent_child_faces(), detach(), operator-=(), Ledge::push_multi(), swap_is_legal(), and swapable().

bool Bedge::is_patch_boundary (   )  const
 

Definition at line 287 of file bedge.C.

References _f1, _f2, Config::get_var_bool(), UVdata::is_continuous(), Bsimplex::is_set(), Bface::patch(), and PATCH_BOUNDARY_BIT.

Referenced by is_crossable(), is_texture_seam(), BMESH::operator=(), swap_is_legal(), and swapable().

bool Bedge::is_poly_crease (   )  const [inline]
 

Definition at line 253 of file bedge.H.

References is_crease(), and nfaces().

Referenced by is_strong_poly_crease(), HybridCalc< Wpt >::subdiv_val(), and CatmullClarkCalc< Wpt >::subdiv_val().

bool Bedge::is_polyline (   )  const [inline]
 

Definition at line 249 of file bedge.H.

References nfaces().

Referenced by EdgeStripFilter::accept(), avg_face_edge_len(), LoopCalc< COLOR >::centroid(), is_polyline_end(), and BMESH::put_polylines().

bool Bedge::is_polyline_end (   )  const
 

Definition at line 682 of file bedge.C.

References _v1, _v2, is_polyline(), and Bvert::is_polyline_end().

bool Bedge::is_primary (   )  const [inline]
 

Definition at line 1033 of file bface.H.

References _f1, _f2, and Bface::is_primary().

Referenced by EdgeStripFilter::accept(), and is_secondary().

bool Bedge::is_secondary (   )  const [inline]
 

Definition at line 224 of file bedge.H.

References is_primary().

Referenced by NewSilEdgeFilter::accept().

bool Bsimplex::is_selected (   )  const [inline, inherited]
 

Definition at line 114 of file bsimplex.H.

References Bsimplex::is_set(), and Bsimplex::SELECTED_BIT.

Referenced by SelectedSimplexFilter::accept(), MeshGlobal::deselect(), MeshGlobal::select(), MeshGlobal::toggle_select(), ~Bedge(), Bface::~Bface(), and Bvert::~Bvert().

bool Bsimplex::is_set (  uint  b  )  const [inline, inherited]
 

Definition at line 100 of file bsimplex.H.

References Bsimplex::_flag, and Bsimplex::mask().

Referenced by BitSetSimplexFilter::accept(), Lface::allocate_subdiv_elements(), Ledge::allocate_subdiv_elements(), Lvert::allocate_subdiv_vert(), Bface::area(), Lface::delete_subdiv_elements(), Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), Lvert::displaced_loc(), Ledge::do_swap(), Bface::front_facing(), Bvert::has_color(), Bface::is_bad(), Bsimplex::is_clear(), is_convex(), Bvert::is_crease(), is_crease(), is_patch_boundary(), Bsimplex::is_selected(), Bvert::is_stressed(), is_weak(), Lface::make_primary(), Lface::make_secondary(), Lvert::mark_dirty(), Lvert::mask_changed(), Bvert::norm(), Bface::norm(), Bvert::order_edges_ccw(), UVMapping::recurse(), UVMapping::recurse_wrapping(), LMESH::rem_dirty_vert(), Lface::reverse(), Lface::set_layer(), Lface::set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), Lvert::subdiv_mask(), and Ledge::subdiv_mask().

bool Bedge::is_sil (   )  const
 

Definition at line 703 of file bedge.C.

References _f1, _f2, Bface::front_facing(), is_border(), Bface::is_quad(), is_weak(), Bface::norm(), Bface::quad_partner(), and swap().

Referenced by NewSilEdgeFilter::accept(), IDRefImage::find_all_neighbors(), IDRefImage::find_neighbor(), IDRefImage::is_patch_sil_edge(), and Bface::ndc_walk().

bool Bedge::is_stressed (   )  const
 

Definition at line 800 of file bedge.C.

References _f1, _f2, is_crease(), and Bface::norm().

bool Bedge::is_strong (   )  const [inline]
 

Definition at line 252 of file bedge.H.

References is_weak().

Referenced by avg_strong_edge_len(), is_strong_poly_crease(), and Bvert::qr_centroid().

bool Bedge::is_strong_poly_crease (   )  const [inline]
 

Definition at line 254 of file bedge.H.

References is_poly_crease(), and is_strong().

Referenced by CatmullClarkCalc< Wpt >::crease_centroid().

bool Bedge::is_texture_seam (   )  const
 

Definition at line 762 of file bedge.C.

References _f1, _f2, _v1, _v2, Config::get_var_bool(), UVdata::is_continuous(), is_patch_boundary(), patch(), Patch::tex_coord_gen(), and TexCoordGen::uv_from_vert().

Referenced by is_crossable().

bool Bedge::is_weak (   )  const [inline]
 

Definition at line 251 of file bedge.H.

References Bsimplex::is_set(), and WEAK_BIT.

Referenced by Ledge::claim_child(), get_other_face(), is_sil(), is_strong(), Bface::num_weak_edges(), BMESH::operator=(), BMESH::put_weak_edges(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), SimpleUVCalc::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), swap_is_legal(), and Bface::weak_edge().

uint Bsimplex::key (   )  const [inline, inherited]
 

Definition at line 72 of file bsimplex.H.

References Bsimplex::_key.

Referenced by ColorIDStripCB::edgeCB(), ColorIDStripCB::faceCB(), and ColorIDStripCB::vertCB().

double Bedge::length (   )  const [inline]
 

Definition at line 80 of file bedge.H.

References mlib::Vec3< V >::length(), and vec().

Referenced by avg_edge_len(), avg_face_edge_len(), avg_strong_edge_len(), avg_strong_len(), Bedge_list::min_edge_len(), project_barycentric(), Bvert::qr_centroid(), and Bedge_list::total_length().

Wline Bedge::line (   )  const
 

Definition at line 165 of file bedge.C.

References _v1, _v2, and Bvert::loc().

bool Bedge::local_search (  Bsimplex *&  end,
Wvec &  final_bc,
CWpt &  target,
mlib::Wpt &  reached,
Bsimplex *  repeater = 0,
int  iters = 30
)  [virtual]
 

Implements Bsimplex.

Definition at line 1154 of file bedge.C.

References bc2sim(), Bvert::e(), is_vert(), local_search(), nearest_pt(), and v().

Referenced by local_search().

static Bsimplex* Bsimplex::lookup (  uint  k  )  [inline, static, inherited]
 

Definition at line 73 of file bsimplex.H.

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

Referenced by VisRefImage::debug(), and IDRefImage::simplex().

Bface * Bedge::lookup_face (  CBedge *  e  )  const
 

Definition at line 123 of file bedge.C.

References _adj, _f1, _f2, Bface::contains(), and f().

Bface * Bedge::lookup_face (  CBvert *  v  )  const
 

Definition at line 99 of file bedge.C.

References _adj, _f1, _f2, Bface::contains(), and f().

Referenced by Ledge::get_sub_faces(), and lookup_face().

static uint Bsimplex::mask (  uint  b  )  [inline, static, protected, inherited]
 

Definition at line 268 of file bsimplex.H.

Referenced by Bsimplex::clear_bit(), Bsimplex::is_set(), and Bsimplex::set_bit().

BMESH* Bsimplex::mesh (   )  const [inline, inherited]
 

Definition at line 68 of file bsimplex.H.

References Bsimplex::_mesh.

Referenced by MeshSimplexFilter::accept(), BMESH::add_edge(), BMESH::add_face(), UVMapping::compute_limits(), UVMapping::compute_mapping(), UVMapping::compute_wrapping(), Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), Bvert::eye_local(), ToonTexCB::faceCB(), XToonStripCB::faceCB(), get_ctrl_face(), get_cur_sub_edges(), get_cur_sub_faces(), get_cur_sub_vert(), VisRefImage::get_edit_face(), BMESH::get_enclosed_verts(), get_lmesh(), get_mesh(), get_parent_face(), get_parent_simplex(), TriStrip::get_strips(), VisRefImage::get_sub_face(), get_subdiv_chain(), BMESH::intersect(), Lvert::lmesh(), Lface::lmesh(), Ledge::lmesh(), BMESHray::mesh(), normalized_pix_area(), Bface_list::reachable_faces(), Ledge::rel_level(), LMESH::remove_edge(), LMESH::remove_face(), LMESH::remove_vertex(), MeshGlobal::select(), Lvert::set_subdiv_vert(), BMESH::split_faces(), subdiv_level(), SimpleUVCalc::subdiv_val(), and toggle_crease().

Wpt & Bedge::mid_pt (  mlib::Wpt &  v  )  const
 

Definition at line 307 of file bedge.C.

References _v1, _v2, and Bvert::loc().

Wpt Bedge::mid_pt (   )  const
 

Definition at line 1238 of file bedge.C.

References _v1, _v2, and Bvert::loc().

Referenced by Ledge::allocate_subdiv_elements(), and BMESH::split_edge().

bool Bedge::ndc_intersect (  CNDCpt &  p,
mlib::CNDCpt &  q,
mlib::NDCpt &  ret
)  const
 

Definition at line 177 of file bedge.C.

References _v1, _v2, and Bvert::ndc().

virtual bool Bsimplex::near_point (  CNDCpt &  p,
mlib::Wpt &  hit
)  const [inline, virtual, inherited]
 

Definition at line 182 of file bsimplex.H.

References Bsimplex::view_intersect().

virtual Wpt Bsimplex::nearest_pt (  mlib::CWpt &  p  )  const [inline, virtual, inherited]
 

Definition at line 232 of file bsimplex.H.

References Bsimplex::nearest_pt().

virtual Wpt Bsimplex::nearest_pt (  mlib::CWpt &  p,
mlib::Wvec &  bc
)  const [inline, virtual, inherited]
 

Definition at line 228 of file bsimplex.H.

References Bsimplex::nearest_pt().

virtual Wpt Bedge::nearest_pt (  mlib::CWpt &  p,
mlib::Wvec &  bc,
bool &  is_on_simplex
)  const [virtual]
 

Implements Bsimplex.

Referenced by local_search().

NDCpt Bedge::nearest_pt_ndc (  mlib::CNDCpt &  p,
mlib::Wvec &  bc,
int &  is_on_simplex
)  const [virtual]
 

Implements Bsimplex.

Definition at line 1195 of file bedge.C.

References _v1, _v2, dot(), mlib::gEpsZeroMath, mlib::Vec2< V >::length_sqrd(), Bvert::ndc(), and mlib::Vec3< V >::set().

Bsimplex_list Bedge::neighbors (   )  const [virtual]
 

Implements Bsimplex.

Definition at line 747 of file bedge.C.

References _adj, _f1, _f2, _v1, _v2, and j.

int Bedge::nfaces (   )  const
 

Definition at line 91 of file bedge.C.

References _f1, and _f2.

Referenced by check(), consistent_orientation(), detach(), is_border(), is_interior(), is_poly_crease(), is_polyline(), norm_angle(), num_all_faces(), redefine(), set_new_vertices(), and view_intersect().

int Bedge::nfaces_satisfy (  CSimplexFilter &  f  )  const
 

Definition at line 1244 of file bedge.C.

References _adj, _f1, _f2, SimplexFilter::accept(), and SimplexArray< L, T >::num_satisfy().

Referenced by fix_multi().

Wvec Bedge::norm (   )  const
 

Definition at line 336 of file bedge.C.

References _f1, _f2, mlib::Vec3< V >::perpend(), Bface::qnorm(), and vec().

Referenced by view_intersect().

void Bedge::normal_changed (   )  [virtual]
 

Reimplemented from Bsimplex.

Reimplemented in Ledge.

Definition at line 1115 of file bedge.C.

References _sil_stamp, Bsimplex::clear_bit(), CONVEX_VALID_BIT, and Bsimplex::normal_changed().

Referenced by faces_changed(), Bface::geometry_changed(), and Ledge::normal_changed().

void Bedge::notify_split (  Bsimplex *   )  [virtual]
 

Reimplemented from Bsimplex.

Definition at line 673 of file bedge.C.

References crease_val(), Bsimplex::dim(), is_crease(), and Bsimplex::notify_split().

Referenced by BMESH::split_edge().

void Bsimplex::notify_xform (  CWtransf &  xf  )  [virtual, inherited]
 

Definition at line 52 of file bsimplex.C.

References Bsimplex::_data_list, and SimplexDataList::notify_simplex_xformed().

Referenced by Bvert::transform().

int Bedge::num_all_faces (   )  const
 

Definition at line 57 of file bedge.C.

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

Referenced by get_all_faces().

int Bedge::num_quads (   )  const [inline]
 

Definition at line 1012 of file bface.H.

References _f1, _f2, and Bface::is_quad().

Referenced by HybridCalc< Wpt >::subdiv_val().

virtual bool Bsimplex::on_face (  const Bface *  f  )  const [pure virtual, inherited]
 

Referenced by IDRefImage::is_face_visible().

virtual bool Bedge::on_face (  CBface *  f  )  const [inline, virtual]
 

Definition at line 368 of file bedge.H.

References contains().

bool Bedge::operator+= (  Bface *  face  ) 
 

Definition at line 228 of file bedge.C.

References _f1, _f2, _v1, _v2, add_multi(), Bface::contains(), demote(), faces_changed(), Bface::is_secondary(), and Bvert::star_changed().

bool Bedge::operator-= (  Bface *  face  ) 
 

Definition at line 266 of file bedge.C.

References _adj, _f1, _f2, _v1, _v2, err_msg(), faces_changed(), is_multi(), ARRAY< T >::rem(), and Bvert::star_changed().

Bvert * Bedge::opposite_vert (  CBface *  f  )  const [inline]
 

Definition at line 1041 of file bface.H.

References _v1, _v2, other_face(), and Bface::other_vertex().

Referenced by opposite_vert1(), opposite_vert2(), Bface::quad_opposite_vert(), and Bface::quad_vert().

Bvert* Bedge::opposite_vert1 (   )  const [inline]
 

Definition at line 112 of file bedge.H.

References _f2, and opposite_vert().

Referenced by is_near_tri(), swap_is_legal(), and BMESH::try_collapse_edge().

Bvert* Bedge::opposite_vert2 (   )  const [inline]
 

Definition at line 113 of file bedge.H.

References _f1, and opposite_vert().

Referenced by is_near_tri(), swap_is_legal(), and BMESH::try_collapse_edge().

bool Bedge::oriented_ccw (  Bface *  = 0  )  const
 

Definition at line 541 of file bedge.C.

References get_face(), and Bface::orientation().

Bface* Bedge::other_face (  CBface *  f  )  const [inline]
 

Definition at line 142 of file bedge.H.

References _f1, and _f2.

Referenced by TriStrip::backup_strip(), get_other_face(), Bface::local_search(), Bface::nbr(), Bface::ndc_walk(), Bface::next_face_ccw(), Bface::next_strip_face(), Bface::opposite_face(), opposite_vert(), Bface::other_quad_face(), Bface::plane_walk(), Bface::quad_partner(), UVMapping::recurse(), UVMapping::recurse_wrapping(), rewind_cw(), Bface::shared_edge(), BMESH::split_edge(), HybridCalc< Wpt >::subdiv_val(), swapable(), vert_normal(), and Bface::vert_normal().

Bvert* Bedge::other_vertex (  CBvert *  v  )  const [inline]
 

Definition at line 116 of file bedge.H.

References _v1, and _v2.

Referenced by EdgeStrip::build_ccw_boundaries(), EdgeStrip::build_line_strip(), ccw_face(), cw_face(), Bvert::get_ccw_edges(), Bvert::nbr(), Bvert::next_border_vert_cw(), Bface::quad_opposite_vert(), redef2(), and BMESH::try_collapse_edge().

Patch * Bedge::patch (   )  const
 

Definition at line 328 of file bedge.C.

References _f1, _f2, f(), frontfacing_face(), and Bface::patch().

Referenced by IDRefImage::find_all_neighbors(), IDRefImage::find_neighbor(), get_cur_sub_edges(), IDRefImage::is_patch_sil_edge(), and is_texture_seam().

PIXELline Bedge::pix_line (   )  const
 

Definition at line 171 of file bedge.C.

References _v1, _v2, and Bvert::pix().

void Bedge::project_barycentric (  CWpt &  p,
mlib::Wvec &  bc
)  const [virtual]
 

Implements Bsimplex.

Definition at line 559 of file bedge.C.

References _v1, length(), Bvert::loc(), mlib::Vec3< V >::set(), sqr(), and vec().

Wpt& Bsimplex::project_to_simplex (  mlib::CWpt &  pos,
mlib::Wpt &  ret
)  [inline, inherited]
 

Definition at line 152 of file bsimplex.H.

References Bsimplex::bc2pos(), Bsimplex::clamp_barycentric(), and Bsimplex::project_barycentric().

bool Bedge::promote (  Bface *  f  ) 
 

Definition at line 439 of file bedge.C.

References _adj, _f1, _f2, add_primary(), ARRAY< T >::contains(), Bface::contains(), err_msg(), Config::get_var_bool(), ARRAY< T >::rem(), and MeshGlobal::select().

Referenced by fix_multi(), promote(), and Ledge::push_primary().

bool Bedge::redef2 (  Bvert *  v,
Bvert *  u
)  [virtual]
 

Definition at line 612 of file bedge.C.

References _v1, _v2, contains(), debug, err_adv(), geometry_changed(), Config::get_var_bool(), Bvert::lookup_edge(), and other_vertex().

int Bedge::redefine (  Bvert *  v,
Bvert *  u
)  [virtual]
 

Reimplemented in Ledge.

Definition at line 566 of file bedge.C.

References _v1, _v2, contains(), crease_val(), geometry_changed(), is_crease(), Bvert::lookup_edge(), nfaces(), and set_crease().

Referenced by Ledge::redefine(), and BMESH::split_edge().

virtual uint Bedge::rel_level (   )  const [inline, virtual]
 

Reimplemented in Ledge.

Definition at line 298 of file bedge.H.

void Bsimplex::rem_simplex_data (  SimplexData *  sd  )  [inline, inherited]
 

Definition at line 126 of file bsimplex.H.

References Bsimplex::_data_list, and ARRAY< T >::rem().

Referenced by SimplexData::set().

bool Bedge::same_verts (  CBvert *  u,
CBvert *  v
)  const [inline]
 

Definition at line 137 of file bedge.H.

References contains().

Bface * Bedge::screen_face (  CSimplexFilter &  filter  )  const [inline]
 

Definition at line 1021 of file bface.H.

References _adj, _f1, _f2, SimplexFilter::accept(), and SimplexArray< L, T >::first_satisfies().

Referenced by EdgeStrip::build_ccw_boundaries().

void Bsimplex::set_bit (  uint  b,
int  x = 1
)  [inline, inherited]
 

Definition at line 104 of file bsimplex.H.

References Bsimplex::_flag, Bsimplex::clear_bit(), and Bsimplex::mask().

Referenced by LMESH::add_dirty_vert(), OBJReaderImpl::add_face(), add_poly(), BMESH::add_quad(), Lface::allocate_subdiv_elements(), Ledge::allocate_subdiv_elements(), Lvert::allocate_subdiv_vert(), Ledge::claim_child(), Bvert::color_changed(), Lvert::displaced_loc(), Bface::make_secondary(), BMESH::operator=(), Bvert::order_edges_ccw(), UVMapping::recurse(), UVMapping::recurse_wrapping(), LMESH::remove_vertex(), MeshGlobal::select(), Bvert::set_color(), set_convex(), Lvert::set_mask(), Ledge::set_mask(), Bvert::set_norm(), Bvert::set_normal(), Bface::set_normal(), set_patch_boundary(), Lface::set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), BMESH::set_weak_edge(), Lvert::update_subdivision(), and Ledge::update_subdivision().

void Bedge::set_convex (   )  [protected]
 

Definition at line 851 of file bedge.C.

References _f1, _f2, _v1, _v2, CONVEX_BIT, CONVEX_VALID_BIT, Bvert::loc(), Bface::norm(), Bface::other_vertex(), and Bsimplex::set_bit().

virtual void Bedge::set_crease (  unsigned  short = USHRT_MAX  )  [virtual]
 

Reimplemented in Ledge.

Referenced by OBJReaderImpl::add_creases(), BMESH::clear_creases(), compute_crease(), dec_crease(), inc_crease(), BMESH::operator=(), redefine(), Ledge::set_crease(), BMESH::set_crease(), and toggle_crease().

void Bsimplex::set_flag (  uchar  b = 1  )  [inline, inherited]
 

Definition at line 93 of file bsimplex.H.

References Bsimplex::_flag, and Bsimplex::clear_flag().

Referenced by add_face(), claim_face(), Bface_list::get_edges(), BMESH::get_enclosed_verts(), get_parent_faces(), Bface_list::get_verts(), Bface_list::grow_connected(), BMESH::grow_mesh_equivalence_class(), BMESH::grow_oriented_face_lists(), Bsimplex::inc_flag(), BMESH::kill_component(), mark_face(), mark_pushed_faces(), screen(), BMESH::split_components(), try_append(), try_get_edge(), try_get_face(), and try_get_nm_edge().

void Bsimplex::set_mesh (  BMESH *  mesh  )  [inline, inherited]
 

Definition at line 67 of file bsimplex.H.

References Bsimplex::_mesh.

Referenced by BMESH::add_edge(), BMESH::add_face(), and BMESH::add_vertex().

void Bedge::set_new_vertices (  Bvert *  v1,
Bvert *  v2
)  [virtual]
 

Reimplemented in Ledge.

Definition at line 653 of file bedge.C.

References _v1, _v2, geometry_changed(), Bvert::lookup_edge(), and nfaces().

Referenced by do_swap(), Ledge::set_new_vertices(), and BMESH::try_swap_edge().

void Bedge::set_patch_boundary (  int  b = 1  )  [inline]
 

Definition at line 274 of file bedge.H.

References PATCH_BOUNDARY_BIT, and Bsimplex::set_bit().

Referenced by BMESH::operator=(), and BMESH::set_patch_boundary().

void Bedge::set_sil_stamp (  uint  s  )  [inline]
 

Definition at line 71 of file bedge.H.

References _sil_stamp.

Referenced by NewSilEdgeFilter::accept().

Bvert* Bedge::shared_vert (  CBedge *  e  )  const [inline]
 

Definition at line 124 of file bedge.H.

References _v1, _v2, and contains().

uint Bedge::sil_stamp (   )  const [inline]
 

Definition at line 70 of file bedge.H.

References _sil_stamp.

Referenced by NewSilEdgeFilter::accept().

bool Bedge::swap_is_legal (   )  const
 

Definition at line 993 of file bedge.C.

References _f1, _f2, debug, err_adv(), Config::get_var_bool(), UVdata::has_uv(), UVdata::is_continuous(), is_crease(), is_interior(), is_multi(), is_patch_boundary(), Bface::is_quad(), is_weak(), lookup_edge(), opposite_vert1(), and opposite_vert2().

Referenced by Ledge::do_swap(), and do_swap().

bool Bedge::swapable (  Bface *&  ,
Bface *&  ,
Bvert *&  ,
Bvert *&  ,
Bvert *&  ,
Bvert *&  ,
bool  favor_degree_six = 0
) 
 

Definition at line 876 of file bedge.C.

References _v1, _v2, mlib::Acos(), ccw_face(), mlib::cross(), debug, Bvert::degree(), err_adv(), Config::get_var_bool(), is_crease(), is_multi(), is_patch_boundary(), Bvert::loc(), Bvert::lookup_edge(), max(), Bface::norm(), mlib::Vec3< V >::normalized(), other_face(), Bface::other_vertex(), and vec().

Referenced by BMESH::try_swap_edge().

Bvert* Bedge::v (  int  k  )  const [inline]
 

Definition at line 47 of file bedge.H.

References _v1.

Referenced by Ledge::get_subdiv_verts(), local_search(), Ledge::lv(), operator<<(), BMESH::put_creases(), BMESH::put_polylines(), BMESH::put_weak_edges(), and BMESH::try_collapse_edge().

Bvert* Bedge::v1 (   )  const [inline]
 

Definition at line 45 of file bedge.H.

References _v1.

Referenced by OBJReaderImpl::add_creases(), Lface::allocate_subdiv_elements(), both_set(), EdgeStrip::build(), EdgeStrip::build_ccw_boundaries(), BMESH::build_polyline_strips(), EdgeStrip::build_with_tips(), ccw_face(), check(), Bedge_list::clear_vert_flags(), CatmullClarkCalc< Wpt >::crease_subdiv_val(), do_swap(), draw_edge(), Bface::get_quad_verts(), UVdata::is_continuous(), is_near_tri(), Bface::leading_vert_ccw(), BMESH::operator=(), Bface::opposite_quad_edge(), Bface::orientation(), Bface::other_vertex(), UVdata::set_subdiv_uv(), GtexUtil::show(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), BMESH::split_edge(), BMESH::split_tris(), SimpleUVCalc::subdiv_val(), HybridCalc< Wpt >::subdiv_val(), and SimpleCalc< UVpt >::subdiv_val().

Bvert* Bedge::v2 (   )  const [inline]
 

Definition at line 46 of file bedge.H.

References _v2.

Referenced by OBJReaderImpl::add_creases(), Lface::allocate_subdiv_elements(), both_set(), EdgeStrip::build_ccw_boundaries(), BMESH::build_polyline_strips(), EdgeStrip::build_with_tips(), check(), Bedge_list::clear_vert_flags(), CatmullClarkCalc< Wpt >::crease_subdiv_val(), do_swap(), draw_edge(), Bface::get_quad_verts(), UVdata::is_continuous(), is_near_tri(), Bface::leading_vert_ccw(), BMESH::operator=(), Bface::opposite_quad_edge(), Bface::orientation(), Bface::other_vertex(), UVdata::set_subdiv_uv(), GtexUtil::show(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), BMESH::split_edge(), BMESH::split_tris(), SimpleUVCalc::subdiv_val(), HybridCalc< Wpt >::subdiv_val(), and SimpleCalc< UVpt >::subdiv_val().

Wvec Bedge::vec (   )  const
 

Definition at line 158 of file bedge.C.

References _v1, _v2, and Bvert::loc().

Referenced by interp(), length(), norm(), project_barycentric(), and swapable().

bool Bedge::view_intersect (  CNDCpt &  ,
Wpt &  ,
double &  ,
double &  ,
Wvec &  n
)  const [virtual]
 

Implements Bsimplex.

Definition at line 186 of file bedge.C.

References Bsimplex::_mesh, _v1, _v2, mlib::Point3< P, V >::dist(), get_face(), BMESH::inv_xform(), Bvert::ndc(), nfaces(), Bface::norm(), norm(), mlib::Vec3< V >::normalized(), mlib::Line< L, P, V >::point(), and Bvert::wloc().

Referenced by Bface::view_intersect().

int Bedge::vindex (  CBvert *  v  )  const [inline]
 

Definition at line 122 of file bedge.H.

References _v1, and _v2.

Bsimplex* Bsimplex::walk_to_target (  CWpt &  target,
Wpt &  near_pt,
Wvec &  near_bc,
CSimplexFilter &  filter = SimplexFilter()
)  const [inline, inherited]
 

Definition at line 199 of file bsimplex.H.

References Bsimplex::nearest_pt(), and Bsimplex::walk_to_target().

Bsimplex* Bsimplex::walk_to_target (  CWpt &  target,
CSimplexFilter &  filter = SimplexFilter()
)  const [inherited]
 

Referenced by Bsimplex::walk_to_target().

int Bedge::which_side (  CWplane &  plane  )  const
 

Definition at line 1140 of file bedge.C.

References _v1, _v2, Bvert::loc(), and Sign().

Referenced by Bface::plane_walk(), and BMESH::split_tris().


Friends And Related Function Documentation

Patch * get_ctrl_patch (  CBsimplex *  s  )  [related, inherited]
 

Similar to get_patch(CBsimplex*), but returns the control Patch.

Definition at line 662 of file patch.H.

Patch * get_patch (  CBsimplex *  s  )  [related, inherited]
 

Returns the Patch of a Bsimplex.

Note:
If you know it's actually a Bface, get_patch(CBface*) is faster.

Definition at line 639 of file patch.H.

ostream& operator<< (  ostream &  os,
CBedge &  e
)  [friend]
 

Definition at line 870 of file bedge.C.


Member Data Documentation

Bface_list* Bedge::_adj [protected]
 

Definition at line 406 of file bedge.H.

Referenced by add_multi(), adj(), allocate_adj(), avg_area(), clear_flag02(), contains(), demote(), f(), fix_multi(), get_all_faces(), is_multi(), lookup_face(), neighbors(), nfaces_satisfy(), num_all_faces(), operator-=(), promote(), screen_face(), ~Bedge(), and Ledge::~Ledge().

SimplexDataList* Bsimplex::_data_list [protected, inherited]
 

Definition at line 248 of file bsimplex.H.

Referenced by Bsimplex::add_simplex_data(), Lface::allocate_subdiv_elements(), Ledge::allocate_subdiv_elements(), Lvert::allocate_subdiv_vert(), Bsimplex::data_list(), Bsimplex::find_data(), Bsimplex::geometry_changed(), Bsimplex::normal_changed(), Bsimplex::notify_split(), Bsimplex::notify_xform(), Bsimplex::rem_simplex_data(), Lface::set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), Lvert::update_subdivision(), Ledge::update_subdivision(), and Bsimplex::~Bsimplex().

Bface* Bedge::_f1 [protected]
 

Definition at line 404 of file bedge.H.

Referenced by add_multi(), add_primary(), avg_area(), can_promote(), ccw_face(), clear_flag02(), Ledge::color_changed(), consistent_orientation(), contains(), demote(), do_swap(), dot(), f(), f1(), frontfacing_face(), get_all_faces(), get_face(), is_patch_boundary(), is_primary(), is_sil(), is_stressed(), is_texture_seam(), lookup_face(), neighbors(), nfaces(), nfaces_satisfy(), norm(), num_quads(), operator+=(), operator-=(), opposite_vert2(), other_face(), patch(), promote(), Ledge::push_primary(), screen_face(), set_convex(), swap_is_legal(), ~Bedge(), and Ledge::~Ledge().

Bface* Bedge::_f2 [protected]
 

Definition at line 405 of file bedge.H.

Referenced by add_multi(), add_primary(), avg_area(), can_promote(), ccw_face(), clear_flag02(), Ledge::color_changed(), consistent_orientation(), contains(), demote(), do_swap(), dot(), f(), f2(), frontfacing_face(), get_all_faces(), get_face(), is_patch_boundary(), is_primary(), is_sil(), is_stressed(), is_texture_seam(), lookup_face(), neighbors(), nfaces(), nfaces_satisfy(), norm(), num_quads(), operator+=(), operator-=(), opposite_vert1(), other_face(), patch(), promote(), Ledge::push_primary(), screen_face(), set_convex(), swap_is_legal(), ~Bedge(), and Ledge::~Ledge().

uint Bsimplex::_flag [protected, inherited]
 

Definition at line 246 of file bsimplex.H.

Referenced by Bsimplex::clear_bit(), Bsimplex::clear_flag(), Bsimplex::flag(), Bsimplex::is_set(), Bsimplex::set_bit(), and Bsimplex::set_flag().

uint Bsimplex::_key [protected, inherited]
 

Definition at line 245 of file bsimplex.H.

Referenced by Bsimplex::generate_key(), and Bsimplex::key().

BMESH* Bsimplex::_mesh [protected, inherited]
 

Definition at line 247 of file bsimplex.H.

Referenced by Lface::bc_to_edit_level(), Lvert::cur_subdiv_vert(), Bvert::curv_tensor(), Bvert::dcurv_tensor(), Bvert::diag_curv(), Bface::find_intersect_sim(), Bface::front_facing(), Bvert::index(), Bface::index(), index(), Bvert::k1(), Bvert::k2(), Bsimplex::mesh(), Bvert::ndc(), Bvert::pdir1(), Bvert::pdir2(), Bsimplex::set_mesh(), Bvert::view_intersect(), Bface::view_intersect(), view_intersect(), Bvert::wloc(), Bvert::wnorm(), ~Bedge(), Bvert::~Bvert(), Ledge::~Ledge(), and Lvert::~Lvert().

uint Bedge::_sil_stamp [protected]
 

Definition at line 410 of file bedge.H.

Referenced by normal_changed(), set_sil_stamp(), and sil_stamp().

Bsimplex::IDtable Bsimplex::_table [static, protected, inherited]
 

Definition at line 263 of file bsimplex.H.

Referenced by Bsimplex::generate_key(), and Bsimplex::lookup().

Bvert* Bedge::_v1 [protected]
 

Definition at line 402 of file bedge.H.

Referenced by bc2pos(), bc2sim(), Bedge(), ccw_face(), contains(), crease_changed(), detach(), do_swap(), faces_changed(), interp(), is_chain_tip(), is_crease_end(), is_polyline_end(), is_texture_seam(), line(), mid_pt(), ndc_intersect(), nearest_pt_ndc(), neighbors(), operator+=(), operator-=(), opposite_vert(), other_vertex(), pix_line(), project_barycentric(), redef2(), redefine(), set_convex(), set_new_vertices(), shared_vert(), swapable(), Ledge::update_subdivision(), v(), v1(), vec(), view_intersect(), vindex(), and which_side().

Bvert* Bedge::_v2 [protected]
 

Definition at line 403 of file bedge.H.

Referenced by bc2pos(), bc2sim(), Bedge(), contains(), crease_changed(), cw_face(), detach(), do_swap(), faces_changed(), is_chain_tip(), is_crease_end(), is_polyline_end(), is_texture_seam(), line(), mid_pt(), ndc_intersect(), nearest_pt_ndc(), neighbors(), operator+=(), operator-=(), opposite_vert(), other_vertex(), pix_line(), redef2(), redefine(), set_convex(), set_new_vertices(), shared_vert(), swapable(), v2(), vec(), view_intersect(), vindex(), and which_side().


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