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

Lface Class Reference

#include <lface.H>

Inheritance diagram for Lface:

Inheritance graph
[legend]
Collaboration diagram for Lface:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { SUBDIV_ALLOCATED_BIT = Bface::NEXT_AVAILABLE_BIT, NEXT_AVAILABLE_BIT }

Public Member Functions

 Lface (Lvert *u, Lvert *v, Lvert *w, Ledge *e, Ledge *f, Ledge *g)
virtual ~Lface ()
LMESH * lmesh () const
Lvert * lv (int k) const
Ledge * le (int k) const
Lface * parent () const
void set_parent (Lface *f)
Lface * parent (int rel_level)
Lface * control_face () const
Lface * parent_bc (CWvec &bc, mlib::Wvec &ret) const
Lface * parent_bc (Wvec &bc) const
Lface * child_bc (CWvec &bc, mlib::Wvec &ret) const
Lface * child_bc (Wvec &bc) const
Lface * bc_to_level (int level, CWvec &bc, mlib::Wvec &ret) const
Lface * bc_to_level (int level, Wvec &bc) const
Lface * bc_to_edit_level (Wvec &bc) const
bool subdiv_dirty () const
void allocate_subdiv_elements ()
void set_subdiv_elements ()
void delete_subdiv_elements ()
Ledge * subdiv_edge1 () const
Ledge * subdiv_edge2 () const
Ledge * subdiv_edge3 () const
Lface * subdiv_face_center () const
Lface * subdiv_face1 () const
Lface * subdiv_face2 () const
Lface * subdiv_face3 () const
void append_subdiv_faces (int lev, ARRAY< Bface * > &faces)
virtual void color_changed ()
virtual void make_primary ()
virtual void make_secondary ()
virtual void set_layer (ushort l)
virtual int detach ()
virtual void reverse ()
Bvert * v1 () const
Bvert * v2 () const
Bvert * v3 () const
Bvert * v (int i) const
Bedge * e1 () const
Bedge * e2 () const
Bedge * e3 () const
Bedge * e (int i) const
CWvec & norm () const
CWvec & vert_normal (CBvert *v, Wvec &n) const
Wvec vert_normal (CBvert *v) const
int front_facing () const
bool zx_mark () const
bool zx_query () const
Patch * patch () const
void orient_strip (Bvert *a)
Bvert * orient_strip () const
int vindex (CBvert *v) const
bool contains (CBvert *v) const
bool contains (CBedge *e) const
bool contains (CBsimplex *s) const
bool contains (CWpt &pt, double threshold=0) const
Bvert * other_vertex (CBvert *u, CBvert *v) const
Bvert * other_vertex (CBedge *e) const
Bvert * next_vert_ccw (CBvert *u) const
Bvert * leading_vert_ccw (CBedge *e) const
Bedge * next_edge_ccw (CBedge *u) const
Bedge * edge_from_vert (CBvert *u) const
Bedge * edge_before_vert (CBvert *u) const
Bface * next_face_ccw (CBvert *u) const
Bface * nbr (int i) const
Bedge * shared_edge (CBface *f) const
Bedge * opposite_edge (CBvert *a) const
Bface * opposite_face (CBvert *a) const
Bface * next_strip_face () const
Bedge * other_edge (CBvert *v, CBedge *e) const
int orientation (CBedge *e) const
bool is_bad () const
bool is_primary () const
bool is_secondary () const
ushort layer () const
double area () const
double volume_el () const
double angle (CBvert *v) const
Wpt centroid () const
NDCZpt ndc_centroid () const
Wplane plane () const
double signed_area (CWpt &a, CWpt &b, CWpt &c) const
double signed_area (CNDCpt &a, CNDCpt &b, CNDCpt &c) const
double ndc_area () const
int num_weak_edges () const
bool is_quad () const
Bedge * weak_edge () const
Bface * quad_partner () const
Bface * quad_rep () const
bool is_quad_rep () const
Bvert * quad_vert () const
Bvert * quad_opposite_vert (CBvert *v) const
Bedge * opposite_quad_edge (CBedge *e) const
Bface * other_quad_face (CBedge *e) const
double quad_area () const
double quad_ndc_area () const
Wpt quad_centroid () const
NDCZpt ndc_quad_centroid () const
Wvec quad_norm () const
Wvec qnorm () const
bool get_quad_verts (Bvert *&a, Bvert *&b, Bvert *&c, Bvert *&d) const
bool get_quad_verts (Bvert_list &verts) const
bool get_quad_pts (Wpt &a, Wpt &b, Wpt &c, Wpt &d) const
bool get_quad_edges (Bedge *&ab, Bedge *&bc, Bedge *&cd, Bedge *&da) const
bool get_quad_edges (Bedge_list &edges) const
Wvec quad_tan1 () const
Wvec quad_tan2 () const
double quad_dim1 () const
double quad_dim2 () const
double quad_avg_dim () const
double quad_max_dim () const
double quad_min_dim () const
UVpt quad_bc_to_uv (CWvec &bc) const
Wpt quad_uv2loc (CUVpt &uv) const
UVpt & tex_coord (int vert_index) const
UVpt & tex_coord (CBvert *v) const
void set_tex_coords (CUVpt &a, CUVpt &b, CUVpt &c)
UVpt * tc_array () const
virtual void project_barycentric (CWpt &p, Wvec &ret) const
void project_barycentric_ndc (CNDCpt &p, Wvec &ret) const
virtual void bc2pos (CWvec &bc, Wpt &pos) const
Wpt bc2pos (mlib::CWvec &bc) const
virtual void bc2norm_blend (CWvec &bc, Wvec &vec) const
virtual Bsimplex * bc2sim (CWvec &bc) const
Bvert * bc2vert (CWvec &bc) const
Bedge * bc2edge (CWvec &bc) const
Wvec bc2norm (CWvec &bc) const
virtual bool view_intersect (CNDCpt &, Wpt &, double &, double &, Wvec &n) const
Wpt near_pt (CNDCpt &ndc, Wvec &hit_bc) const
Wpt near_pt (CNDCpt &ndc) const
bool ray_intersect (CWpt &, CWvec &, Wpt &ret, double &depth) const
bool ray_intersect (CWline &ray, Wpt &ret, double &depth) const
bool ray_intersect (CWline &ray, Wvec &bc) const
Wpt plane_intersect (CWline &line) const
Wpt plane_intersect (CNDCpt &ndc) const
Bsimplex * find_intersect_sim (CNDCpt &target, Wpt &hit_pt) const
bool ndc_contains (CNDCpt &p)
Bface * plane_walk (Bedge *cur_edge, CWplane &plane, Bedge *&next_edge) const
NDCpt nearest_pt_ndc (CNDCpt &p, Wvec &bc, int &is_on_tri) const
NDCpt nearest_pt_ndc (CNDCpt &p, Wvec &bc) const
NDCpt nearest_pt_ndc (CNDCpt &p) const
virtual Wpt nearest_pt (CWpt &p, Wvec &bc, bool &is_on_tri) const
virtual Wpt nearest_pt (mlib::CWpt &p, mlib::Wvec &bc, bool &is_on_simplex) const =0
virtual Wpt nearest_pt (mlib::CWpt &p, mlib::Wvec &bc) const
virtual Wpt nearest_pt (mlib::CWpt &p) const
int redefine (Bvert *v, Bvert *u)
int redefine (Bvert *u, Bvert *nu, Bvert *v, Bvert *nv)
virtual bool redef2 (Bvert *a, Bvert *b)
virtual bool redef2 (Bedge *a, Bedge *b)
bool check () const
virtual void geometry_changed ()
virtual void normal_changed ()
virtual int dim () const
virtual int index () const
virtual Bface * get_face () const
virtual bool on_face (CBface *f) const
virtual bool on_face (const Bface *f) const =0
virtual Bsimplex_list neighbors () const
bool local_search (Bsimplex *&end, Wvec &final_bc, CWpt &target, Wpt &reached, Bsimplex *repeater=0, int iters=30)
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_split (Bsimplex *new_simp)
virtual void notify_xform (CWtransf &xf)
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

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

virtual void set_patch (Patch *p)
void set_child_patch (Lface *subface, Patch *&child)
void claim_child (Lface *child, bool center_face=false)
Lface * gen_child_face (Bvert *v1, Bvert *v2, Bvert *v3, Patch *p, LMESH *m, bool center_face=false)
void set_patch_index (int k)
int patch_index () const
Bsimplex * ndc_walk (CNDCpt &target, CWvec &bc=Wvec(), CNDCpt &nearest=NDCpt(), int is_on_tri=0, bool use_passed_in_params=false) const
void set_normal ()
uint generate_key ()

