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

Bface Class Reference

#include <bface.H>

Inheritance diagram for Bface:

Inheritance graph
[legend]
Collaboration diagram for Bface:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  BAD_BIT = Bsimplex::NEXT_AVAILABLE_BIT, VALID_NORMAL_BIT, FRONT_FACING_BIT, SECONDARY_BIT,
  NEXT_AVAILABLE_BIT
}

Public Member Functions

 Bface (Bvert *, Bvert *, Bvert *, Bedge *, Bedge *, Bedge *)
virtual ~Bface ()
Bvertv1 () const
Bvertv2 () const
Bvertv3 () const
Bvertv (int i) const
Bedgee1 () const
Bedgee2 () const
Bedgee3 () const
Bedgee (int i) const
CWvecnorm () const
CWvecvert_normal (CBvert *v, Wvec &n) const
Wvec vert_normal (CBvert *v) const
int front_facing () const
bool zx_mark () const
bool zx_query () const
Patchpatch () const
void orient_strip (Bvert *a)
Bvertorient_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
Bvertother_vertex (CBvert *u, CBvert *v) const
Bvertother_vertex (CBedge *e) const
Bvertnext_vert_ccw (CBvert *u) const
Bvertleading_vert_ccw (CBedge *e) const
Bedgenext_edge_ccw (CBedge *u) const
Bedgeedge_from_vert (CBvert *u) const
Bedgeedge_before_vert (CBvert *u) const
Bfacenext_face_ccw (CBvert *u) const
Bfacenbr (int i) const
Bedgeshared_edge (CBface *f) const
Bedgeopposite_edge (CBvert *a) const
Bfaceopposite_face (CBvert *a) const
Bfacenext_strip_face () const
Bedgeother_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
virtual void set_layer (ushort l)
virtual void make_primary ()
virtual void make_secondary ()
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
Bedgeweak_edge () const
Bfacequad_partner () const
Bfacequad_rep () const
bool is_quad_rep () const
Bvertquad_vert () const
Bvertquad_opposite_vert (CBvert *v) const
Bedgeopposite_quad_edge (CBedge *e) const
Bfaceother_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
UVpttex_coord (int vert_index) const
UVpttex_coord (CBvert *v) const
void set_tex_coords (CUVpt &a, CUVpt &b, CUVpt &c)
UVpttc_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
virtual void bc2norm_blend (CWvec &bc, Wvec &vec) const
virtual Bsimplexbc2sim (CWvec &bc) const
Bvertbc2vert (CWvec &bc) const
Bedgebc2edge (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
Bsimplexfind_intersect_sim (CNDCpt &target, Wpt &hit_pt) const
bool ndc_contains (CNDCpt &p)
Bfaceplane_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 int detach ()
virtual void reverse ()
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 Bfaceget_face () const
virtual bool on_face (CBface *f) const
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)
BMESHmesh () 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
SimplexDatafind_data (uint key) const
SimplexDatafind_data (Cstr_ptr &s) const
SimplexDatafind_data (void *key) const
void add_simplex_data (SimplexData *sd)
void rem_simplex_data (SimplexData *sd)
const SimplexDataListdata_list () const
virtual void notify_split (Bsimplex *new_simp)
virtual void notify_xform (CWtransf &xf)
Wpt bc2pos (mlib::CWvec &bc) const
Wptproject_to_simplex (mlib::CWpt &pos, mlib::Wpt &ret)
virtual bool near_point (CNDCpt &p, mlib::Wpt &hit) const
Bsimplexwalk_to_target (CWpt &target, CSimplexFilter &filter=SimplexFilter()) const
Bsimplexwalk_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, 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
virtual bool on_face (const Bface *f) const =0

Static Public Member Functions

static Bsimplexlookup (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_patch_index (int k)
int patch_index () const
Bsimplexndc_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

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)
STDdstreamoperator<< (STDdstream &d, CBface &f)

Related Functions

(Note that these are not member functions.)

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

Detailed Description

Definition at line 28 of file bface.H.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
BAD_BIT 
VALID_NORMAL_BIT 
FRONT_FACING_BIT 
SECONDARY_BIT 
NEXT_AVAILABLE_BIT 

Reimplemented from Bsimplex.

