#include <lvert.H>
Inheritance diagram for Lvert:
Public Types | |
enum | mask_t { SMOOTH_VERTEX = 0, DART_VERTEX, REGULAR_CREASE_VERTEX, NON_REGULAR_CREASE_VERTEX, CORNER_VERTEX, CUSP_VERTEX } |
enum | { SUBDIV_LOC_VALID_BIT = Bvert::NEXT_AVAILABLE_BIT, SUBDIV_COLOR_VALID_BIT, SUBDIV_CORNER_VALID_BIT, DIRTY_VERT_LIST_BIT, MASK_VALID_BIT, DEAD_BIT, DISPLACED_LOC_VALID, SUBDIV_ALLOCATED_BIT, NEXT_AVAILABLE_BIT } |
Public Member Functions | |
Lvert (CWpt &p=mlib::Wpt::Origin()) | |
virtual | ~Lvert () |
LMESH * | lmesh () const |
Ledge * | le (int k) const |
Lvert * | lv (int k) const |
Lvert * | subdiv_vertex () const |
bool | is_control () const |
Bsimplex * | parent () const |
Bsimplex * | ctrl_element () const |
Lvert * | ctrl_vert () const |
Lvert * | subdiv_vert (int level=1) |
Lvert * | parent_vert (int rel_level) const |
Lvert * | cur_subdiv_vert () |
void | set_parent (Bsimplex *p) |
unsigned short | subdiv_mask () const |
void | set_corner (unsigned short c=USHRT_MAX) |
unsigned short | corner_value (void) const |
bool | is_smooth () const |
bool | is_regular_crease () const |
Lvert * | update_subdivision () |
Lvert * | allocate_subdiv_vert () |
void | set_subdiv_vert (Lvert *subv) |
void | delete_subdiv_vert () |
void | subdiv_vert_deleted () |
Wpt & | limit_loc (mlib::Wpt &) const |
Wvec & | loop_normal (mlib::Wvec &) const |
CWpt & | displaced_loc (LocCalc *) |
bool | has_offset () const |
double | offset () const |
void | add_offset (double d) |
void | clear_offset () |
void | set_offset (double d) |
Wpt | smooth_loc_from_parent () const |
Wpt | detail_loc_from_parent () const |
void | fit_subdiv_offset (CWpt &detail_loc) |
void | mark_dirty (int bit=SUBDIV_LOC_VALID_BIT) |
void | subdiv_color_changed () |
void | subdiv_loc_changed () |
virtual void | geometry_changed () |
virtual void | normal_changed () |
virtual void | crease_changed () |
virtual void | degree_changed () |
virtual void | color_changed () |
virtual void | mask_changed () |
CWpt & | loc () const |
position (location) | |
Wpt | wloc () const |
mesh->xf * loc() | |
NDCZpt | ndc () const |
NDCZ position. | |
PIXEL | pix () const |
position in mlib::PIXEL coords | |
int | degree () const |
number of edges | |
int | degree (CSimplexFilter &f) const |
CCOLOR & | color () const |
color | |
double | alpha () const |
transparency | |
bool | has_color () const |
CBedge_list & | get_adj () const |
void | clear_flag02 () |
Wvec | compute_normal (const ARRAY< Bface * > &faces) const |
CWvec & | norm () const |
Wvec | norm (CSimplexFilter &f) const |
return a normal WRT faces accepted by the given filter: | |
void | set_norm (Wvec n) |
Wvec | wnorm () const |
void | get_normals (ARRAY< Wvec > &norms) const |
void | set_loc (CWpt &p) |
void | offset_loc (CWvec &v) |
void | transform (CWtransf &xf) |
void | set_color (CCOLOR &c, double a=1) |
double | dist (CBvert *v) |
Distance to another vert (ignoring modeling transform):. | |
double | dist (CWpt &p) const |
double | dist (CWpt &p, mlib::Wvec &bc) const |
double | wdist (CBvert *v) |
Distance to another vert (computed in world space):. | |
Bedge * | e (int k) const |
Bvert * | nbr (int k) const |
Bvert * | nbr (CBedge *e) const |
Bvert_list | get_nbrs (CBedge_list &edges) const |
void | get_nbrs (ARRAY< Bvert * > &nbrs) const |
Wpt | nbr_loc (int k) const |
Wpt | nbr_loc (CBedge *e) const |
void | get_faces (ARRAY< Bface * > &ret) const |
Bface_list | get_faces () const |
void | get_quad_faces (ARRAY< Bface * > &ret) const |
void | get_q_faces (ARRAY< Bface * > &ret) const |
void | get_all_faces (ARRAY< Bface * > &ret) const |
Bface_list | get_all_faces () const |
int | num_tris () const |
int | num_quads () const |
Bedge * | lookup_edge (CBvert *v) const |
bool | is_adjacent (CBvert *v) const |
Bedge_list | get_ccw_edges () const |
Bvert_list | get_ccw_nbrs () const |
void | get_manifold_edges (ARRAY< Bedge * > &ret) const |
Bedge_list | get_manifold_edges () const |
Bedge_list | strong_edges () const |
double | avg_strong_len () const |
void | get_primary_nbrs (ARRAY< Bvert * > &nbrs) const |
void | get_p_nbrs (ARRAY< Bvert * > &nbrs) const |
ARRAY< Bvert * > | get_p_nbrs () const |
int | p_degree () const |
void | get_q_nbrs (ARRAY< Bvert * > &q) const |
Bedge * | next_border_edge_cw () |
Bvert * | next_border_vert_cw () |
void | operator+= (Bedge *e) |
int | operator-= (Bedge *e) |
bool | order_edges_ccw () |
double | star_sum_angles () const |
double | star_area () const |
double | min_dot () const |
double | min_edge_len () const |
double | avg_edge_len () const |
Wpt | centroid () const |
Wpt | area_centroid () const |
Wpt | qr_centroid () const |
Wvec | qr_delt () const |
BMESHcurvature_data::curv_tensor_t | curv_tensor () const |
BMESHcurvature_data::diag_curv_t | diag_curv () const |
double | k1 () const |
double | k2 () const |
Wvec | pdir1 () const |
Wvec | pdir2 () const |
BMESHcurvature_data::dcurv_tensor_t | dcurv_tensor () const |
int | crease_degree () const |
int | border_degree () const |
int | polyline_degree () const |
int | stressed_degree () const |
int | multi_degree () const |
bool | is_border () const |
bool | is_polyline_end () const |
bool | is_crease_end () const |
bool | is_stressed () const |
bool | is_crease () const |
Wpt | eye_local () const |
camera (eye) location in local coordinates: | |
Wvec | eye_vec () const |
unit length vector to camera in local coordinates | |
double | eye_vec_dot_norm () const |
bool | is_front_facing () const |
returns true if surface normal (ignoring creases) points toward camera: | |
bool | is_sharp_point (double sharpness=M_PI/2) |
bool | is_non_manifold () const |
bool | is_manifold () const |
int | face_degree (CSimplexFilter &f) const |
virtual void | star_changed () |
virtual int | dim () const |
virtual int | index () const |
virtual bool | view_intersect (CNDCpt &, Wpt &, double &, double &, Wvec &n) const |
virtual Bface * | get_face () const |
virtual bool | on_face (CBface *f) const |
virtual bool | on_face (const Bface *f) const =0 |
virtual void | project_barycentric (CWpt &, mlib::Wvec &bc) const |
virtual void | bc2pos (CWvec &, mlib::Wpt &pos) const |
Wpt | bc2pos (mlib::CWvec &bc) const |
virtual Bsimplex * | bc2sim (CWvec &) const |
virtual Bsimplex_list | neighbors () const |
virtual bool | local_search (Bsimplex *&end, Wvec &final_bc, CWpt &target, mlib::Wpt &reached, Bsimplex *repeater=0, int iters=30) |
virtual NDCpt | nearest_pt_ndc (mlib::CNDCpt &p, mlib::Wvec &bc, int &is_on_simplex) const |
virtual Wpt | nearest_pt (mlib::CWpt &p, mlib::Wvec &bc, bool &is_on_simplex) const |
virtual Wpt | nearest_pt (mlib::CWpt &p, mlib::Wvec &bc) const |
virtual Wpt | nearest_pt (mlib::CWpt &p) const |
void | set_mesh (BMESH *mesh) |
BMESH * | mesh () const |
uint | key () const |
uint | flag () const |
void | clear_flag () |
void | set_flag (uchar b=1) |
void | inc_flag (uint i) |
bool | is_set (uint b) const |
bool | is_clear (uint b) const |
void | clear_bit (uint b) |
void | set_bit (uint b, int x=1) |
bool | is_selected () const |
SimplexData * | find_data (uint key) const |
SimplexData * | find_data (Cstr_ptr &s) const |
SimplexData * | find_data (void *key) const |
void | add_simplex_data (SimplexData *sd) |
void | rem_simplex_data (SimplexData *sd) |
const SimplexDataList * | data_list () const |
virtual void | notify_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 |
Static Public Member Functions | |
static Bsimplex * | lookup (uint k) |
static void | clamp_barycentric (Wvec &bc) |
Protected Types | |
enum | { FLAG_MASK = ((1 << FLAG_BITS) - 1) } |
Protected Member Functions | |
void | set_subdiv_base_loc (CWpt &base_loc) |
void | set_mask () |
void | set_normal () |
uint | generate_key () |
Static Protected Member Functions | |
static uint | mask (uint b) |
Protected Attributes | |
Lvert * | _subdiv_vertex |
unsigned short | _corner |
unsigned short | _mask |
Bsimplex * | _parent |
double | _offset |
Wpt | _displaced_loc |
Wpt | _loc |
Bedge_list | _adj |
COLOR | _color |
double | _alpha |
Wvec | _norm |
uint | _key |
uint | _flag |
BMESH * | _mesh |
SimplexDataList * | _data_list |
Static Protected Attributes | |
static IDtable | _table |
Private Member Functions | |
void | assign_subdiv_vert (Lvert *v) |
Friends | |
class | REPARENT_CMD |
class | Ledge |
ostream & | operator<< (ostream &os, CBvert &v) |
STDdstream & | operator<< (STDdstream &d, CBvert &v) |
istream & | operator>> (istream &is, Bvert &v) |
STDdstream & | operator>> (STDdstream &d, Bvert &v) |
Related Functions | |
(Note that these are not member functions.) | |
Patch * | get_patch (CBsimplex *s) |
Returns the Patch of a Bsimplex. | |
Patch * | get_ctrl_patch (CBsimplex *s) |
Similar to get_patch(CBsimplex*), but returns the control Patch. |
Definition at line 27 of file lvert.H.
|
Reimplemented from Bvert. |
|
Definition at line 265 of file bsimplex.H. |
|
|
|
|
|
Definition at line 49 of file lvert.C. References Bvert::_adj, Bsimplex::_mesh, _parent, Bvert::degree(), delete_subdiv_vert(), is_edge(), is_vert(), ARRAY< T >::last(), and BMESH::remove_edge(). |
|
Definition at line 144 of file lvert.H. References _offset, and set_offset(). |
|
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(). |
|
Definition at line 140 of file lvert.C. References Bsimplex::_data_list, Bvert::_loc, _subdiv_vertex, LMESH::add_vertex(), Bsimplex::is_set(), lmesh(), SimplexDataList::notify_subdiv_gen(), Bsimplex::set_bit(), set_parent(), SUBDIV_ALLOCATED_BIT, and LMESH::subdiv_mesh(). Referenced by Lface::allocate_subdiv_elements(), Ledge::allocate_subdiv_elements(), and update_subdivision(). |
|
transparency
Definition at line 47 of file bvert.H. References Bvert::_alpha. Referenced by VertColorStripCB::faceCB(), SmoothShadeStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), StripTexCoordsCB2::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
Definition at line 696 of file bvert.C. References SimplexArray< L, T >::any_satisfy(), Bedge::avg_area(), Bvert::e(), ARRAY< T >::empty(), SimplexArray< L, T >::filter(), Bvert::get_manifold_edges(), get_nbrs(), Bvert::loc(), Bvert::nbr_loc(), and ARRAY< T >::num(). |
|
Definition at line 208 of file lvert.H. References _subdiv_vertex. |
|
Definition at line 284 of file bvert.H. References Bvert::_adj, and Bedge_list::avg_len(). |
|
Definition at line 213 of file bvert.H. References Bedge_list::avg_len(), and Bvert::strong_edges(). |
|
Definition at line 146 of file bsimplex.H. References Bsimplex::bc2pos(). |
|
Implements Bsimplex. Definition at line 421 of file bvert.H. References Bvert::_loc. |
|
Implements Bsimplex. |
|
Definition at line 316 of file bvert.H. References Bvert::degree(). Referenced by Bvert::get_ccw_edges(), Bvert::is_border(), and LoopLoc::limit_normal(). |
|
Definition at line 675 of file bvert.C. References SimplexArray< L, T >::any_satisfy(), ARRAY< T >::empty(), SimplexArray< L, T >::filter(), Bvert::get_manifold_edges(), get_nbrs(), Bvert::loc(), Bvert::nbr_loc(), and ARRAY< T >::num(). |
|
Definition at line 162 of file bsimplex.H. References max(), and mlib::Vec3< V >::set(). Referenced by Bsimplex::project_to_simplex(). |
|
|
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(). |
|
Definition at line 55 of file bvert.H. References Bvert::_adj, Bsimplex::clear_flag(), and Bedge_list::clear_flag02(). Referenced by Bvert_list::clear_flag02(). |
|
Definition at line 145 of file lvert.H. References set_offset(). |
|
|
Reimplemented from Bvert. Definition at line 399 of file lvert.C. References Ledge::color_changed(), Bvert::color_changed(), Bvert::degree(), le(), and subdiv_color_changed(). |
|
Referenced by Bvert::norm(), and Bvert::set_normal(). |
|
Definition at line 120 of file lvert.H. References _corner. Referenced by update_subdivision(). |
|
Reimplemented from Bvert. Definition at line 349 of file lvert.C. References Bvert::crease_changed(), and mask_changed(). |
|
Definition at line 315 of file bvert.H. References Bvert::degree(). Referenced by Bvert::is_crease(), and Bvert::is_crease_end(). |
|
Definition at line 85 of file lvert.C. References _parent, is_edge(), is_face(), and is_vert(). Referenced by ctrl_vert(). |
|
Definition at line 91 of file lvert.H. References ctrl_element(), and is_vert(). |
|
Definition at line 129 of file lvert.C. References Bsimplex::_mesh, BMESH::rel_cur_level(), and subdiv_vert(). |
|
Definition at line 866 of file bvert.C. References Bsimplex::_mesh, BMESHcurvature_data::curv_tensor(), and BMESH::curvature(). |
|
Definition at line 132 of file bsimplex.H. References Bsimplex::_data_list. Referenced by num_data(). |
|
Definition at line 914 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::dcurv_tensor(). Referenced by MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
Definition at line 313 of file bvert.H. References Bvert::_adj, and SimplexArray< L, T >::num_satisfy(). |
|
|
Reimplemented from Bvert. Definition at line 357 of file lvert.C. References Bvert::degree_changed(), and mask_changed(). |
|
Definition at line 186 of file lvert.C. References _subdiv_vertex, Bsimplex::clear_bit(), Bsimplex::is_set(), mark_dirty(), Bsimplex::mesh(), BMESH::remove_vertex(), and SUBDIV_ALLOCATED_BIT. Referenced by LMESH::delete_subdiv_mesh(), and ~Lvert(). |
|
Definition at line 274 of file lvert.C. References _offset, _parent, get_norm(), and smooth_loc_from_parent(). Referenced by set_offset(). |
|
Definition at line 874 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::diag_curv(). |
|
Implements Bsimplex. |
|
Definition at line 327 of file lvert.C. References _displaced_loc, Bvert::_loc, DISPLACED_LOC_VALID, Config::get_var_dbl(), Bsimplex::is_set(), Bsimplex::set_bit(), and SubdivCalc< T >::subdiv_val(). |
|
Definition at line 216 of file bsimplex.H. References mlib::Point3< P, V >::dist(), and Bsimplex::nearest_pt(). |
|
Definition at line 215 of file bsimplex.H. References mlib::Point3< P, V >::dist(), and Bsimplex::nearest_pt(). Referenced by Bface::contains(). |
|
Distance to another vert (ignoring modeling transform):.
Definition at line 111 of file bvert.H. References Bvert::loc(). Referenced by closest_vert(). |
|
|
camera (eye) location in local coordinates:
Definition at line 654 of file bvert.C. References VIEW::eye(), BMESH::eye_local(), and Bsimplex::mesh(). Referenced by Bvert::eye_vec(), and Bvert::is_front_facing(). |
|
unit length vector to camera in local coordinates
Definition at line 346 of file bvert.H. References Bvert::eye_local(), Bvert::loc(), and mlib::Vec3< V >::normalized(). Referenced by Bvert::eye_vec_dot_norm(). |
|
dot product of unit length vector toward camera and surface normal (ignoring creases): Definition at line 350 of file bvert.H. References Bvert::eye_vec(), and Bvert::norm(). |
|
Definition at line 471 of file bvert.C. References Bvert::get_faces(), and SimplexArray< L, T >::num_satisfy(). Referenced by LoopLoc::limit_normal(). |
|
Definition at line 123 of file bsimplex.H. References Bsimplex::find_data(). |
|
Definition at line 122 of file bsimplex.H. References Bsimplex::find_data(). |
|
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(). |
|
Definition at line 302 of file lvert.C. References _parent, get_norm(), Bvert::set_loc(), set_offset(), and smooth_loc_from_parent(). |
|
|
Definition at line 20 of file bsimplex.C. References Bsimplex::_key, Bsimplex::_table, err_msg(), and ARRAY< T >::num(). |
|
Reimplemented from Bvert. Definition at line 385 of file lvert.C. References Bvert::geometry_changed(), and subdiv_loc_changed(). |
|
Definition at line 51 of file bvert.H. References Bvert::_adj. Referenced by FoldVertFilter::accept(), and BMESH::merge_vertex(). |
|
Definition at line 981 of file bface.H. Referenced by Bvert::geometry_changed(), Bvert::get_all_faces(), Bvert::neighbors(), and Bvert::norm(). |
|
Definition at line 397 of file bvert.C. References add_uniquely(), Bvert::degree(), Bvert::e(), Bvert::get_all_faces(), Bvert::get_faces(), and Bvert::is_manifold(). Referenced by ToonTexCB::faceCB(), XToonStripCB::faceCB(), BMESH::merge_vertex(), and UVdata::split(). |
|
Definition at line 141 of file bvert.C. References Bvert::_adj, Bvert::border_degree(), ccw_face(), Bvert::degree(), Bvert::e(), err_msg(), leading_ccw_edge(), ARRAY< T >::num(), Bface::opposite_edge(), and Bedge::other_vertex(). Referenced by Bvert::get_ccw_nbrs(), and Bvert::order_edges_ccw(). |
|
Definition at line 187 of file bvert.C. References Bvert::get_ccw_edges(), and Bvert::get_nbrs(). Referenced by LoopLoc::limit_normal(). |
|
Implements Bsimplex. Definition at line 482 of file bvert.C. References Bvert::_adj, Bvert::e(), and ARRAY< T >::num(). Referenced by get_patch(), UVdata::get_uv(), UVdata::handle_subdiv_calc(), and leading_faces(). |
|
Definition at line 989 of file bface.H. Referenced by Bvert::face_degree(), Bvert::get_all_faces(), Bvert::get_faces(), Bvert::get_normals(), Bvert::get_q_faces(), Bvert::local_search(), Bvert::num_tris(), Bvert::set_normal(), Bvert::star_area(), and Bvert::star_sum_angles(). |
|
Definition at line 324 of file bvert.C. References Bvert::_adj, Bvert::get_faces(), Bvert::get_manifold_edges(), and Bvert::is_manifold(). Referenced by VertUVTexture::draw(), UVdata::handle_subdiv_calc(), StripTexCoordsCB2::send_d(), StripTexCoordsCB3::send_d(), BMESH::split_faces(), and BMESH::split_tris(). |
|
Definition at line 206 of file bvert.H. Referenced by Bvert::area_centroid(), Bvert::centroid(), Bvert::get_faces(), Bvert::get_p_nbrs(), Bvert::get_primary_nbrs(), Bvert::get_q_nbrs(), Bvert::get_quad_faces(), Bvert::next_border_edge_cw(), Bvert::qr_centroid(), set_mask(), and Bvert::strong_edges(). |
|
|
Definition at line 212 of file bvert.C. References Bvert::_adj, and Bvert::get_nbrs(). |
|
Definition at line 111 of file bvert.C. References Bvert::nbr(), and ARRAY< T >::num(). Referenced by Bvert::get_ccw_nbrs(), Bvert::get_nbrs(), Bvert::get_p_nbrs(), and Bvert::get_primary_nbrs(). |
|
for a vertex with adjacent crease edges, returns 1 normal for each set of adjacent faces bounded by crease edges: Definition at line 545 of file bvert.C. References ARRAY< T >::add_uniquely(), ARRAY< T >::clear(), Bvert::get_faces(), Bvert::is_crease(), Bvert::norm(), and ARRAY< T >::num(). Referenced by VertNormalsTexture::draw(). |
|
Definition at line 227 of file bvert.H. Referenced by Bvert::p_degree(). |
|
Definition at line 226 of file bvert.C. References Bvert::get_manifold_edges(), and Bvert::get_nbrs(). |
|
Definition at line 220 of file bvert.C. References Bvert::get_manifold_edges(), and Bvert::get_nbrs(). |
|
Definition at line 360 of file bvert.C. References add_quad_partners(), and Bvert::get_faces(). |
|
Definition at line 70 of file bvert.C. References ccw_face(), ARRAY< T >::clear(), Bvert::get_manifold_edges(), Bface::is_quad(), ARRAY< T >::num(), and Bface::quad_opposite_vert(). Referenced by HybridCalc< Wpt >::hybrid_centroid(). |
|
Definition at line 436 of file bvert.C. References Bvert::_adj, Bvert::get_manifold_edges(), and Bvert::is_manifold(). Referenced by Bvert::num_quads(), and CatmullClarkCalc< Wpt >::smooth_centroid(). |
|
|
Definition at line 142 of file lvert.H. References _offset. |
|
Definition at line 96 of file bsimplex.H. References Bsimplex::flag(), Bsimplex::FLAG_BITS, and Bsimplex::set_flag(). |
|
|
Definition at line 177 of file bvert.H. References Bvert::_adj, and ARRAY< T >::num(). Referenced by BMESH::try_collapse_edge(). |
|
Definition at line 323 of file bvert.H. References Bvert::border_degree(). Referenced by set_mask(), and BMESH::try_collapse_edge(). |
|
Definition at line 101 of file bsimplex.H. References Bsimplex::is_set(). Referenced by BitClearSimplexFilter::accept(), LMESH::add_dirty_vert(), Bface::is_primary(), Lface::subdiv_dirty(), update_subdivision(), and Ledge::update_subdivision(). |
|
Definition at line 80 of file lvert.H. References _parent. |
|
Definition at line 334 of file bvert.H. References Bvert::CREASE_BIT, Bvert::crease_degree(), Bsimplex::is_set(), and Bvert::VALID_CREASE_BIT. Referenced by Bvert::get_normals(), set_mask(), and Bface::vert_normal(). |
|
Definition at line 325 of file bvert.H. References Bvert::crease_degree(). Referenced by Bedge::is_crease_end(). |
|
returns true if surface normal (ignoring creases) points toward camera:
Definition at line 353 of file bvert.H. References Bvert::eye_local(), Bvert::loc(), and Bvert::norm(). Referenced by is_good(). |
|
Definition at line 358 of file bvert.H. References Bvert::is_non_manifold(). Referenced by Bvert::get_all_faces(), Bvert::get_faces(), Bvert::get_manifold_edges(), Bvert::get_quad_faces(), LoopLoc::limit_normal(), Bvert::p_degree(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), HybridCalc< Wpt >::subdiv_val(), and CatmullClarkCalc< Wpt >::subdiv_val(). |
|
Definition at line 357 of file bvert.H. References Bvert::multi_degree(). Referenced by Bvert::is_manifold(), and Bvert::next_border_edge_cw(). |
|
Definition at line 324 of file bvert.H. References Bvert::polyline_degree(). Referenced by BMESH::build_polyline_strips(), and Bedge::is_polyline_end(). |
|
Definition at line 122 of file lvert.H. References REGULAR_CREASE_VERTEX, and subdiv_mask(). |
|
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(). |
|
|
Definition at line 645 of file bvert.C. References Bvert::star_sum_angles(). |
|
Definition at line 121 of file lvert.H. References DART_VERTEX, and subdiv_mask(). |
|
Definition at line 327 of file bvert.H. References Bsimplex::is_set(), Bvert::STRESSED_BIT, Bvert::stressed_degree(), and Bvert::VALID_STRESSED_BIT. |
|
Definition at line 882 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::k1(). Referenced by ToonTexCB::faceCB(), MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
Definition at line 890 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::k2(). Referenced by ToonTexCB::faceCB(), MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
Definition at line 72 of file bsimplex.H. References Bsimplex::_key. Referenced by ColorIDStripCB::edgeCB(), ColorIDStripCB::faceCB(), and ColorIDStripCB::vertCB(). |
|
Definition at line 72 of file lvert.H. References Bvert::_adj. Referenced by color_changed(), mask_changed(), and update_sub(). |
|
Definition at line 315 of file lvert.C. References lmesh(). |
|
Definition at line 71 of file lvert.H. References Bsimplex::mesh(). Referenced by allocate_subdiv_vert(), LvertStrip::cur_level(), limit_loc(), mark_dirty(), Ledge::set_subdiv_elements(), set_subdiv_vert(), smooth_loc_from_parent(), and update_subdivision(). |
|
|
Implements Bsimplex. Definition at line 817 of file bvert.C. References Bvert::_loc, Bvert::get_faces(), and ARRAY< T >::num(). |
|
Definition at line 73 of file bsimplex.H. References Bsimplex::_table, and ARRAY< T >::num(). Referenced by VisRefImage::debug(), and IDRefImage::simplex(). |
|
|
|
|
Definition at line 73 of file lvert.H. References Bvert::nbr(). |
|
Definition at line 340 of file lvert.C. References LMESH::add_dirty_vert(), Bsimplex::clear_bit(), DEAD_BIT, Bsimplex::is_set(), and lmesh(). Referenced by Lface::delete_subdiv_elements(), Ledge::delete_subdiv_elements(), delete_subdiv_vert(), LMESH::mark_all_dirty(), subdiv_color_changed(), and subdiv_loc_changed(). |
|
Definition at line 268 of file bsimplex.H. Referenced by Bsimplex::clear_bit(), Bsimplex::is_set(), and Bsimplex::set_bit(). |
|
Definition at line 365 of file lvert.C. References Bsimplex::clear_bit(), Bvert::degree(), Bvert::e(), Bsimplex::is_set(), le(), Ledge::mask_changed(), Ledge::MASK_VALID_BIT, MASK_VALID_BIT, subdiv_color_changed(), and subdiv_loc_changed(). Referenced by crease_changed(), Ledge::crease_changed(), degree_changed(), Ledge::faces_changed(), and set_corner(). |
|
|
Definition at line 273 of file bvert.H. References Bvert::degree(), Bvert::e(), and min(). |
|
Definition at line 281 of file bvert.H. References Bvert::_adj, and Bedge_list::min_edge_len(). |
|
Definition at line 319 of file bvert.H. References Bvert::degree(). Referenced by Bvert::is_non_manifold(). |
|
Definition at line 126 of file bvert.H. References Bedge::other_vertex(). |
|
Definition at line 122 of file bvert.H. References Bvert::_adj, and ARRAY< T >::valid_index(). Referenced by CatmullClarkCalc< Wpt >::crease_centroid(), BMESH::get_enclosed_verts(), get_nbrs(), Bvert::get_nbrs(), BMESH::grow_mesh_equivalence_class(), is_near_tri(), lv(), Bvert::nbr_loc(), BMESH::split_faces(), and BMESH::try_collapse_edge(). |
|
Definition at line 136 of file bvert.H. References Bvert::loc(), and Bvert::nbr(). |
|
Definition at line 135 of file bvert.H. References Bvert::loc(), and Bvert::nbr(). Referenced by Bvert::area_centroid(), Bvert::centroid(), and Bvert::qr_centroid(). |
|
NDCZ position.
Definition at line 58 of file bvert.C. References Bvert::_loc, Bsimplex::_mesh, and BMESH::obj_to_ndc(). Referenced by BMESH::get_enclosed_verts(), Bface::ndc_area(), Bface::ndc_centroid(), Bface::ndc_contains(), Bedge::ndc_intersect(), Bface::ndc_quad_centroid(), Bface::nearest_pt_ndc(), Bedge::nearest_pt_ndc(), Bface::project_barycentric_ndc(), and Bedge::view_intersect(). |
|
Definition at line 182 of file bsimplex.H. References Bsimplex::view_intersect(). |
|
Definition at line 232 of file bsimplex.H. References Bsimplex::nearest_pt(). |
|
Definition at line 228 of file bsimplex.H. References Bsimplex::nearest_pt(). |
|
Implements Bsimplex. |
|
Implements Bsimplex. Definition at line 846 of file bvert.C. References Bvert::_loc. |
|
Implements Bsimplex. Definition at line 86 of file bvert.C. References Bvert::_adj, Bvert::get_all_faces(), j, and ARRAY< T >::num(). |
|
Definition at line 382 of file bvert.C. References Bvert::_adj, Bvert::get_manifold_edges(), Bvert::is_non_manifold(), and next_border_edge_cw(). Referenced by Bvert::next_border_vert_cw(). |
|
Definition at line 247 of file bvert.H. References Bvert::next_border_edge_cw(), and Bedge::other_vertex(). |
|
return a normal WRT faces accepted by the given filter:
Definition at line 524 of file bvert.C. References Bvert::compute_normal(), SimplexArray< L, T >::filter(), and Bvert::get_all_faces(). |
|
normal -- i.e. unit length average of adjacent faces: (uses angle-weighted face normals) Definition at line 69 of file bvert.H. References Bvert::_norm, Bsimplex::is_set(), and Bvert::VALID_NORMAL_BIT. Referenced by FoldVertFilter::accept(), BMESHcurvature_data::compute_face_curvatures(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::diagonalize_vertex_curvatures(), VertUVTexture::draw(), Bvert::eye_vec_dot_norm(), Bvert::get_normals(), Bvert::is_front_facing(), StripTexCoordsCB2::send_d(), StripTexCoordsCB3::send_d(), vert_normal(), Bface::vert_normal(), Bvert::view_intersect(), Bvert::wnorm(), and write_verts(). |
|
Reimplemented from Bvert. Definition at line 392 of file lvert.C. References Bvert::normal_changed(), and subdiv_loc_changed(). |
|
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(). |
|
Definition at line 52 of file bsimplex.C. References Bsimplex::_data_list, and SimplexDataList::notify_simplex_xformed(). Referenced by Bvert::transform(). |
|
Definition at line 450 of file bvert.C. References Bvert::get_quad_faces(), and ARRAY< T >::num(). Referenced by HybridCalc< Wpt >::subdiv_val(). |
|
Definition at line 459 of file bvert.C. References Bvert::get_faces(), and ARRAY< T >::num(). Referenced by HybridCalc< Wpt >::subdiv_val(). |
|
Definition at line 143 of file lvert.H. References _offset. |
|
Definition at line 99 of file bvert.H. References Bvert::_loc, and Bvert::set_loc(). |
|
Referenced by IDRefImage::is_face_visible(). |
|
Definition at line 492 of file bvert.C. References Bface::contains(). |
|
Definition at line 34 of file bvert.C. References Bvert::_adj, Bvert::crease_changed(), Bvert::degree_changed(), and Bedge::is_crease(). |
|
Definition at line 43 of file bvert.C. References Bvert::_adj, Bvert::crease_changed(), Bvert::degree_changed(), err_msg(), and Bedge::is_crease(). |
|
Definition at line 193 of file bvert.C. References Bvert::_adj, Bvert::degree(), Bvert::get_ccw_edges(), Bsimplex::is_set(), ARRAY< T >::num(), Bsimplex::set_bit(), and Bvert::VALID_CCW_BIT. |
|
Definition at line 233 of file bvert.H. References Bvert::degree(), Bvert::get_p_nbrs(), Bvert::is_manifold(), and ARRAY< T >::num(). Referenced by HybridCalc< Wpt >::subdiv_val(). |
|
Definition at line 84 of file lvert.H. References _parent. Referenced by add_p(), Ledge::claim_child(), MeshGlobal::edit_level_changed(), Lface::parent_bc(), parent_vert(), and set_subdiv_vert(). |
|
|
|
Definition at line 898 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::pdir1(). Referenced by MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
Definition at line 906 of file bvert.C. References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::pdir2(). Referenced by MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(). |
|
position in mlib::PIXEL coords
Definition at line 43 of file bvert.H. References Bvert::wloc(). Referenced by Bedge::pix_line(). |
|
Definition at line 317 of file bvert.H. References Bvert::degree(). Referenced by Bvert::is_polyline_end(). |
|
Implements Bsimplex. Definition at line 418 of file bvert.H. References mlib::Vec3< V >::set(). |
|
Definition at line 152 of file bsimplex.H. References Bsimplex::bc2pos(), Bsimplex::clamp_barycentric(), and Bsimplex::project_barycentric(). |
|
Definition at line 720 of file bvert.C. References Bedge_list::avg_len(), ccw_face(), Bvert::e(), ARRAY< T >::empty(), Bvert::get_manifold_edges(), Bface::is_quad(), Bedge::is_strong(), Bedge::length(), Bvert::loc(), Bvert::nbr_loc(), ARRAY< T >::num(), and Bface::quad_opposite_vert(). Referenced by Bvert::qr_delt(). |
|
Definition at line 297 of file bvert.H. References Bvert::loc(), and Bvert::qr_centroid(). |
|
Definition at line 126 of file bsimplex.H. References Bsimplex::_data_list, and ARRAY< T >::rem(). Referenced by SimplexData::set(). |
|
|
Definition at line 103 of file bvert.H. References Bvert::_alpha, Bvert::_color, Bvert::color_changed(), Bsimplex::set_bit(), and Bvert::VALID_COLOR_BIT. Referenced by BMESH::operator=(), BMESH::read_colors(), update_subdivision(), and Ledge::update_subdivision(). |
|
Definition at line 409 of file lvert.C. References _corner, Bsimplex::clear_bit(), mask_changed(), and SUBDIV_CORNER_VALID_BIT. Referenced by LMESH::clear_creases(), LMESH::operator=(), and update_subdivision(). |
|
|
Definition at line 98 of file bvert.H. References Bvert::_loc, and Bvert::geometry_changed(). Referenced by fit_subdiv_offset(), Bvert::offset_loc(), set_offset(), set_subdiv_base_loc(), Bvert::transform(), and update_subdivision(). |
|
Definition at line 419 of file lvert.C. References _corner, _mask, CORNER_VERTEX, DART_VERTEX, Bvert::get_manifold_edges(), Bvert::is_border(), Bvert::is_crease(), MASK_VALID_BIT, ARRAY< T >::num(), SimplexArray< L, T >::num_satisfy(), REGULAR_CREASE_VERTEX, Bsimplex::set_bit(), and SMOOTH_VERTEX. |
|
Definition at line 67 of file bsimplex.H. References Bsimplex::_mesh. Referenced by BMESH::add_edge(), BMESH::add_face(), and BMESH::add_vertex(). |
|
Definition at line 79 of file bvert.H. References Bvert::_norm, mlib::Vec3< V >::normalized(), Bsimplex::set_bit(), and Bvert::VALID_NORMAL_BIT. Referenced by OBJReaderImpl::set_vert_normals(). |
|
Definition at line 509 of file bvert.C. References Bvert::_adj, Bvert::_norm, SimplexArray< L, T >::all_satisfy(), Bvert::compute_normal(), Bvert::get_faces(), Bsimplex::set_bit(), and Bvert::VALID_NORMAL_BIT. |
|
Definition at line 245 of file lvert.C. References _offset, _parent, detail_loc_from_parent(), err_msg(), and Bvert::set_loc(). Referenced by add_offset(), clear_offset(), and fit_subdiv_offset(). |
|
Definition at line 109 of file lvert.H. References _parent. Referenced by allocate_subdiv_vert(), Ledge::claim_child(), and set_subdiv_vert(). |
|
Definition at line 284 of file lvert.C. References _offset, _parent, get_norm(), and Bvert::set_loc(). Referenced by update_subdivision(), and Ledge::update_subdivision(). |
|
Definition at line 164 of file lvert.C. References Bsimplex::_data_list, _subdiv_vertex, err_msg(), Bsimplex::is_set(), lmesh(), Bsimplex::mesh(), SimplexDataList::notify_subdiv_gen(), parent(), Bsimplex::set_bit(), set_parent(), and SUBDIV_ALLOCATED_BIT. |
|
Definition at line 256 of file lvert.C. References _parent, is_edge(), is_vert(), lmesh(), Bvert::loc(), mlib::Wpt::Origin(), LMESH::parent_mesh(), and LMESH::subdiv_loc(). Referenced by detail_loc_from_parent(), and fit_subdiv_offset(). |
|
Definition at line 631 of file bvert.C. References Bvert::get_faces(), and ARRAY< T >::num(). |
|
Definition at line 368 of file bvert.H. References Bsimplex::clear_bit(), and Bvert::VALID_CCW_BIT. Referenced by Bvert::degree_changed(), Bedge::operator+=(), and Bedge::operator-=(). |
|
Definition at line 617 of file bvert.C. References Bvert::get_faces(), and ARRAY< T >::num(). Referenced by Bvert::is_sharp_point(). |
|
Definition at line 318 of file bvert.H. References Bvert::degree(). Referenced by Bvert::is_stressed(). |
|
Definition at line 212 of file bvert.H. References Bvert::get_manifold_edges(), and Bedge_list::strong_edges(). Referenced by Bvert::avg_strong_len(). |
|
Definition at line 175 of file lvert.H. References mark_dirty(), and SUBDIV_COLOR_VALID_BIT. Referenced by color_changed(), Lface::color_changed(), and mask_changed(). |
|
Definition at line 176 of file lvert.H. References Bsimplex::clear_bit(), DISPLACED_LOC_VALID, mark_dirty(), and SUBDIV_LOC_VALID_BIT. Referenced by geometry_changed(), mask_changed(), and normal_changed(). |
|
Definition at line 113 of file lvert.H. References _mask, Bsimplex::is_set(), and MASK_VALID_BIT. Referenced by is_regular_crease(), and is_smooth(). |
|
Definition at line 99 of file lvert.C. References _subdiv_vertex, and subdiv_vert(). Referenced by cur_subdiv_vert(), Ledge::get_subdiv_verts(), and subdiv_vert(). |
|
Definition at line 74 of file lvert.C. References _subdiv_vertex, Bsimplex::clear_bit(), SUBDIV_COLOR_VALID_BIT, SUBDIV_CORNER_VALID_BIT, and SUBDIV_LOC_VALID_BIT. |
|
Definition at line 74 of file lvert.H. References _subdiv_vertex. Referenced by Ledge::get_sub_faces(), UVdata::handle_subdiv_calc(), and UVdata::set_subdiv_uv(). |
|
Definition at line 100 of file bvert.H. References Bvert::_loc, Bsimplex::notify_xform(), and Bvert::set_loc(). |
|
Definition at line 201 of file lvert.C. References _corner, Bsimplex::_data_list, _subdiv_vertex, allocate_subdiv_vert(), corner_value(), SimplexDataList::handle_subdiv_calc(), Bvert::has_color(), Bsimplex::is_clear(), lmesh(), Bvert::loc(), Bsimplex::set_bit(), Bvert::set_color(), set_corner(), Bvert::set_loc(), set_subdiv_base_loc(), SUBDIV_COLOR_VALID_BIT, SUBDIV_CORNER_VALID_BIT, and SUBDIV_LOC_VALID_BIT. Referenced by update_sub(). |
|
Implements Bsimplex. Definition at line 784 of file bvert.C. References Bsimplex::_mesh, mlib::Point3< P, V >::dist(), BMESH::inv_xform(), mlib::Vec3< V >::is_null(), Bvert::loc(), Bvert::norm(), mlib::Vec3< V >::normalized(), and Bvert::wloc(). |
|
Definition at line 199 of file bsimplex.H. References Bsimplex::nearest_pt(), and Bsimplex::walk_to_target(). |
|
Referenced by Bsimplex::walk_to_target(). |
|
Distance to another vert (computed in world space):.
Definition at line 114 of file bvert.H. References mlib::Point3< P, V >::dist(), and Bvert::wloc(). |
|
mesh->xf * loc()
Definition at line 64 of file bvert.C. References Bvert::_loc, Bsimplex::_mesh, and BMESH::xform(). Referenced by closest_vert(), VertAttrib< UVpt, UVvec >::dFd(), ToonTexCB::faceCB(), ToonTexCB_1D::faceCB(), is_good(), Bvert::pix(), BMESH::put_vertices(), GtexUtil::show(), GtexUtil::tri(), Bvert::view_intersect(), Bedge::view_intersect(), Bvert::wdist(), Bvert_list::wpts(), and BMESH::write_vertices(). |
|
normal transformed to world space xf.inverse().transpose() * norm Definition at line 533 of file bvert.C. References Bsimplex::_mesh, BMESH::inv_xform(), and Bvert::norm(). |
|
Similar to get_patch(CBsimplex*), but returns the control Patch.
|
|
Returns the Patch of a Bsimplex.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 443 of file bvert.H. Referenced by Bvert::alpha(), and Bvert::set_color(). |
|
Definition at line 442 of file bvert.H. Referenced by Bvert::color(), and Bvert::set_color(). |
|
Definition at line 195 of file lvert.H. Referenced by corner_value(), set_corner(), set_mask(), and update_subdivision(). |
|
|
Definition at line 199 of file lvert.H. Referenced by displaced_loc(). |
|
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(). |
|
Definition at line 245 of file bsimplex.H. Referenced by Bsimplex::generate_key(), and Bsimplex::key(). |
|
Definition at line 440 of file bvert.H. Referenced by allocate_subdiv_vert(), Bvert::bc2pos(), displaced_loc(), Bvert::loc(), Bvert::local_search(), Bvert::ndc(), Bvert::nearest_pt_ndc(), Bvert::offset_loc(), Bvert::set_loc(), Bvert::transform(), and Bvert::wloc(). |
|
Definition at line 196 of file lvert.H. Referenced by set_mask(), and subdiv_mask(). |
|
|
Definition at line 444 of file bvert.H. Referenced by Bvert::norm(), Bvert::set_norm(), and Bvert::set_normal(). |
|
Definition at line 198 of file lvert.H. Referenced by add_offset(), detail_loc_from_parent(), has_offset(), offset(), set_offset(), and set_subdiv_base_loc(). |
|
Definition at line 197 of file lvert.H. Referenced by ctrl_element(), detail_loc_from_parent(), fit_subdiv_offset(), is_control(), parent(), set_offset(), set_parent(), set_subdiv_base_loc(), smooth_loc_from_parent(), and ~Lvert(). |
|
Definition at line 194 of file lvert.H. Referenced by allocate_subdiv_vert(), assign_subdiv_vert(), delete_subdiv_vert(), set_subdiv_vert(), subdiv_vert(), subdiv_vert_deleted(), subdiv_vertex(), and update_subdivision(). |
|
Definition at line 263 of file bsimplex.H. Referenced by Bsimplex::generate_key(), and Bsimplex::lookup(). |