Static Protected Member Functions

static uint mask (uint b)

Protected Attributes

Lface * _parent
Bvert * _v1
Bvert * _v2
Bvert * _v3
Bedge * _e1
Bedge * _e2
Bedge * _e3
Wvec _norm
double _area
Patch * _patch
int _patch_index
Bvert * _orient
uint _ff_stamp
uint _zx_stamp
UVpt * _tc
ushort _layer
uint _key
uint _flag
BMESH * _mesh
SimplexDataList * _data_list

Static Protected Attributes

static IDtable _table

Friends

class Patch
ostream & operator<< (ostream &os, CBface &f)
STDdstream & operator<< (STDdstream &d, CBface &f)

Related Functions

(Note that these are not member functions.)

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

Detailed Description

Definition at line 10 of file lface.H.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
SUBDIV_ALLOCATED_BIT 
NEXT_AVAILABLE_BIT 

Reimplemented from Bface.

Definition at line 13 of file lface.H.

anonymous enum [protected, inherited]
 

Enumerator:
FLAG_MASK 

Definition at line 265 of file bsimplex.H.


Constructor & Destructor Documentation

Lface::Lface (  Lvert *  u,
Lvert *  v,
Lvert *  w,
Ledge *  e,
Ledge *  f,
Ledge *  g
)  [inline]
 

Definition at line 20 of file lface.H.

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

Definition at line 23 of file lface.H.

References delete_subdiv_elements().


Member Function Documentation

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().

void Lface::allocate_subdiv_elements (   ) 
 

Definition at line 225 of file lface.C.

References Bsimplex::_data_list, Bface::_patch, Ledge::allocate_subdiv_elements(), LMESH::allocate_subdiv_mesh(), Lvert::allocate_subdiv_vert(), gen_child_face(), Patch::get_child(), Bface::is_quad(), Bsimplex::is_set(), le(), lmesh(), Bvert::lookup_edge(), lv(), SimplexDataList::notify_subdiv_gen(), Bface::other_vertex(), Ledge::push_multi(), Bsimplex::set_bit(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), subdiv_face_center(), LMESH::subdiv_mesh(), Bface::v(), Bedge::v1(), Bedge::v2(), Bedge::WEAK_BIT, and Bface::weak_edge().

Referenced by allocate_child_faces(), get_child(), and UVdata::set_subdiv_uv().

double Bface::angle (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 211 of file bface.H.

References Bface::contains(), Bvert::loc(), and Bface::next_vert_ccw().

void Lface::append_subdiv_faces (  int  lev,
ARRAY< Bface * > &  faces
) 
 

Definition at line 411 of file lface.C.

References err_msg(), get_subdiv_faces(), subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by get_subdiv_faces().

double Bface::area (   )  const [inline, inherited]
 

Definition at line 198 of file bface.H.

References Bface::_area, Bsimplex::is_set(), and Bface::VALID_NORMAL_BIT.

Referenced by Bedge::avg_area(), BMESHcurvature_data::compute_corner_areas(), get_area(), Bface::project_barycentric(), Bface::quad_area(), and weighted_vnorm().

Bedge* Bface::bc2edge (  CWvec &  bc  )  const [inline, inherited]
 

Definition at line 450 of file bface.H.

References min(), Bface::opposite_edge(), and Bface::v().

Wvec Bface::bc2norm (  CWvec &  bc  )  const [inline, inherited]
 

Definition at line 461 of file bface.H.

References Bface::bc2sim(), is_edge(), is_vert(), and Bface::norm().

virtual void Bface::bc2norm_blend (  CWvec &  bc,
Wvec &  vec
)  const [inline, virtual, inherited]
 

Definition at line 425 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, mlib::Vec3< V >::normalized(), Bface::v1(), Bface::v2(), Bface::v3(), and Bface::vert_normal().

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

Definition at line 146 of file bsimplex.H.

References Bsimplex::bc2pos().

virtual void Bface::bc2pos (  CWvec &  bc,
Wpt &  pos
)  const [inline, virtual, inherited]
 

Implements Bsimplex.

Definition at line 421 of file bface.H.

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

Referenced by ZcrossTexture::draw(), and Bface::nearest_pt().

Bsimplex * Bface::bc2sim (  CWvec &  bc  )  const [virtual, inherited]
 

Implements Bsimplex.

Definition at line 443 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Bface::bc2norm(), Bface::local_search(), and Bface::ndc_walk().

Bvert* Bface::bc2vert (  CWvec &  bc  )  const [inline, inherited]
 

Definition at line 438 of file bface.H.

References max(), and Bface::v().

Lface* Lface::bc_to_edit_level (  Wvec &  bc  )  const [inline]
 

Definition at line 73 of file lface.H.

References Bsimplex::_mesh, bc_to_level(), and BMESH::edit_level().

Lface* Lface::bc_to_level (  int  level,
Wvec &  bc
)  const [inline]
 

Definition at line 68 of file lface.H.

References bc_to_level().

Lface * Lface::bc_to_level (  int  level,
CWvec &  bc,
mlib::Wvec &  ret
)  const
 

Definition at line 570 of file lface.C.

References CLface, lmesh(), and LMESH::subdiv_level().

Referenced by bc_to_edit_level(), and bc_to_level().

Wpt Bface::centroid (   )  const [inline, inherited]
 

Definition at line 219 of file bface.H.

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

Referenced by map_centroid().

bool Bface::check (   )  const [inherited]
 

Definition at line 713 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, Bface::_v3, and Bvert::lookup_edge().

Referenced by Bedge::do_swap().

Lface* Lface::child_bc (  Wvec &  bc  )  const [inline]
 

Definition at line 58 of file lface.H.

References child_bc().

Lface * Lface::child_bc (  CWvec &  bc,
mlib::Wvec &  ret
)  const
 

Definition at line 481 of file lface.C.

References err_msg(), subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by child_bc().

void Lface::claim_child (  Lface *  child,
bool  center_face = false
)  [protected]
 

Definition at line 190 of file lface.C.

References Bface::_layer, Bface::is_secondary(), le(), make_secondary(), parent(), set_layer(), Ledge::set_parent(), and set_parent().

Referenced by gen_child_face(), and set_subdiv_elements().

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(), delete_subdiv_elements(), Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), MeshGlobal::deselect(), Bedge::faces_changed(), Bface::geometry_changed(), Bface::make_primary(), LMESH::mark_all_dirty(), Lvert::mark_dirty(), Lvert::mask_changed(), Ledge::mask_changed(), Bvert::normal_changed(), Bedge::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(), Bedge::clear_flag02(), Bface_list::clear_vert_flags(), Bedge_list::clear_vert_flags(), BMESH::get_enclosed_verts(), get_parent_faces(), and Bsimplex::set_flag().

void Lface::color_changed (   )  [virtual]
 

Definition at line 7 of file lface.C.

References le(), lv(), Ledge::subdiv_color_changed(), and Lvert::subdiv_color_changed().

Referenced by Ledge::color_changed().

bool Bface::contains (  CWpt &  pt,
double  threshold = 0
)  const [inherited]
 

Definition at line 138 of file bface.C.

References mlib::cross(), Bsimplex::dist(), Bvert::loc(), mlib::Vec4::normalized(), Bface::plane(), Bface::v1(), Bface::v2(), and Bface::v3().

bool Bface::contains (  CBsimplex *  s  )  const [inline, inherited]
 

Definition at line 96 of file bface.H.

References Bface::contains(), Bedge::dim(), and Bsimplex::dim().