Definition at line 33 of file bface.H.

anonymous enum [protected, inherited]
 

Enumerator:
FLAG_MASK 

Definition at line 265 of file bsimplex.H.


Constructor & Destructor Documentation

Bface::Bface Bvert ,
Bvert ,
Bvert ,
Bedge ,
Bedge ,
Bedge
 

Definition at line 11 of file bface.C.

References _e1, _e2, _e3, and geometry_changed().

Bface::~Bface  )  [virtual]
 

Definition at line 31 of file bface.C.

References _patch, _patch_index, MeshGlobal::deselect(), detach(), Bsimplex::is_selected(), and Patch::remove().


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

double Bface::angle CBvert v  )  const [inline]
 

Definition at line 211 of file bface.H.

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

double Bface::area  )  const [inline]
 

Definition at line 198 of file bface.H.

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

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

Bedge* Bface::bc2edge CWvec bc  )  const [inline]
 

Definition at line 450 of file bface.H.

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

Wvec Bface::bc2norm CWvec bc  )  const [inline]
 

Definition at line 461 of file bface.H.

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

virtual void Bface::bc2norm_blend CWvec bc,
Wvec vec
const [inline, virtual]
 

Definition at line 425 of file bface.H.

References _v1, _v2, _v3, mlib::Vec3< V >::normalized(), v1(), v2(), v3(), and 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]
 

Implements Bsimplex.

Definition at line 421 of file bface.H.

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

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

Bsimplex * Bface::bc2sim CWvec bc  )  const [virtual]
 

Implements Bsimplex.

Definition at line 443 of file bface.C.

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

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

Bvert* Bface::bc2vert CWvec bc  )  const [inline]
 

Definition at line 438 of file bface.H.

References max(), and v().

Wpt Bface::centroid  )  const [inline]
 

Definition at line 219 of file bface.H.

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

Referenced by map_centroid().

bool Bface::check  )  const
 

Definition at line 713 of file bface.C.

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

Referenced by Bedge::do_swap().

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(), Bedge::faces_changed(), geometry_changed(), 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().

bool Bface::contains CWpt pt,
double  threshold = 0
const
 

Definition at line 138 of file bface.C.

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

bool Bface::contains CBsimplex s  )  const [inline]
 

Definition at line 96 of file bface.H.

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

bool Bface::contains CBedge e  )  const [inline]
 

Definition at line 95 of file bface.H.

References _e1, _e2, and _e3.

bool Bface::contains CBvert v  )  const [inline]
 

Definition at line 94 of file bface.H.

References _v1, _v2, and _v3.

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

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

Definition at line 132 of file bsimplex.H.

References Bsimplex::_data_list.

Referenced by num_data().

int Bface::detach  )  [virtual]
 

Reimplemented in Lface.

Definition at line 667 of file bface.C.

References _e1, _e2, and _e3.

Referenced by Lface::detach(), BMESH::split_edge(), BMESH::split_face(), BMESH::try_swap_edge(), and ~Bface().

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

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

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

Definition at line 56 of file bface.H.

References _e1.

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

Bedge* Bface::e1  )  const [inline]
 

Definition at line 53 of file bface.H.

References _e1.

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

Bedge* Bface::e2  )  const [inline]
 

Definition at line 54 of file bface.H.

References _e2.

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

Bedge* Bface::e3  )  const [inline]
 

Definition at line 55 of file bface.H.

References _e3.

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

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

Definition at line 131 of file bface.H.

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

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

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

Definition at line 128 of file bface.H.

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

Referenced by TriStrip::backup_strip(), Bedge::ccw_face(), Ledge::get_sub_faces(), rewind_cw(), UVdata::set_subdiv_uv(), and 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
 

Definition at line 119 of file bface.C.

References Bsimplex::_mesh, BMESH::inv_xform(), is_edge(), is_face(), is_vert(), and 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
 

Definition at line 100 of file bface.C.

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

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

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]
 

Reimplemented from Bsimplex.

Definition at line 65 of file bface.C.

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

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

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

Implements Bsimplex.

Definition at line 591 of file bface.H.

bool Bface::get_quad_edges Bedge_list edges  )  const
 

Definition at line 1042 of file bface.C.

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