bool Bface::contains (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 95 of file bface.H.

References Bface::_e1, Bface::_e2, and Bface::_e3.

bool Bface::contains (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 94 of file bface.H.

References Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Bedge::add_multi(), Bedge::add_primary(), Bface::angle(), Bface::contains(), Bedge::demote(), get_other_face(), UVdata::get_uv(), Bedge::is_multi(), Bedge::lookup_face(), mark_pushed_faces(), Bvert::on_face(), Bedge::operator+=(), Bface::orientation(), Bface::other_vertex(), Bedge::promote(), Bface::quad_bc_to_uv(), Bface::quad_opposite_vert(), Bface::redef2(), Bface::redefine(), rewind_cw(), UVdata::set(), UVdata::set_subdiv_uv(), vert_normal(), and weighted_vnorm().

Lface* Lface::control_face (   )  const [inline]
 

Definition at line 47 of file lface.H.

References _parent, and control_face().

Referenced by control_face().

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 Lface::delete_subdiv_elements (   ) 
 

Definition at line 16 of file lface.C.

References Bsimplex::clear_bit(), Bsimplex::is_set(), lmesh(), lv(), Lvert::mark_dirty(), LMESH::remove_edge(), LMESH::remove_face(), SUBDIV_ALLOCATED_BIT, subdiv_edge1(), subdiv_edge2(), subdiv_edge3(), subdiv_face1(), subdiv_face2(), subdiv_face3(), subdiv_face_center(), and LMESH::subdiv_mesh().

Referenced by LMESH::delete_subdiv_mesh(), detach(), LMESH::remove_face(), and ~Lface().

int Lface::detach (   )  [virtual]
 

Reimplemented from Bface.

Definition at line 75 of file lface.C.

References delete_subdiv_elements(), and Bface::detach().

virtual int Bface::dim (   )  const [inline, virtual, inherited]
 

Implements Bsimplex.

Definition at line 586 of file bface.H.

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().

Bedge* Bface::e (  int  i  )  const [inline, inherited]
 

Definition at line 56 of file bface.H.

References Bface::_e1.

Referenced by Bface_list::clear_edge_flags(), Bface_list::get_edges(), Bface_list::grow_connected(), BMESH::grow_oriented_face_lists(), le(), Bface::local_search(), Bface::nbr(), Bface::ndc_walk(), Bface::next_strip_face(), Bface::opposite_face(), Bface::plane_walk(), Bface::quad_opposite_vert(), UVMapping::recurse(), UVMapping::recurse_wrapping(), BMESH::split_tris(), ZcrossPath::start_sil(), and Bface::vert_normal().

Bedge* Bface::e1 (   )  const [inline, inherited]
 

Definition at line 53 of file bface.H.

References Bface::_e1.

Referenced by avg_edge_len(), avg_strong_edge_len(), demote(), Bface::get_quad_edges(), parent_bc(), promote(), UVMapping::recurse(), UVMapping::recurse_wrapping(), Bface::redefine(), and UVdata::UVdata().

Bedge* Bface::e2 (   )  const [inline, inherited]
 

Definition at line 54 of file bface.H.

References Bface::_e2.

Referenced by avg_edge_len(), avg_strong_edge_len(), demote(), Bface::get_quad_edges(), parent_bc(), promote(), UVMapping::recurse(), UVMapping::recurse_wrapping(), Bface::redefine(), and UVdata::UVdata().

Bedge* Bface::e3 (   )  const [inline, inherited]
 

Definition at line 55 of file bface.H.

References Bface::_e3.

Referenced by avg_edge_len(), avg_strong_edge_len(), demote(), Bface::get_quad_edges(), parent_bc(), promote(), UVMapping::recurse(), UVMapping::recurse_wrapping(), Bface::redefine(), and UVdata::UVdata().

Bedge* Bface::edge_before_vert (  CBvert *  u  )  const [inline, inherited]
 

Definition at line 131 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Ledge::get_sub_faces(), Bface::next_face_ccw(), UVdata::set_subdiv_uv(), vert_normal(), and Bface::vert_normal().

Bedge* Bface::edge_from_vert (  CBvert *  u  )  const [inline, inherited]
 

Definition at line 128 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by TriStrip::backup_strip(), Bedge::ccw_face(), Ledge::get_sub_faces(), rewind_cw(), UVdata::set_subdiv_uv(), and Bface::vert_normal().

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().

Bsimplex * Bface::find_intersect_sim (  CNDCpt &  target,
Wpt &  hit_pt
)  const [inherited]
 

Definition at line 119 of file bface.C.

References Bsimplex::_mesh, BMESH::inv_xform(), is_edge(), is_face(), is_vert(), and Bface::ndc_walk().

Referenced by IDRefImage::intersect_sim(), and IDRefImage::is_face_visible().

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().

int Bface::front_facing (   )  const [inherited]
 

Definition at line 100 of file bface.C.

References Bface::_ff_stamp, Bsimplex::_mesh, Bface::_v1, BMESH::eye_local(), Bface::FRONT_FACING_BIT, Config::get_var_bool(), Bsimplex::is_set(), Bvert::loc(), Bface::norm(), VIEW::peek_cam(), and VIEW::stamp().

Referenced by Bedge::frontfacing_face(), is_good(), and Bedge::is_sil().

Lface * Lface::gen_child_face (  Bvert *  v1,
Bvert *  v2,
Bvert *  v3,
Patch *  p,
LMESH *  m,
bool  center_face = false
)  [protected]
 

Definition at line 165 of file lface.C.

References BMESH::add_face(), and claim_child().

Referenced by allocate_subdiv_elements().

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 Bface::geometry_changed (   )  [virtual, inherited]
 

Reimplemented from Bsimplex.

Definition at line 65 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_ff_stamp, Bface::_v1, Bface::_v2, Bface::_v3, Bsimplex::clear_bit(), Bsimplex::geometry_changed(), Bedge::normal_changed(), Bvert::normal_changed(), and Bface::VALID_NORMAL_BIT.

Referenced by Bface::Bface(), Bface::make_primary(), Bface::make_secondary(), Bface::redef2(), Bface::redefine(), and Bface::reverse().

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

Implements Bsimplex.

Definition at line 591 of file bface.H.

bool Bface::get_quad_edges (  Bedge_list &  edges  )  const [inherited]
 

Definition at line 1042 of file bface.C.

References ARRAY< T >::clear(), Bface::e1(), Bface::e2(), Bface::e3(), and Bface::get_quad_edges().

bool Bface::get_quad_edges (  Bedge *&  ab,
Bedge *&  bc,
Bedge *&  cd,
Bedge *&  da
)  const [inherited]
 

Definition at line 1024 of file bface.C.

References Bface::get_quad_verts(), Bvert::lookup_edge(), Bface::v1(), Bface::v2(), and Bface::v3().

Referenced by Bface::get_quad_edges().

bool Bface::get_quad_pts (  Wpt &  a,
Wpt &  b,
Wpt &  c,
Wpt &  d
)  const [inherited]
 

Definition at line 1011 of file bface.C.

References Bface::get_quad_verts(), Bvert::loc(), Bface::v1(), Bface::v2(), and Bface::v3().

Referenced by Bface::quad_dim1(), Bface::quad_dim2(), Bface::quad_tan1(), and Bface::quad_tan2().

bool Bface::get_quad_verts (  Bvert_list &  verts  )  const [inherited]
 

Definition at line 997 of file bface.C.

References ARRAY< T >::clear(), Bface::get_quad_verts(), Bface::v1(), Bface::v2(), and Bface::v3().

bool Bface::get_quad_verts (  Bvert *&  a,
Bvert *&  b,
Bvert *&  c,
Bvert *&  d
)  const [inherited]
 

Definition at line 966 of file bface.C.

References Bedge::ccw_face(), Bface::is_quad(), Bface::next_vert_ccw(), Bface::quad_vert(), Bedge::v1(), Bedge::v2(), and Bface::weak_edge().

Referenced by Bface::get_quad_edges(), Bface::get_quad_pts(), UVdata::get_quad_uvs(), Bface::get_quad_verts(), Bface::quad_bc_to_uv(), and Bface::quad_uv2loc().

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 Bface::index (   )  const [virtual, inherited]
 

Implements Bsimplex.

Definition at line 47 of file bface.C.

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

Referenced by OBJReaderImpl::add_creases(), Patch::put_faces(), and ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::walk_line().

bool Bface::is_bad (   )  const [inline, inherited]
 

Definition at line 180 of file bface.H.

References Bface::BAD_BIT, and Bsimplex::is_set().

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(), subdiv_dirty(), Lvert::update_subdivision(), and Ledge::update_subdivision().

bool Bface::is_primary (   )  const [inline, inherited]
 

Definition at line 184 of file bface.H.

References Bsimplex::is_clear(), and Bface::SECONDARY_BIT.

Referenced by face_type(), Bedge::fix_multi(), Bedge::is_primary(), Bface::is_secondary(), and make_primary().

bool Bface::is_quad (   )  const [inline, inherited]
 

Definition at line 252 of file bface.H.

References Bface::num_weak_edges().

Referenced by BMESH::add_quad(), allocate_subdiv_elements(), avg_face_edge_len(), Bface_list::Bface_list(), check_partner(), MeshGlobal::deselect(), CatmullClarkCalc< Wpt >::fcentroid(), get_area(), Bvert::get_q_nbrs(), get_quad_faces(), Bface::get_quad_verts(), Bface::is_quad_rep(), Bedge::is_sil(), is_tri(), lookup_quad(), map_centroid(), Bedge::num_quads(), Bface::opposite_quad_edge(), Bface::qnorm(), Bvert::qr_centroid(), UVdata::quad_has_uv(), Bface::quad_partner(), Bface::quad_vert(), MeshGlobal::select(), SimpleUVCalc::subdiv_val(), HybridCalc< Wpt >::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), and Bedge::swap_is_legal().

bool Bface::is_quad_rep (   )  const [inline, inherited]
 

Definition at line 272 of file bface.H.

References Bface::is_quad(), and Bface::quad_rep().

bool Bface::is_secondary (   )  const [inline, inherited]
 

Definition at line 185 of file bface.H.

References Bface::is_primary().

Referenced by Bedge::add_primary(), Bedge::can_promote(), claim_child(), is_sec(), make_secondary(), Bedge::operator+=(), BMESH::operator=(), and BMESH::put_sec_faces().

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::~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(), allocate_subdiv_elements(), Ledge::allocate_subdiv_elements(), Lvert::allocate_subdiv_vert(), Bface::area(), 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(), Bedge::is_convex(), Bvert::is_crease(), Bedge::is_crease(), Bedge::is_patch_boundary(), Bsimplex::is_selected(), Bvert::is_stressed(), Bedge::is_weak(), make_primary(), 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(), reverse(), set_layer(), set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), Lvert::subdiv_mask(), and Ledge::subdiv_mask().

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().