bool Bface::get_quad_edges Bedge *&  ab,
Bedge *&  bc,
Bedge *&  cd,
Bedge *&  da
const
 

Definition at line 1024 of file bface.C.

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

Referenced by get_quad_edges().

bool Bface::get_quad_pts Wpt a,
Wpt b,
Wpt c,
Wpt d
const
 

Definition at line 1011 of file bface.C.

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

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

bool Bface::get_quad_verts Bvert_list verts  )  const
 

Definition at line 997 of file bface.C.

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

bool Bface::get_quad_verts Bvert *&  a,
Bvert *&  b,
Bvert *&  c,
Bvert *&  d
const
 

Definition at line 966 of file bface.C.

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

Referenced by get_quad_edges(), get_quad_pts(), UVdata::get_quad_uvs(), get_quad_verts(), quad_bc_to_uv(), and 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]
 

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]
 

Definition at line 180 of file bface.H.

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

bool Bface::is_primary  )  const [inline]
 

Definition at line 184 of file bface.H.

References Bsimplex::is_clear(), and SECONDARY_BIT.

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

bool Bface::is_quad  )  const [inline]
 

Definition at line 252 of file bface.H.

References num_weak_edges().

Referenced by BMESH::add_quad(), Lface::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(), get_quad_verts(), is_quad_rep(), Bedge::is_sil(), is_tri(), lookup_quad(), map_centroid(), Bedge::num_quads(), opposite_quad_edge(), qnorm(), Bvert::qr_centroid(), UVdata::quad_has_uv(), quad_partner(), 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]
 

Definition at line 272 of file bface.H.

References is_quad(), and quad_rep().

bool Bface::is_secondary  )  const [inline]
 

Definition at line 185 of file bface.H.

References is_primary().

Referenced by Bedge::add_primary(), Bedge::can_promote(), Lface::claim_child(), is_sec(), Lface::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(), 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(), area(), Lface::delete_subdiv_elements(), Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), Lvert::displaced_loc(), Ledge::do_swap(), front_facing(), Bvert::has_color(), 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(), Lface::make_primary(), Lface::make_secondary(), Lvert::mark_dirty(), Lvert::mask_changed(), Bvert::norm(), 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().

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]
 

Definition at line 187 of file bface.H.

References _layer.

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

Definition at line 119 of file bface.H.

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

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

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

Implements Bsimplex.

Definition at line 457 of file bface.C.

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

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

void Bface::make_primary  )  [virtual]
 

Reimplemented in Lface.

Definition at line 699 of file bface.C.

References Bsimplex::clear_bit(), geometry_changed(), and SECONDARY_BIT.

Referenced by Lface::make_primary(), and Bface_list::make_primary().

void Bface::make_secondary  )  [virtual]
 

Reimplemented in Lface.

Definition at line 706 of file bface.C.

References geometry_changed(), SECONDARY_BIT, and Bsimplex::set_bit().

Referenced by Lface::make_secondary(), Bface_list::make_secondary(), and BMESH::operator=().

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

Bface* Bface::nbr int  i  )  const [inline]
 

Definition at line 139 of file bface.H.

References 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]
 

Definition at line 230 of file bface.H.

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

Referenced by quad_ndc_area().

NDCZpt Bface::ndc_centroid  )  const [inline]
 

Definition at line 220 of file bface.H.

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

bool Bface::ndc_contains CNDCpt p  )  [inline]
 

Definition at line 519 of file bface.H.

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

NDCZpt Bface::ndc_quad_centroid  )  const [inline]
 

Definition at line 326 of file bface.H.

References _v1, _v2, _v3, Bvert::ndc(), and 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]
 

Definition at line 170 of file bface.C.

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

Referenced by find_intersect_sim(), and 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]
 

Definition at line 489 of file bface.H.

References near_pt().

Wpt Bface::near_pt CNDCpt ndc,
Wvec hit_bc
const
 

Definition at line 660 of file bface.C.

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

Referenced by VisRefImage::get_face_bc(), and 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(), near_pt(), Bsimplex::nearest_pt(), and Bsimplex::walk_to_target().

Wpt Bface::nearest_pt CWpt p,
Wvec bc,
bool is_on_tri
const [virtual]
 

Definition at line 547 of file bface.C.

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

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

NDCpt Bface::nearest_pt_ndc CNDCpt p  )  const [inline]
 

Definition at line 537 of file bface.H.

References nearest_pt_ndc().

NDCpt Bface::nearest_pt_ndc CNDCpt p,
Wvec bc
const [inline]
 

Definition at line 534 of file bface.H.

References nearest_pt_ndc().

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

Implements Bsimplex.

Definition at line 604 of file bface.C.

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

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

Bsimplex_list Bface::neighbors  )  const [virtual]
 

Implements Bsimplex.

Definition at line 419 of file bface.C.

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

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

Definition at line 125 of file bface.H.

References _e1, _e2, and _e3.

Bface* Bface::next_face_ccw CBvert u  )  const [inline]
 

Definition at line 134 of file bface.H.

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

Bface* Bface::next_strip_face  )  const [inline]
 

Definition at line 162 of file bface.H.

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

Referenced by TriStrip::build().

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

Definition at line 113 of file bface.H.

References _v1, _v2, and _v3.

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

CWvec& Bface::norm  )  const [inline]
 

Definition at line 59 of file bface.H.

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

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

void Bface::normal_changed  )  [virtual]
 

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]
 

Definition at line 245 of file bface.H.

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

Referenced by 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]
 

Definition at line 592 of file bface.H.

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

Definition at line 152 of file bface.H.

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

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

Bface* Bface::opposite_face CBvert a  )  const [inline]
 

Definition at line 158 of file bface.H.

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

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

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

Definition at line 289 of file bface.H.

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

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

Bvert* Bface::orient_strip  )  const [inline]
 

Definition at line 85 of file bface.H.

References _orient.

Referenced by next_strip_face().

void Bface::orient_strip Bvert a  )  [inline]
 

Definition at line 84 of file bface.H.

References _orient.

Referenced by TriStrip::build().

int Bface::orientation CBedge e  )  const [inline]
 

Definition at line 173 of file bface.H.

References contains(), 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]
 

Definition at line 166 of file bface.H.

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

Referenced by UVdata::set_subdiv_uv().

Bface* Bface::other_quad_face CBedge e  )  const [inline]
 

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]
 

Definition at line 110 of file bface.H.

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

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

Definition at line 103 of file bface.H.

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

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

Patch* Bface::patch  )  const [inline]
 

Definition at line 80 of file bface.H.

References _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]
 

Definition at line 629 of file bface.H.

References _patch_index.

Referenced by Patch::remove().

Wplane Bface::plane  )  const [inline]
 

Definition at line 221 of file bface.H.

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

Referenced by contains(), and plane_intersect().

Wpt Bface::plane_intersect CNDCpt ndc  )  const [inline]
 

Definition at line 514 of file bface.H.

References plane_intersect().

Wpt Bface::plane_intersect CWline line  )  const [inline]
 

Definition at line 511 of file bface.H.

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

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

Bface * Bface::plane_walk Bedge cur_edge,
CWplane plane,
Bedge *&  next_edge
const
 

Definition at line 258 of file bface.C.

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

virtual void Bface::project_barycentric CWpt p,
Wvec ret
const [inline, virtual]
 

Implements Bsimplex.

Definition at line 406 of file bface.H.

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

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

void Bface::project_barycentric_ndc CNDCpt p,
Wvec ret
const [inline]
 

Definition at line 413 of file bface.H.

References _v1, _v2, _v3, Bvert::ndc(), mlib::Vec3< V >::set(), signed_area(), and 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]
 

Definition at line 334 of file bface.H.

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

Referenced by Bedge::norm().

double Bface::quad_area  )  const [inline]
 

Definition at line 316 of file bface.H.

References area(), and quad_partner().

Referenced by get_area().

double Bface::quad_avg_dim  )  const [inline]
 

Definition at line 370 of file bface.H.

References quad_dim1(), and quad_dim2().

Referenced by avg_face_edge_len().

UVpt Bface::quad_bc_to_uv CWvec bc  )  const
 

Definition at line 1105 of file bface.C.

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

Wpt Bface::quad_centroid  )  const [inline]
 

Definition at line 322 of file bface.H.

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

Referenced by map_centroid().