ushort Bface::layer (   )  const [inline, inherited]
 

Definition at line 187 of file bface.H.

References Bface::_layer.

Ledge* Lface::le (  int  k  )  const [inline]
 

Definition at line 28 of file lface.H.

References Bface::e().

Referenced by allocate_subdiv_elements(), claim_child(), color_changed(), subdiv_edge1(), subdiv_edge2(), and subdiv_edge3().

Bvert* Bface::leading_vert_ccw (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 119 of file bface.H.

References Bface::next_vert_ccw(), Bedge::v1(), and Bedge::v2().

Referenced by EdgeStrip::build_ccw_boundaries(), and Ledge::get_sub_faces().

LMESH* Lface::lmesh (   )  const [inline]
 

Definition at line 26 of file lface.H.

References Bsimplex::mesh().

Referenced by allocate_subdiv_elements(), bc_to_level(), and delete_subdiv_elements().

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

Implements Bsimplex.

Definition at line 457 of file bface.C.

References Bface::bc2sim(), Bface::e(), Bedge::is_border(), is_edge(), is_vert(), Bface::local_search(), Bface::nearest_pt(), ARRAY< T >::num(), and Bedge::other_face().

Referenced by Bface::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().

Lvert* Lface::lv (  int  k  )  const [inline]
 

Definition at line 27 of file lface.H.

References Bface::v().

Referenced by allocate_subdiv_elements(), color_changed(), delete_subdiv_elements(), parent_bc(), subdiv_face1(), subdiv_face2(), and subdiv_face3().

void Lface::make_primary (   )  [virtual]
 

Reimplemented from Bface.

Definition at line 144 of file lface.C.

References Bface::is_primary(), Bsimplex::is_set(), Bface::make_primary(), push_primary(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by push_primary().

void Lface::make_secondary (   )  [virtual]
 

Reimplemented from Bface.

Definition at line 115 of file lface.C.

References Bface::is_secondary(), Bsimplex::is_set(), Bface::make_secondary(), push_secondary(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by claim_child(), and push_secondary().

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(), 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().

Bface* Bface::nbr (  int  i  )  const [inline, inherited]
 

Definition at line 139 of file bface.H.

References Bface::e(), and Bedge::other_face().

Referenced by BMESH::grow_oriented_face_lists(), ZcrossPath::start_sil(), and ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::walk_line().

double Bface::ndc_area (   )  const [inline, inherited]
 

Definition at line 230 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, Bvert::ndc(), and Bface::signed_area().

Referenced by Bface::quad_ndc_area().

NDCZpt Bface::ndc_centroid (   )  const [inline, inherited]
 

Definition at line 220 of file bface.H.

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

bool Bface::ndc_contains (  CNDCpt &  p  )  [inline, inherited]
 

Definition at line 519 of file bface.H.

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

NDCZpt Bface::ndc_quad_centroid (   )  const [inline, inherited]
 

Definition at line 326 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, Bvert::ndc(), and Bface::quad_vert().

Bsimplex * Bface::ndc_walk (  CNDCpt &  target,
CWvec &  bc = Wvec(),
CNDCpt &  nearest = NDCpt(),
int  is_on_tri = 0,
bool  use_passed_in_params = false
)  const [protected, inherited]
 

Definition at line 170 of file bface.C.

References Bface::bc2sim(), Bvert::degree(), mlib::Point2< P, V >::dist_sqrd(), Bface::e(), is_edge(), Bedge::is_sil(), is_vert(), Bface::ndc_walk(), Bface::nearest_pt_ndc(), ARRAY< T >::num(), Bedge::other_face(), and Bface::v().

Referenced by Bface::find_intersect_sim(), and Bface::ndc_walk().

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().

Wpt Bface::near_pt (  CNDCpt &  ndc  )  const [inline, inherited]
 

Definition at line 489 of file bface.H.

References Bface::near_pt().

Wpt Bface::near_pt (  CNDCpt &  ndc,
Wvec &  hit_bc
)  const [inherited]
 

Definition at line 660 of file bface.C.

References Bsimplex::nearest_pt(), Bface::nearest_pt_ndc(), and Bface::plane_intersect().

Referenced by VisRefImage::get_face_bc(), and Bface::near_pt().

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 Bsimplex::nearest_pt (  mlib::CWpt &  p,
mlib::Wvec &  bc,
bool &  is_on_simplex
)  const [pure virtual, inherited]
 

Implemented in Bedge, and Bvert.

Referenced by Bsimplex::dist(), Bface::near_pt(), Bsimplex::nearest_pt(), and Bsimplex::walk_to_target().

Wpt Bface::nearest_pt (  CWpt &  p,
Wvec &  bc,
bool &  is_on_tri
)  const [virtual, inherited]
 

Definition at line 547 of file bface.C.

References Bface::_v1, Bface::_v2, Bface::_v3, Bface::bc2pos(), Bvert::loc(), Bface::project_barycentric(), pt_near_seg(), mlib::Vec3< V >::set(), and snap().

Referenced by Bface::local_search(), and QuadtreeNode::nearest_pt().

NDCpt Bface::nearest_pt_ndc (  CNDCpt &  p  )  const [inline, inherited]
 

Definition at line 537 of file bface.H.

References Bface::nearest_pt_ndc().

NDCpt Bface::nearest_pt_ndc (  CNDCpt &  p,
Wvec &  bc
)  const [inline, inherited]
 

Definition at line 534 of file bface.H.

References Bface::nearest_pt_ndc().

NDCpt Bface::nearest_pt_ndc (  CNDCpt &  p,
Wvec &  bc,
int &  is_on_tri
)  const [virtual, inherited]
 

Implements Bsimplex.

Definition at line 604 of file bface.C.

References Bface::_v1, Bface::_v2, Bface::_v3, Bvert::ndc(), pt_near_seg_ndc(), mlib::Vec3< V >::set(), signed_area_ndc(), snap(), and Bface::v().

Referenced by Bface::ndc_walk(), Bface::near_pt(), and Bface::nearest_pt_ndc().

Bsimplex_list Bface::neighbors (   )  const [virtual, inherited]
 

Implements Bsimplex.

Definition at line 419 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, Bface::_v3, bfa_to_bsa(), and get_other_face().

Bedge* Bface::next_edge_ccw (  CBedge *  u  )  const [inline, inherited]
 

Definition at line 125 of file bface.H.

References Bface::_e1, Bface::_e2, and Bface::_e3.

Bface* Bface::next_face_ccw (  CBvert *  u  )  const [inline, inherited]
 

Definition at line 134 of file bface.H.

References Bface::edge_before_vert(), and Bedge::other_face().

Bface* Bface::next_strip_face (   )  const [inline, inherited]
 

Definition at line 162 of file bface.H.

References Bface::e(), Bedge::is_crossable(), Bface::opposite_edge(), Bface::orient_strip(), and Bedge::other_face().

Referenced by TriStrip::build().

Bvert* Bface::next_vert_ccw (  CBvert *  u  )  const [inline, inherited]
 

Definition at line 113 of file bface.H.

References Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Bface::angle(), TriStrip::backup_strip(), TriStrip::build(), EdgeStrip::build_ccw_boundaries(), Bface::get_quad_verts(), Ledge::get_sub_faces(), Bface::leading_vert_ccw(), next_vert_ccw(), and Bface::orientation().

CWvec& Bface::norm (   )  const [inline, inherited]
 

Definition at line 59 of file bface.H.

References Bface::_norm, Bsimplex::is_set(), and Bface::VALID_NORMAL_BIT.

Referenced by Bface_list::avg_normal(), Bface::bc2norm(), Bedge::dot(), StripColorCB::faceCB(), IVNormalIterator::faceCB(), StripTexCoordsCB2::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), Bface::front_facing(), BMESH::intersect(), Bedge::is_sil(), Bedge::is_stressed(), Bface_list::max_norm_deviation(), norm_angle(), Bface::plane(), Bface::qnorm(), Bface::quad_norm(), Bedge::set_convex(), Bface::signed_area(), ZcrossPath::start_sil(), Bedge::swapable(), Bface::view_intersect(), Bedge::view_intersect(), and weighted_vnorm().

void Bface::normal_changed (   )  [virtual, inherited]
 

Reimplemented from Bsimplex.

Definition at line 56 of file bface.C.

void Bsimplex::notify_split (  Bsimplex *  new_simp  )  [virtual, inherited]
 

Reimplemented in Bedge.

Definition at line 39 of file bsimplex.C.

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

Referenced by Bedge::notify_split(), BMESH::split_edge(), and BMESH::split_face().

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 Bface::num_weak_edges (   )  const [inline, inherited]
 

Definition at line 245 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, and Bedge::is_weak().

Referenced by Bface::is_quad().

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

Referenced by IDRefImage::is_face_visible().

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

Definition at line 592 of file bface.H.

Bedge* Bface::opposite_edge (  CBvert *  a  )  const [inline, inherited]
 

Definition at line 152 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Bface::bc2edge(), Bvert::get_ccw_edges(), mark_pushed_faces(), Bface::next_strip_face(), Bface::opposite_face(), Ledge::parallel_sub_edge(), and toggle_crease().

Bface* Bface::opposite_face (  CBvert *  a  )  const [inline, inherited]
 

Definition at line 158 of file bface.H.

References Bface::e(), Bface::opposite_edge(), and Bedge::other_face().

Referenced by TriStrip::build(), and ZcrossPath::sil_walk_search().

Bedge* Bface::opposite_quad_edge (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 289 of file bface.H.

References Bface::is_quad(), Bvert::lookup_edge(), Bface::other_vertex(), Bface::quad_vert(), Bedge::v1(), and Bedge::v2().

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

Bvert* Bface::orient_strip (   )  const [inline, inherited]
 

Definition at line 85 of file bface.H.

References Bface::_orient.

Referenced by Bface::next_strip_face().

void Bface::orient_strip (  Bvert *  a  )  [inline, inherited]
 

Definition at line 84 of file bface.H.

References Bface::_orient.

Referenced by TriStrip::build().

int Bface::orientation (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 173 of file bface.H.

References Bface::contains(), Bface::next_vert_ccw(), Bedge::v1(), and Bedge::v2().

Referenced by Bedge::consistent_orientation(), and Bedge::oriented_ccw().

Bedge* Bface::other_edge (  CBvert *  v,
CBedge *  e
)  const [inline, inherited]
 

Definition at line 166 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, and Bedge::contains().

Referenced by UVdata::set_subdiv_uv().

Bface* Bface::other_quad_face (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 300 of file bface.H.

References Bedge::f1(), Bedge::f2(), and Bedge::other_face().

Bvert* Bface::other_vertex (  CBedge *  e  )  const [inline, inherited]
 

Definition at line 110 of file bface.H.

References Bface::other_vertex(), Bedge::v1(), and Bedge::v2().

Bvert* Bface::other_vertex (  CBvert *  u,
CBvert *  v
)  const [inline, inherited]
 

Definition at line 103 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, and Bface::contains().

Referenced by allocate_subdiv_elements(), TriStrip::backup_strip(), TriStrip::build(), Bedge::do_swap(), Bface::opposite_quad_edge(), Bedge::opposite_vert(), Bface::other_vertex(), Bedge::set_convex(), ZcrossPath::sil_walk_search(), BMESH::split_edge(), HybridCalc< Wpt >::subdiv_val(), and Bedge::swapable().

Lface * Lface::parent (  int  rel_level  ) 
 

Definition at line 623 of file lface.C.

References parent().

Lface* Lface::parent (   )  const [inline]
 

Definition at line 32 of file lface.H.

References _parent.

Referenced by claim_child(), get_parent(), and parent().

Lface* Lface::parent_bc (  Wvec &  bc  )  const [inline]
 

Definition at line 55 of file lface.H.

References parent_bc().

Lface * Lface::parent_bc (  CWvec &  bc,
mlib::Wvec &  ret
)  const
 

Definition at line 529 of file lface.C.

References _parent, c1_to_p, c2_to_p, c3_to_p, cc_to_p, Bface::e1(), Bface::e2(), Bface::e3(), err_msg(), lv(), Lvert::parent(), and Bface::v1().

Referenced by parent_bc().

Patch* Bface::patch (   )  const [inline, inherited]
 

Definition at line 80 of file bface.H.

References Bface::_patch.

Referenced by Patch::add(), TriStrip::build(), BMESH::build_sil_strips(), BMESH::build_zcross_strips(), SmoothShadeStripCB::faceCB(), FlatShadeStripCB::faceCB(), UV_attrib::get_attrib(), get_cur_sub_faces(), get_patch(), BMESH::intersect(), Bedge::is_patch_boundary(), Bedge::patch(), Patch::put_faces(), Patch::remove(), BMESH::split_edge(), and BMESH::split_face().

int Bface::patch_index (   )  const [inline, protected, inherited]
 

Definition at line 629 of file bface.H.

References Bface::_patch_index.

Referenced by Patch::remove().

Wplane Bface::plane (   )  const [inline, inherited]
 

Definition at line 221 of file bface.H.

References Bface::_v1, Bvert::loc(), and Bface::norm().

Referenced by Bface::contains(), and Bface::plane_intersect().

Wpt Bface::plane_intersect (  CNDCpt &  ndc  )  const [inline, inherited]
 

Definition at line 514 of file bface.H.

References Bface::plane_intersect().

Wpt Bface::plane_intersect (  CWline &  line  )  const [inline, inherited]
 

Definition at line 511 of file bface.H.

References mlib::Plane< PLANE, P, V, L >::intersect(), and Bface::plane().

Referenced by Bface::near_pt(), Bface::plane_intersect(), and BMESH::split_faces().

Bface * Bface::plane_walk (  Bedge *  cur_edge,
CWplane &  plane,
Bedge *&  next_edge
)  const [inherited]
 

Definition at line 258 of file bface.C.

References Bface::e(), Bedge::other_face(), and Bedge::which_side().

virtual void Bface::project_barycentric (  CWpt &  p,
Wvec &  ret
)  const [inline, virtual, inherited]
 

Implements Bsimplex.

Definition at line 406 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, Bface::area(), Bvert::loc(), mlib::Vec3< V >::set(), Bface::signed_area(), and Bface::v().

Referenced by Bface::nearest_pt(), Bface::ray_intersect(), BMESH::split_face(), and toggle_crease().

void Bface::project_barycentric_ndc (  CNDCpt &  p,
Wvec &  ret
)  const [inline, inherited]
 

Definition at line 413 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, Bvert::ndc(), mlib::Vec3< V >::set(), Bface::signed_area(), and Bface::v().

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().

Wvec Bface::qnorm (   )  const [inline, inherited]
 

Definition at line 334 of file bface.H.

References Bface::is_quad(), Bface::norm(), and Bface::quad_norm().

Referenced by Bedge::norm().

double Bface::quad_area (   )  const [inline, inherited]
 

Definition at line 316 of file bface.H.

References Bface::area(), and Bface::quad_partner().

Referenced by get_area().

double Bface::quad_avg_dim (   )  const [inline, inherited]
 

Definition at line 370 of file bface.H.

References Bface::quad_dim1(), and Bface::quad_dim2().

Referenced by avg_face_edge_len().

UVpt Bface::quad_bc_to_uv (  CWvec &  bc  )  const [inherited]
 

Definition at line 1105 of file bface.C.

References Bface::contains(), err_msg(), Bface::get_quad_verts(), and Bface::vindex().

Wpt Bface::quad_centroid (   )  const [inline, inherited]
 

Definition at line 322 of file bface.H.

References Bface::_v1, Bface::_v2, Bface::_v3, Bvert::loc(), and Bface::quad_vert().

Referenced by map_centroid().

double Bface::quad_dim1 (   )  const [inherited]
 

Definition at line 1083 of file bface.C.

References mlib::Point3< P, V >::dist(), and Bface::get_quad_pts().

Referenced by Bface::quad_avg_dim(), Bface::quad_max_dim(), and Bface::quad_min_dim().

double Bface::quad_dim2 (   )  const [inherited]
 

Definition at line 1094 of file bface.C.

References mlib::Point3< P, V >::dist(), and Bface::get_quad_pts().

Referenced by Bface::quad_avg_dim(), Bface::quad_max_dim(), and Bface::quad_min_dim().

double Bface::quad_max_dim (   )  const [inline, inherited]
 

Definition at line 371 of file bface.H.

References max(), Bface::quad_dim1(), and Bface::quad_dim2().

double Bface::quad_min_dim (   )  const [inline, inherited]
 

Definition at line 372 of file bface.H.

References min(), Bface::quad_dim1(), and Bface::quad_dim2().

double Bface::quad_ndc_area (   )  const [inline, inherited]
 

Definition at line 319 of file bface.H.

References Bface::ndc_area(), and Bface::quad_partner().

Wvec Bface::quad_norm (   )  const [inline, inherited]
 

Definition at line 330 of file bface.H.

References Bface::norm(), mlib::Vec3< V >::normalized(), and Bface::quad_partner().

Referenced by Bface::qnorm(), Bface::quad_tan1(), and Bface::quad_tan2().

Bvert* Bface::quad_opposite_vert (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 277 of file bface.H.

References Bface::contains(), Bedge::contains(), Bface::e(), Bedge::opposite_vert(), Bedge::other_vertex(), Bface::quad_partner(), and Bface::weak_edge().

Referenced by Bvert::get_q_nbrs(), and Bvert::qr_centroid().

Bface* Bface::quad_partner (   )  const [inline, inherited]
 

Definition at line 261 of file bface.H.

References Bface::is_quad(), Bedge::other_face(), and Bface::weak_edge().

Referenced by Bface_list::Bface_list(), check_partner(), MeshGlobal::deselect(), get_other_face(), Bedge::is_sil(), Bface::quad_area(), Bface::quad_ndc_area(), Bface::quad_norm(), Bface::quad_opposite_vert(), Bface::quad_rep(), MeshGlobal::select(), SimpleUVCalc::subdiv_val(), and SimpleCalc< UVpt >::subdiv_val().

Bface* Bface::quad_rep (   )  const [inline, inherited]
 

Definition at line 267 of file bface.H.

References min(), and Bface::quad_partner().

Referenced by BMESH::add_quad(), get_quad_faces(), and Bface::is_quad_rep().

Wvec Bface::quad_tan1 (   )  const [inherited]
 

Definition at line 1059 of file bface.C.

References Bface::get_quad_pts(), mlib::Vec3< V >::normalized(), mlib::Vec3< V >::orthogonalized(), and Bface::quad_norm().

Wvec Bface::quad_tan2 (   )  const [inherited]
 

Definition at line 1071 of file bface.C.

References Bface::get_quad_pts(), mlib::Vec3< V >::normalized(), mlib::Vec3< V >::orthogonalized(), and Bface::quad_norm().

Wpt Bface::quad_uv2loc (  CUVpt &  uv  )  const [inherited]
 

Definition at line 1154 of file bface.C.

References err_msg(), Bface::get_quad_verts(), Bvert::loc(), and Bface::v().

Bvert* Bface::quad_vert (   )  const [inline, inherited]
 

Definition at line 274 of file bface.H.

References Bface::is_quad(), Bedge::opposite_vert(), and Bface::weak_edge().

Referenced by CatmullClarkCalc< Wpt >::fcentroid(), Bface::get_quad_verts(), lookup_quad(), Bface::ndc_quad_centroid(), Bface::opposite_quad_edge(), Bface::quad_centroid(), SimpleUVCalc::subdiv_val(), and SimpleCalc< UVpt >::subdiv_val().

bool Bface::ray_intersect (  CWline &  ray,
Wvec &  bc
)  const [inline, inherited]
 

Definition at line 501 of file bface.H.

References Bface::project_barycentric(), and Bface::ray_intersect().

bool Bface::ray_intersect (  CWline &  ray,
Wpt &  ret,
double &  depth
)  const [inline, inherited]
 

Definition at line 497 of file bface.H.

References Bface::ray_intersect().

bool Bface::ray_intersect (  CWpt &  ,
CWvec &  ,
Wpt &  ret,
double &  depth
)  const [inherited]
 

Definition at line 277 of file bface.C.

References mlib::cross().

Referenced by Bface::ray_intersect(), and Bface::view_intersect().

bool Bface::redef2 (  Bedge *  a,
Bedge *  b
)  [virtual, inherited]
 

Definition at line 724 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::contains(), debug, err_adv(), Bface::geometry_changed(), and Config::get_var_bool().

bool Bface::redef2 (  Bvert *  a,
Bvert *  b
)  [virtual, inherited]
 

Definition at line 760 of file bface.C.

References Bface::_orient, Bface::_patch, Bface::_v1, Bface::_v2, Bface::_v3, Bface::contains(), debug, err_adv(), Bface::geometry_changed(), Config::get_var_bool(), and Patch::triangulation_changed().

int Bface::redefine (  Bvert *  u,
Bvert *  nu,
Bvert *  v,
Bvert *  nv
)  [inherited]
 

Definition at line 862 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_orient, Bface::_patch, Bface::_v1, Bface::_v2, Bface::_v3, Bface::contains(), Bface::e1(), Bface::e2(), Bface::e3(), Bface::geometry_changed(), Bvert::lookup_edge(), lookup_face(), and Patch::triangulation_changed().

int Bface::redefine (  Bvert *  v,
Bvert *  u
)  [inherited]
 

Definition at line 801 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bface::_orient, Bface::_patch, Bface::_v1, Bface::_v2, Bface::_v3, Bface::contains(), debug, Bface::e1(), Bface::e2(), Bface::e3(), err_adv(), Bface::geometry_changed(), Config::get_var_bool(), Bvert::lookup_edge(), lookup_face(), and Patch::triangulation_changed().

Referenced by BMESH::split_edge(), BMESH::split_face(), and BMESH::try_swap_edge().

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().

void Lface::reverse (   )  [virtual]
 

Reimplemented from Bface.

Definition at line 63 of file lface.C.

References Bsimplex::is_set(), Bface::reverse(), reverse_face(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

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(), 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(), Bedge::set_convex(), Lvert::set_mask(), Ledge::set_mask(), Bvert::set_norm(), Bvert::set_normal(), Bface::set_normal(), Bedge::set_patch_boundary(), set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), BMESH::set_weak_edge(), Lvert::update_subdivision(), and Ledge::update_subdivision().

void Lface::set_child_patch (  Lface *  subface,
Patch *&  child
)  [protected]
 

Definition at line 378 of file lface.C.

References Bface::_patch, Patch::add(), Patch::get_child(), and set_patch().

Referenced by set_patch().

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 Lface::set_layer (  ushort  l  )  [virtual]
 

Reimplemented from Bface.

Definition at line 90 of file lface.C.

References Bface::_layer, Bsimplex::is_set(), Bface::set_layer(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by claim_child(), and set_layer().

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 Bface::set_normal (   )  [inline, protected, inherited]
 

Definition at line 638 of file bface.H.

References Bface::_area, Bface::_norm, Bface::_v1, Bface::_v2, Bface::_v3, mlib::cross(), Bvert::loc(), mlib::Vec3< V >::normalized(), Bsimplex::set_bit(), Bface::signed_area(), and Bface::VALID_NORMAL_BIT.

void Lface::set_parent (  Lface *  f  )  [inline]
 

Definition at line 34 of file lface.H.

References _parent.

Referenced by claim_child().

void Lface::set_patch (  Patch *  p  )  [protected, virtual]
 

Reimplemented from Bface.

Definition at line 391 of file lface.C.

References set_child_patch(), Bface::set_patch(), subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

Referenced by set_child_patch().

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

Definition at line 628 of file bface.H.

References Bface::_patch_index.

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

void Lface::set_subdiv_elements (   ) 
 

Definition at line 352 of file lface.C.

References Bsimplex::_data_list, claim_child(), err_msg(), Bsimplex::is_set(), SimplexDataList::notify_subdiv_gen(), Bsimplex::set_bit(), SUBDIV_ALLOCATED_BIT, subdiv_face1(), subdiv_face2(), subdiv_face3(), and subdiv_face_center().

void Bface::set_tex_coords (  CUVpt &  a,
CUVpt &  b,
CUVpt &  c
)  [inline, inherited]
 

Definition at line 398 of file bface.H.

References Bface::tex_coord().

Referenced by outputMesh().

Bedge* Bface::shared_edge (  CBface *  f  )  const [inline, inherited]
 

Definition at line 145 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, and Bedge::other_face().

Referenced by ZcrossPath::sil_walk_search().

double Bface::signed_area (  CNDCpt &  a,
CNDCpt &  b,
CNDCpt &  c
)  const [inline, inherited]
 

Definition at line 226 of file bface.H.

double Bface::signed_area (  CWpt &  a,
CWpt &  b,
CWpt &  c
)  const [inline, inherited]
 

Definition at line 223 of file bface.H.

References mlib::cross(), and Bface::norm().

Referenced by Bface::ndc_area(), Bface::project_barycentric(), Bface::project_barycentric_ndc(), and Bface::set_normal().

bool Lface::subdiv_dirty (   )  const [inline]
 

Definition at line 78 of file lface.H.

References Bsimplex::is_clear(), and SUBDIV_ALLOCATED_BIT.

Referenced by allocate_child_faces().

Ledge* Lface::subdiv_edge1 (   )  const [inline]
 

Definition at line 84 of file lface.H.

References le(), and lookup_edge().

Referenced by delete_subdiv_elements(), subdiv_face2(), and subdiv_face_center().

Ledge* Lface::subdiv_edge2 (   )  const [inline]
 

Definition at line 88 of file lface.H.

References le(), and lookup_edge().

Referenced by delete_subdiv_elements(), subdiv_face3(), and subdiv_face_center().

Ledge* Lface::subdiv_edge3 (   )  const [inline]
 

Definition at line 92 of file lface.H.

References le(), and lookup_edge().

Referenced by delete_subdiv_elements(), and subdiv_face1().

Lface* Lface::subdiv_face1 (   )  const [inline]
 

Definition at line 101 of file lface.H.

References lookup_face(), lv(), and subdiv_edge3().

Referenced by allocate_subdiv_elements(), append_subdiv_faces(), child_bc(), delete_subdiv_elements(), make_primary(), make_secondary(), UVdata::notify_subdiv_gen(), reverse(), set_layer(), set_patch(), and set_subdiv_elements().

Lface* Lface::subdiv_face2 (   )  const [inline]
 

Definition at line 104 of file lface.H.

References lookup_face(), lv(), and subdiv_edge1().

Referenced by allocate_subdiv_elements(), append_subdiv_faces(), child_bc(), delete_subdiv_elements(), make_primary(), make_secondary(), UVdata::notify_subdiv_gen(), reverse(), set_layer(), set_patch(), and set_subdiv_elements().

Lface* Lface::subdiv_face3 (   )  const [inline]
 

Definition at line 107 of file lface.H.

References lookup_face(), lv(), and subdiv_edge2().

Referenced by allocate_subdiv_elements(), append_subdiv_faces(), child_bc(), delete_subdiv_elements(), make_primary(), make_secondary(), UVdata::notify_subdiv_gen(), reverse(), set_layer(), set_patch(), and set_subdiv_elements().

Lface* Lface::subdiv_face_center (   )  const [inline]
 

Definition at line 98 of file lface.H.

References lookup_face(), subdiv_edge1(), and subdiv_edge2().

Referenced by allocate_subdiv_elements(), append_subdiv_faces(), child_bc(), delete_subdiv_elements(), get_child(), make_primary(), make_secondary(), UVdata::notify_subdiv_gen(), Ledge::parallel_sub_edge(), reverse(), set_layer(), set_patch(), and set_subdiv_elements().

UVpt* Bface::tc_array (   )  const [inline, inherited]
 

Definition at line 402 of file bface.H.

References Bface::_tc.

UVpt& Bface::tex_coord (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 395 of file bface.H.

References Bface::tex_coord(), and Bface::vindex().

UVpt& Bface::tex_coord (  int  vert_index  )  const [inline, inherited]
 

Definition at line 389 of file bface.H.

References Bface::_tc.

Referenced by Bface::reverse(), UVdata::set(), Bface::set_tex_coords(), Bface::tex_coord(), and UVdata::uv().

Bvert* Bface::v (  int  i  )  const [inline, inherited]
 

Definition at line 50 of file bface.H.

References Bface::_v1.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::add_seg(), allocate_subdiv_elements(), Bface::bc2edge(), Bface::bc2vert(), Bface_list::clear_vert_flags(), BMESHcurvature_data::compute_face_curvatures(), BMESHcurvature_data::compute_face_dcurv(), BMESHcurvature_data::compute_vertex_curvatures(), BMESHcurvature_data::compute_vertex_dcurv(), Bface_list::get_verts(), ZcrossPath::has_sil(), lv(), Bface::ndc_walk(), Bface::nearest_pt_ndc(), outputMesh(), Bface::project_barycentric(), Bface::project_barycentric_ndc(), Bface::quad_uv2loc(), ZcrossPath::start_sil(), toggle_crease(), and write_faces().

Bvert* Bface::v1 (   )  const [inline, inherited]
 

Definition at line 47 of file bface.H.

References Bface::_v1.

Referenced by Bface::bc2norm_blend(), bface_bbox(), TriStrip::build(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), Bface::contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), Bface::get_quad_edges(), Bface::get_quad_pts(), Bface::get_quad_verts(), UVdata::get_uvs(), BMESH::operator=(), parent_bc(), BMESH::put_faces(), BMESH::put_sec_faces(), UVdata::set(), BMESH::split_face(), SimpleUVCalc::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), BarycentricCoord::to_Wpt(), GtexUtil::tri(), GLSphirTexCoordGen::uv_from_vert(), UVdata::UVdata(), and visit().

Bvert* Bface::v2 (   )  const [inline, inherited]
 

Definition at line 48 of file bface.H.

References Bface::_v2.

Referenced by Bface::bc2norm_blend(), bface_bbox(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), Bface::contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), Bface::get_quad_edges(), Bface::get_quad_pts(), Bface::get_quad_verts(), UVdata::get_uvs(), BMESH::operator=(), BMESH::put_faces(), BMESH::put_sec_faces(), UVdata::set(), BMESH::split_face(), SimpleUVCalc::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), BarycentricCoord::to_Wpt(), GtexUtil::tri(), GLSphirTexCoordGen::uv_from_vert(), UVdata::UVdata(), and visit().

Bvert* Bface::v3 (   )  const [inline, inherited]
 

Definition at line 49 of file bface.H.

References Bface::_v3.

Referenced by Bface::bc2norm_blend(), bface_bbox(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), Bface::contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), Bface::get_quad_edges(), Bface::get_quad_pts(), Bface::get_quad_verts(), UVdata::get_uvs(), BMESH::operator=(), BMESH::put_faces(), BMESH::put_sec_faces(), UVdata::set(), BMESH::split_face(), SimpleUVCalc::subdiv_val(), SimpleCalc< UVpt >::subdiv_val(), BarycentricCoord::to_Wpt(), GtexUtil::tri(), GLSphirTexCoordGen::uv_from_vert(), UVdata::UVdata(), and visit().

Wvec Bface::vert_normal (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 69 of file bface.H.

References Bface::vert_normal().

CWvec & Bface::vert_normal (  CBvert *  v,
Wvec &  n
)  const [inherited]
 

Definition at line 918 of file bface.C.

References Bvert::degree(), Bface::e(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bedge::is_crease(), Bvert::is_crease(), Bvert::norm(), mlib::Vec3< V >::normalized(), Bedge::other_face(), and weighted_vnorm().

Referenced by Bface::bc2norm_blend(), ToonTexCB::faceCB(), VertNormStripCB::faceCB(), ToonTexCB_1D::faceCB(), SmoothShadeStripCB::faceCB(), MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), XToonStripCB::faceCB(), CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(), ZcrossPath::has_sil(), ZcrossPath::sil_walk_search(), and Bface::vert_normal().

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

Implements Bsimplex.

Definition at line 314 of file bface.C.

References Bface::_e1, Bface::_e2, Bface::_e3, Bsimplex::_mesh, mlib::Point3< P, V >::dist(), BMESH::inv_xform(), Bface::norm(), mlib::Vec3< V >::normalized(), Bface::ray_intersect(), swap(), Bedge::view_intersect(), and BMESH::xform().

int Bface::vindex (  CBvert *  v  )  const [inline, inherited]
 

Definition at line 89 of file bface.H.

References Bface::_v1, Bface::_v2, and Bface::_v3.

Referenced by Bface::quad_bc_to_uv(), ZcrossPath::sil_walk_search(), and Bface::tex_coord().

double Bface::volume_el (   )  const [inline, inherited]
 

Definition at line 203 of file bface.H.

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

Referenced by Bface_list::volume().

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().

Bedge* Bface::weak_edge (   )  const [inline, inherited]
 

Definition at line 253 of file bface.H.

References Bface::_e1, Bface::_e2, Bface::_e3, and Bedge::is_weak().

Referenced by allocate_subdiv_elements(), Bface::get_quad_verts(), get_quad_weak_edge(), UVdata::quad_has_uv(), Bface::quad_opposite_vert(), Bface::quad_partner(), and Bface::quad_vert().

bool Bface::zx_mark (   )  const [inherited]
 

Definition at line 85 of file bface.C.

References Bface::_zx_stamp, and VIEW::stamp().

Referenced by ZcrossPath::has_sil(), and ZcrossPath::sil_walk_search().

bool Bface::zx_query (   )  const [inherited]
 

Definition at line 93 of file bface.C.

References Bface::_zx_stamp, VIEW::stamp(), and true.

Referenced by ZcrossPath::has_sil().


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_ctrl_patch (  CBface *  f  )  [related, inherited]
 

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

Definition at line 652 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.

Patch * get_patch (  CBface *  f  )  [related, inherited]
 

Returns the Patch of a Bface.

Definition at line 629 of file patch.H.

STDdstream& operator<< (  STDdstream &  d,
CBface &  f
)  [friend, inherited]
 

Definition at line 579 of file bface.H.

ostream& operator<< (  ostream &  os,
CBface &  f
)  [friend, inherited]
 

Definition at line 574 of file bface.H.

friend class Patch [friend, inherited]
 

Definition at line 607 of file bface.H.


Member Data Documentation

double Bface::_area [protected, inherited]
 

Definition at line 616 of file bface.H.

Referenced by Bface::area(), and Bface::set_normal().

SimplexDataList* Bsimplex::_data_list [protected, inherited]
 

Definition at line 248 of file bsimplex.H.

Referenced by Bsimplex::add_simplex_data(), 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(), set_subdiv_elements(), Ledge::set_subdiv_elements(), Lvert::set_subdiv_vert(), Lvert::update_subdivision(), Ledge::update_subdivision(), and Bsimplex::~Bsimplex().

Bedge* Bface::_e1 [protected, inherited]
 

Definition at line 612 of file bface.H.

Referenced by Bface::bc2sim(), Bface::Bface(), Bface::check(), Bface::contains(), Bface::detach(), Bface::e(), Bface::e1(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::geometry_changed(), Bface::neighbors(), Bface::next_edge_ccw(), Bface::num_weak_edges(), Bface::opposite_edge(), Bface::other_edge(), Bface::redef2(), Bface::redefine(), Bface::reverse(), Bface::shared_edge(), Bface::view_intersect(), and Bface::weak_edge().

Bedge* Bface::_e2 [protected, inherited]
 

Definition at line 613 of file bface.H.

Referenced by Bface::bc2sim(), Bface::Bface(), Bface::check(), Bface::contains(), Bface::detach(), Bface::e2(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::geometry_changed(), Bface::neighbors(), Bface::next_edge_ccw(), Bface::num_weak_edges(), Bface::opposite_edge(), Bface::other_edge(), Bface::redef2(), Bface::redefine(), Bface::shared_edge(), Bface::view_intersect(), and Bface::weak_edge().

Bedge* Bface::_e3 [protected, inherited]
 

Definition at line 614 of file bface.H.

Referenced by Bface::bc2sim(), Bface::Bface(), Bface::check(), Bface::contains(), Bface::detach(), Bface::e3(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::geometry_changed(), Bface::neighbors(), Bface::next_edge_ccw(), Bface::num_weak_edges(), Bface::opposite_edge(), Bface::other_edge(), Bface::redef2(), Bface::redefine(), Bface::reverse(), Bface::shared_edge(), Bface::view_intersect(), and Bface::weak_edge().

uint Bface::_ff_stamp [protected, inherited]
 

Definition at line 620 of file bface.H.

Referenced by Bface::front_facing(), and Bface::geometry_changed().

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().

ushort Bface::_layer [protected, inherited]
 

Definition at line 623 of file bface.H.

Referenced by claim_child(), Bface::layer(), set_layer(), and Bface::set_layer().

BMESH* Bsimplex::_mesh [protected, inherited]
 

Definition at line 247 of file bsimplex.H.

Referenced by 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(), Bedge::index(), Bvert::k1(), Bvert::k2(), Bsimplex::mesh(), Bvert::ndc(), Bvert::pdir1(), Bvert::pdir2(), Bsimplex::set_mesh(), Bvert::view_intersect(), Bface::view_intersect(), Bedge::view_intersect(), Bvert::wloc(), Bvert::wnorm(), Bedge::~Bedge(), Bvert::~Bvert(), Ledge::~Ledge(), and Lvert::~Lvert().

Wvec Bface::_norm [protected, inherited]
 

Definition at line 615 of file bface.H.

Referenced by Bface::norm(), and Bface::set_normal().

Bvert* Bface::_orient [protected, inherited]
 

Definition at line 619 of file bface.H.

Referenced by Bface::orient_strip(), Bface::redef2(), Bface::redefine(), and Bface::reverse().

Lface* Lface::_parent [protected]
 

Definition at line 132 of file lface.H.

Referenced by control_face(), parent(), parent_bc(), and set_parent().

Patch* Bface::_patch [protected, inherited]
 

Definition at line 617 of file bface.H.

Referenced by allocate_subdiv_elements(), Bface::patch(), Bface::redef2(), Bface::redefine(), Bface::reverse(), set_child_patch(), Bface::set_patch(), and Bface::~Bface().

int Bface::_patch_index [protected, inherited]
 

Definition at line 618 of file bface.H.

Referenced by Bface::patch_index(), Bface::set_patch_index(), and Bface::~Bface().

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

Definition at line 263 of file bsimplex.H.

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

UVpt* Bface::_tc [protected, inherited]
 

Definition at line 622 of file bface.H.

Referenced by Bface::reverse(), Bface::tc_array(), and Bface::tex_coord().

Bvert* Bface::_v1 [protected, inherited]
 

Definition at line 609 of file bface.H.

Referenced by Bface::bc2norm_blend(), Bface::bc2pos(), Bface::bc2sim(), Bface::centroid(), Bface::check(), Bface::contains(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::front_facing(), Bface::geometry_changed(), Bface::ndc_area(), Bface::ndc_centroid(), Bface::ndc_contains(), Bface::ndc_quad_centroid(), Bface::nearest_pt(), Bface::nearest_pt_ndc(), Bface::neighbors(), Bface::next_vert_ccw(), Bface::opposite_edge(), Bface::other_vertex(), Bface::plane(), Bface::project_barycentric(), Bface::project_barycentric_ndc(), Bface::quad_centroid(), Bface::redef2(), Bface::redefine(), Bface::set_normal(), Bface::v(), Bface::v1(), Bface::vindex(), and Bface::volume_el().

Bvert* Bface::_v2 [protected, inherited]
 

Definition at line 610 of file bface.H.

Referenced by Bface::bc2norm_blend(), Bface::bc2pos(), Bface::bc2sim(), Bface::centroid(), Bface::check(), Bface::contains(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::geometry_changed(), Bface::ndc_area(), Bface::ndc_centroid(), Bface::ndc_contains(), Bface::ndc_quad_centroid(), Bface::nearest_pt(), Bface::nearest_pt_ndc(), Bface::neighbors(), Bface::next_vert_ccw(), Bface::opposite_edge(), Bface::other_vertex(), Bface::project_barycentric(), Bface::project_barycentric_ndc(), Bface::quad_centroid(), Bface::redef2(), Bface::redefine(), Bface::reverse(), Bface::set_normal(), Bface::v2(), Bface::vindex(), and Bface::volume_el().

Bvert* Bface::_v3 [protected, inherited]
 

Definition at line 611 of file bface.H.

Referenced by Bface::bc2norm_blend(), Bface::bc2pos(), Bface::bc2sim(), Bface::centroid(), Bface::check(), Bface::contains(), Bface::edge_before_vert(), Bface::edge_from_vert(), Bface::geometry_changed(), Bface::ndc_area(), Bface::ndc_centroid(), Bface::ndc_contains(), Bface::ndc_quad_centroid(), Bface::nearest_pt(), Bface::nearest_pt_ndc(), Bface::neighbors(), Bface::next_vert_ccw(), Bface::opposite_edge(), Bface::other_vertex(), Bface::project_barycentric(), Bface::project_barycentric_ndc(), Bface::quad_centroid(), Bface::redef2(), Bface::redefine(), Bface::reverse(), Bface::set_normal(), Bface::v3(), Bface::vindex(), and Bface::volume_el().

uint Bface::_zx_stamp [protected, inherited]
 

Definition at line 621 of file bface.H.

Referenced by Bface::zx_mark(), and Bface::zx_query().


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