double Bface::quad_dim1  )  const
 

Definition at line 1083 of file bface.C.

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

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

double Bface::quad_dim2  )  const
 

Definition at line 1094 of file bface.C.

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

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

double Bface::quad_max_dim  )  const [inline]
 

Definition at line 371 of file bface.H.

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

double Bface::quad_min_dim  )  const [inline]
 

Definition at line 372 of file bface.H.

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

double Bface::quad_ndc_area  )  const [inline]
 

Definition at line 319 of file bface.H.

References ndc_area(), and quad_partner().

Wvec Bface::quad_norm  )  const [inline]
 

Definition at line 330 of file bface.H.

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

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

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

Definition at line 277 of file bface.H.

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

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

Bface* Bface::quad_partner  )  const [inline]
 

Definition at line 261 of file bface.H.

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

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

Bface* Bface::quad_rep  )  const [inline]
 

Definition at line 267 of file bface.H.

References min(), and quad_partner().

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

Wvec Bface::quad_tan1  )  const
 

Definition at line 1059 of file bface.C.

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

Wvec Bface::quad_tan2  )  const
 

Definition at line 1071 of file bface.C.

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

Wpt Bface::quad_uv2loc CUVpt uv  )  const
 

Definition at line 1154 of file bface.C.

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

Bvert* Bface::quad_vert  )  const [inline]
 

Definition at line 274 of file bface.H.

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

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

bool Bface::ray_intersect CWline ray,
Wvec bc
const [inline]
 

Definition at line 501 of file bface.H.

References project_barycentric(), and ray_intersect().

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

Definition at line 497 of file bface.H.

References ray_intersect().

bool Bface::ray_intersect CWpt ,
CWvec ,
Wpt ret,
double &  depth
const
 

Definition at line 277 of file bface.C.

References mlib::cross().

Referenced by ray_intersect(), and view_intersect().

bool Bface::redef2 Bedge a,
Bedge b
[virtual]
 

Definition at line 724 of file bface.C.

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

bool Bface::redef2 Bvert a,
Bvert b
[virtual]
 

Definition at line 760 of file bface.C.

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

int Bface::redefine Bvert u,
Bvert nu,
Bvert v,
Bvert nv
 

Definition at line 862 of file bface.C.

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

int Bface::redefine Bvert v,
Bvert u
 

Definition at line 801 of file bface.C.

References _e1, _e2, _e3, _orient, _patch, _v1, _v2, _v3, contains(), debug, e1(), e2(), e3(), err_adv(), 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 Bface::reverse  )  [virtual]
 

Reimplemented in Lface.

Definition at line 682 of file bface.C.

References _e1, _e3, _orient, _patch, _tc, _v2, _v3, geometry_changed(), swap(), tex_coord(), and Patch::triangulation_changed().

Referenced by Lface::reverse(), BMESH::reverse(), reverse_face(), and Bface_list::reverse_faces().

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

virtual void Bface::set_layer ushort  l  )  [inline, virtual]
 

Reimplemented in Lface.

Definition at line 188 of file bface.H.

References _layer.

Referenced by Lface::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]
 

Definition at line 638 of file bface.H.

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

virtual void Bface::set_patch Patch p  )  [inline, protected, virtual]
 

Reimplemented in Lface.

Definition at line 627 of file bface.H.

References _patch.

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

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

Definition at line 628 of file bface.H.

References _patch_index.

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

void Bface::set_tex_coords CUVpt a,
CUVpt b,
CUVpt c
[inline]
 

Definition at line 398 of file bface.H.

References tex_coord().

Referenced by outputMesh().

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

Definition at line 145 of file bface.H.

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

Referenced by ZcrossPath::sil_walk_search().

double Bface::signed_area CNDCpt a,
CNDCpt b,
CNDCpt c
const [inline]
 

Definition at line 226 of file bface.H.

double Bface::signed_area CWpt a,
CWpt b,
CWpt c
const [inline]
 

Definition at line 223 of file bface.H.

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

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

UVpt* Bface::tc_array  )  const [inline]
 

Definition at line 402 of file bface.H.

References _tc.

UVpt& Bface::tex_coord CBvert v  )  const [inline]
 

Definition at line 395 of file bface.H.

References tex_coord(), and vindex().

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

Definition at line 389 of file bface.H.

References _tc.

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

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

Definition at line 50 of file bface.H.

References _v1.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::add_seg(), Lface::allocate_subdiv_elements(), bc2edge(), 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(), Lface::lv(), ndc_walk(), nearest_pt_ndc(), outputMesh(), project_barycentric(), project_barycentric_ndc(), quad_uv2loc(), ZcrossPath::start_sil(), toggle_crease(), and write_faces().

Bvert* Bface::v1  )  const [inline]
 

Definition at line 47 of file bface.H.

References _v1.

Referenced by bc2norm_blend(), bface_bbox(), TriStrip::build(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), get_quad_edges(), get_quad_pts(), get_quad_verts(), UVdata::get_uvs(), BMESH::operator=(), Lface::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]
 

Definition at line 48 of file bface.H.

References _v2.

Referenced by bc2norm_blend(), bface_bbox(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), get_quad_edges(), get_quad_pts(), 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]
 

Definition at line 49 of file bface.H.

References _v3.

Referenced by bc2norm_blend(), bface_bbox(), OctreeNode::build_octree(), closest_vert(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), contains(), VertAttrib< UVpt, UVvec >::dFd(), draw_face(), CatmullClarkCalc< Wpt >::fcentroid(), BMESH::get_enclosed_verts(), get_quad_edges(), get_quad_pts(), 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]
 

Definition at line 69 of file bface.H.

References vert_normal().

CWvec & Bface::vert_normal CBvert v,
Wvec n
const
 

Definition at line 918 of file bface.C.

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

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

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

Implements Bsimplex.

Definition at line 314 of file bface.C.

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

int Bface::vindex CBvert v  )  const [inline]
 

Definition at line 89 of file bface.H.

References _v1, _v2, and _v3.

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

double Bface::volume_el  )  const [inline]
 

Definition at line 203 of file bface.H.

References _v1, _v2, _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]
 

Definition at line 253 of file bface.H.

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

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

bool Bface::zx_mark  )  const
 

Definition at line 85 of file bface.C.

References _zx_stamp, and VIEW::stamp().

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

bool Bface::zx_query  )  const
 

Definition at line 93 of file bface.C.

References _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]
 

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]
 

Returns the Patch of a Bface.

Definition at line 629 of file patch.H.

STDdstream& operator<< STDdstream d,
CBface f
[friend]
 

Definition at line 579 of file bface.H.

ostream& operator<< ostream &  os,
CBface f
[friend]
 

Definition at line 574 of file bface.H.

friend class Patch [friend]
 

Definition at line 607 of file bface.H.


Member Data Documentation

double Bface::_area [protected]
 

Definition at line 616 of file bface.H.

Referenced by area(), and set_normal().

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

Bedge* Bface::_e1 [protected]
 

Definition at line 612 of file bface.H.

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

Bedge* Bface::_e2 [protected]
 

Definition at line 613 of file bface.H.

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

Bedge* Bface::_e3 [protected]
 

Definition at line 614 of file bface.H.

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

uint Bface::_ff_stamp [protected]
 

Definition at line 620 of file bface.H.

Referenced by front_facing(), and 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]
 

Definition at line 623 of file bface.H.

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

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

Wvec Bface::_norm [protected]
 

Definition at line 615 of file bface.H.

Referenced by norm(), and set_normal().

Bvert* Bface::_orient [protected]
 

Definition at line 619 of file bface.H.

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

Patch* Bface::_patch [protected]
 

Definition at line 617 of file bface.H.

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

int Bface::_patch_index [protected]
 

Definition at line 618 of file bface.H.

Referenced by patch_index(), set_patch_index(), and ~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]
 

Definition at line 622 of file bface.H.

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

Bvert* Bface::_v1 [protected]
 

Definition at line 609 of file bface.H.

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

Bvert* Bface::_v2 [protected]
 

Definition at line 610 of file bface.H.

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

Bvert* Bface::_v3 [protected]
 

Definition at line 611 of file bface.H.

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

uint Bface::_zx_stamp [protected]
 

Definition at line 621 of file bface.H.

Referenced by zx_mark(), and zx_query().


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