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

Bvert Class Reference

#include <bvert.H>

Inheritance diagram for Bvert:

Inheritance graph
[legend]
Collaboration diagram for Bvert:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  VALID_COLOR_BIT = Bsimplex::NEXT_AVAILABLE_BIT, VALID_NORMAL_BIT, VALID_CCW_BIT, NON_MANIFOLD_BIT,
  VALID_NON_MANIFOLD_BIT, CREASE_BIT, VALID_CREASE_BIT, STRESSED_BIT,
  VALID_STRESSED_BIT, NEXT_AVAILABLE_BIT
}

Public Member Functions

 Bvert (CWpt &p=mlib::Wpt::Origin())
virtual ~Bvert ()
CWptloc () 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
CCOLORcolor () const
 color
double alpha () const
 transparency
bool has_color () const
CBedge_listget_adj () const
void clear_flag02 ()
Wvec compute_normal (const ARRAY< Bface * > &faces) const
CWvecnorm () const
void set_norm (Wvec n)
Wvec norm (CSimplexFilter &f) const
 return a normal WRT faces accepted by the given filter:
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 wdist (CBvert *v)
 Distance to another vert (computed in world space):.
Bedgee (int k) const
Bvertnbr (int k) const
Bvertnbr (CBedge *e) const
Bvert_list get_nbrs (CBedge_list &edges) 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
Bedgelookup_edge (CBvert *v) const
bool is_adjacent (CBvert *v) const
void get_nbrs (ARRAY< Bvert * > &nbrs) 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
Bedgenext_border_edge_cw ()
Bvertnext_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 degree (CSimplexFilter &f) 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 geometry_changed ()
virtual void normal_changed ()
virtual void degree_changed ()
virtual void star_changed ()
virtual void crease_changed ()
virtual void color_changed ()
virtual int dim () const
virtual int index () const
virtual bool view_intersect (CNDCpt &, Wpt &, double &, double &, Wvec &n) const
virtual Bfaceget_face () const
virtual bool on_face (CBface *f) const
virtual void project_barycentric (CWpt &, mlib::Wvec &bc) const
virtual void bc2pos (CWvec &, mlib::Wpt &pos) const
virtual Bsimplexbc2sim (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
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) 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

void set_normal ()
uint generate_key ()

Static Protected Member Functions

static uint mask (uint b)

Protected Attributes

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

Friends

ostream & operator<< (ostream &os, CBvert &v)
istream & operator>> (istream &is, Bvert &v)
STDdstreamoperator<< (STDdstream &d, CBvert &v)
STDdstreamoperator>> (STDdstream &d, Bvert &v)

Related Functions

(Note that these are not member functions.)

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 17 of file bvert.H.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
VALID_COLOR_BIT 
VALID_NORMAL_BIT 
VALID_CCW_BIT 
NON_MANIFOLD_BIT 
VALID_NON_MANIFOLD_BIT 
CREASE_BIT 
VALID_CREASE_BIT 
STRESSED_BIT 
VALID_STRESSED_BIT 
NEXT_AVAILABLE_BIT 

Reimplemented from Bsimplex.

Definition at line 21 of file bvert.H.

anonymous enum [protected, inherited]
 

Enumerator:
FLAG_MASK 

Definition at line 265 of file bsimplex.H.


Constructor & Destructor Documentation

Bvert::Bvert CWpt p = mlib::Wpt::Origin()  )  [inline]
 

Definition at line 35 of file bvert.H.

Bvert::~Bvert  )  [virtual]
 

Definition at line 9 of file bvert.C.

References _adj, Bsimplex::_mesh, degree(), MeshGlobal::deselect(), Bsimplex::is_selected(), ARRAY< T >::last(), and BMESH::remove_edge().


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 Bvert::alpha  )  const [inline]
 

transparency

Definition at line 47 of file bvert.H.

References _alpha.

Referenced by VertColorStripCB::faceCB(), SmoothShadeStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), StripTexCoordsCB2::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), and CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB().

Wpt Bvert::area_centroid  )  const
 

Definition at line 696 of file bvert.C.

References SimplexArray< L, T >::any_satisfy(), Bedge::avg_area(), e(), ARRAY< T >::empty(), SimplexArray< L, T >::filter(), get_manifold_edges(), get_nbrs(), loc(), nbr_loc(), and ARRAY< T >::num().

double Bvert::avg_edge_len  )  const [inline]
 

Definition at line 284 of file bvert.H.

References _adj, and Bedge_list::avg_len().

double Bvert::avg_strong_len  )  const [inline]
 

Definition at line 213 of file bvert.H.

References Bedge_list::avg_len(), and strong_edges().

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

Definition at line 146 of file bsimplex.H.

References Bsimplex::bc2pos().

virtual void Bvert::bc2pos CWvec ,
mlib::Wpt pos
const [inline, virtual]
 

Implements Bsimplex.

Definition at line 421 of file bvert.H.

References _loc.

virtual Bsimplex* Bvert::bc2sim CWvec  )  const [inline, virtual]
 

Implements Bsimplex.

Definition at line 423 of file bvert.H.

int Bvert::border_degree  )  const [inline]
 

Definition at line 316 of file bvert.H.

References degree().

Referenced by get_ccw_edges(), is_border(), and LoopLoc::limit_normal().

Wpt Bvert::centroid  )  const
 

Definition at line 675 of file bvert.C.

References SimplexArray< L, T >::any_satisfy(), ARRAY< T >::empty(), SimplexArray< L, T >::filter(), get_manifold_edges(), get_nbrs(), loc(), nbr_loc(), and ARRAY< T >::num().

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

void Bvert::clear_flag02  )  [inline]
 

Definition at line 55 of file bvert.H.

References _adj, Bsimplex::clear_flag(), and Bedge_list::clear_flag02().

Referenced by Bvert_list::clear_flag02().

CCOLOR& Bvert::color  )  const [inline]
 

color

Definition at line 46 of file bvert.H.

References _color.

Referenced by VertColorStripCB::faceCB(), SmoothShadeStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), StripTexCoordsCB2::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(), LoopColor::get_val(), BMESH::operator=(), BMESH::put_colors(), and BMESH::write_colors().

virtual void Bvert::color_changed  )  [inline, virtual]
 

Reimplemented in Lvert.

Definition at line 370 of file bvert.H.

References Bsimplex::set_bit(), and VALID_COLOR_BIT.

Referenced by Lvert::color_changed(), and set_color().

Wvec Bvert::compute_normal const ARRAY< Bface * > &  faces  )  const
 

Referenced by norm(), and set_normal().

virtual void Bvert::crease_changed  )  [inline, virtual]
 

Reimplemented in Lvert.

Definition at line 369 of file bvert.H.

References Bsimplex::clear_bit(), and VALID_CREASE_BIT.

Referenced by Lvert::crease_changed(), Bedge::crease_changed(), operator+=(), and operator-=().

int Bvert::crease_degree  )  const [inline]
 

Definition at line 315 of file bvert.H.

References degree().

Referenced by is_crease(), and is_crease_end().

BMESHcurvature_data::curv_tensor_t Bvert::curv_tensor  )  const
 

Definition at line 866 of file bvert.C.

References Bsimplex::_mesh, BMESHcurvature_data::curv_tensor(), and BMESH::curvature().

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

Definition at line 132 of file bsimplex.H.

References Bsimplex::_data_list.

Referenced by num_data().

BMESHcurvature_data::dcurv_tensor_t Bvert::dcurv_tensor  )  const
 

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

int Bvert::degree CSimplexFilter f  )  const [inline]
 

Definition at line 313 of file bvert.H.

References _adj, and SimplexArray< L, T >::num_satisfy().

int Bvert::degree  )  const [inline]
 

number of edges

Definition at line 45 of file bvert.H.

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

Referenced by VertDegreeFilter::accept(), border_degree(), EdgeStrip::build_ccw_boundaries(), EdgeStrip::build_with_tips(), Lvert::color_changed(), crease_degree(), get_all_faces(), get_ccw_edges(), Bedge::is_chain_tip(), LoopLoc::limit_normal(), Lvert::mask_changed(), min_dot(), multi_degree(), Bface::ndc_walk(), EdgeStrip::next_edge(), order_edges_ccw(), p_degree(), polyline_degree(), rewind_cw(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), BMESH::split_faces(), stressed_degree(), HybridCalc< Wpt >::subdiv_val(), CatmullClarkCalc< Wpt >::subdiv_val(), Bedge::swapable(), BMESH::try_collapse_edge(), vert_normal(), Bface::vert_normal(), ~Bvert(), and Lvert::~Lvert().

void Bvert::degree_changed  )  [virtual]
 

Reimplemented in Lvert.

Definition at line 598 of file bvert.C.

References Bsimplex::clear_bit(), normal_changed(), star_changed(), and VALID_STRESSED_BIT.

Referenced by Lvert::degree_changed(), operator+=(), and operator-=().

BMESHcurvature_data::diag_curv_t Bvert::diag_curv  )  const
 

Definition at line 874 of file bvert.C.

References Bsimplex::_mesh, BMESH::curvature(), and BMESHcurvature_data::diag_curv().

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

Implements Bsimplex.

Definition at line 397 of file bvert.H.

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

Definition at line 216 of file bsimplex.H.

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

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

Definition at line 215 of file bsimplex.H.

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

Referenced by Bface::contains().

double Bvert::dist CBvert v  )  [inline]
 

Distance to another vert (ignoring modeling transform):.

Definition at line 111 of file bvert.H.

References loc().

Referenced by closest_vert().

Bedge* Bvert::e int  k  )  const [inline]
 

Definition at line 119 of file bvert.H.

References _adj.

Referenced by area_centroid(), avg_strong_len(), CatmullClarkCalc< Wpt >::crease_centroid(), UVdata::discontinuity_degree(), get_all_faces(), get_ccw_edges(), get_face(), BMESH::grow_mesh_equivalence_class(), is_adjacent_tri(), leading_ccw_edge(), leading_faces(), Bedge::local_search(), Lvert::mask_changed(), min_dot(), EdgeStrip::next_edge(), and qr_centroid().

Wpt Bvert::eye_local  )  const
 

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

Wvec Bvert::eye_vec  )  const [inline]
 

unit length vector to camera in local coordinates

Definition at line 346 of file bvert.H.

References eye_local(), loc(), and mlib::Vec3< V >::normalized().

Referenced by eye_vec_dot_norm().

double Bvert::eye_vec_dot_norm  )  const [inline]
 

dot product of unit length vector toward camera and surface normal (ignoring creases):

Definition at line 350 of file bvert.H.

References eye_vec(), and norm().

int Bvert::face_degree CSimplexFilter f  )  const
 

Definition at line 471 of file bvert.C.

References get_faces(), and SimplexArray< L, T >::num_satisfy().

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

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

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 Bvert::geometry_changed  )  [virtual]
 

Reimplemented from Bsimplex.

Reimplemented in Lvert.

Definition at line 569 of file bvert.C.

References _adj, Bsimplex::geometry_changed(), get_all_faces(), and ARRAY< T >::num().

Referenced by Lvert::geometry_changed(), and set_loc().

CBedge_list& Bvert::get_adj  )  const [inline]
 

Definition at line 51 of file bvert.H.

References _adj.

Referenced by FoldVertFilter::accept(), and BMESH::merge_vertex().

Bface_list Bvert::get_all_faces  )  const [inline]
 

Definition at line 981 of file bface.H.

Referenced by geometry_changed(), get_all_faces(), neighbors(), and norm().

void Bvert::get_all_faces ARRAY< Bface * > &  ret  )  const
 

Definition at line 397 of file bvert.C.

References add_uniquely(), degree(), e(), get_all_faces(), get_faces(), and is_manifold().

Referenced by ToonTexCB::faceCB(), XToonStripCB::faceCB(), BMESH::merge_vertex(), and UVdata::split().

Bedge_list Bvert::get_ccw_edges  )  const
 

Definition at line 141 of file bvert.C.

References _adj, border_degree(), ccw_face(), degree(), e(), err_msg(), leading_ccw_edge(), ARRAY< T >::num(), Bface::opposite_edge(), and Bedge::other_vertex().

Referenced by get_ccw_nbrs(), and order_edges_ccw().

Bvert_list Bvert::get_ccw_nbrs  )  const
 

Definition at line 187 of file bvert.C.

References get_ccw_edges(), and get_nbrs().

Referenced by LoopLoc::limit_normal().

Bface * Bvert::get_face  )  const [virtual]
 

Implements Bsimplex.

Definition at line 482 of file bvert.C.

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

Referenced by get_patch(), UVdata::get_uv(), UVdata::handle_subdiv_calc(), and leading_faces().

Bface_list Bvert::get_faces  )  const [inline]
 

Definition at line 989 of file bface.H.

Referenced by face_degree(), get_all_faces(), get_faces(), get_normals(), get_q_faces(), local_search(), num_tris(), set_normal(), star_area(), and star_sum_angles().

void Bvert::get_faces ARRAY< Bface * > &  ret  )  const
 

Definition at line 324 of file bvert.C.

References _adj, get_faces(), get_manifold_edges(), and is_manifold().

Referenced by VertUVTexture::draw(), UVdata::handle_subdiv_calc(), StripTexCoordsCB2::send_d(), StripTexCoordsCB3::send_d(), BMESH::split_faces(), and BMESH::split_tris().

Bedge_list Bvert::get_manifold_edges  )  const [inline]
 

Definition at line 206 of file bvert.H.

Referenced by area_centroid(), centroid(), get_faces(), get_p_nbrs(), get_primary_nbrs(), get_q_nbrs(), get_quad_faces(), next_border_edge_cw(), qr_centroid(), Lvert::set_mask(), and strong_edges().

void Bvert::get_manifold_edges ARRAY< Bedge * > &  ret  )  const
 

Definition at line 285 of file bvert.C.

References _adj, ARRAY< T >::clear(), Bedge_list::clear_flag02(), SimplexArray< L, T >::filter(), is_manifold(), mark_pushed_faces(), ARRAY< T >::num(), and try_get_nm_edge().

Referenced by CatmullClarkCalc< Wpt >::crease_centroid(), HybridCalc< Wpt >::hybrid_centroid(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), HybridCalc< Wpt >::subdiv_val(), CatmullClarkCalc< Wpt >::subdiv_val(), and CatmullClarkCalc< Wpt >::vcentroid().

void Bvert::get_nbrs ARRAY< Bvert * > &  nbrs  )  const
 

Definition at line 212 of file bvert.C.

References _adj, and get_nbrs().

Bvert_list Bvert::get_nbrs CBedge_list edges  )  const
 

Definition at line 111 of file bvert.C.

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

Referenced by get_ccw_nbrs(), get_nbrs(), get_p_nbrs(), and get_primary_nbrs().

void Bvert::get_normals ARRAY< Wvec > &  norms  )  const
 

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(), get_faces(), is_crease(), norm(), and ARRAY< T >::num().

Referenced by VertNormalsTexture::draw().

ARRAY<Bvert*> Bvert::get_p_nbrs  )  const [inline]
 

Definition at line 227 of file bvert.H.

Referenced by p_degree().

void Bvert::get_p_nbrs ARRAY< Bvert * > &  nbrs  )  const
 

Definition at line 226 of file bvert.C.

References get_manifold_edges(), and get_nbrs().

void Bvert::get_primary_nbrs ARRAY< Bvert * > &  nbrs  )  const
 

Definition at line 220 of file bvert.C.

References get_manifold_edges(), and get_nbrs().

void Bvert::get_q_faces ARRAY< Bface * > &  ret  )  const
 

Definition at line 360 of file bvert.C.

References add_quad_partners(), and get_faces().

void Bvert::get_q_nbrs ARRAY< Bvert * > &  q  )  const
 

Definition at line 70 of file bvert.C.

References ccw_face(), ARRAY< T >::clear(), get_manifold_edges(), Bface::is_quad(), ARRAY< T >::num(), and Bface::quad_opposite_vert().

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

void Bvert::get_quad_faces ARRAY< Bface * > &  ret  )  const
 

Definition at line 436 of file bvert.C.

References _adj, get_manifold_edges(), and is_manifold().

Referenced by num_quads(), and CatmullClarkCalc< Wpt >::smooth_centroid().

bool Bvert::has_color  )  const [inline]
 

Definition at line 48 of file bvert.H.

References Bsimplex::is_set(), and VALID_COLOR_BIT.

Referenced by VertColorStripCB::faceCB(), SmoothShadeStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), StripTexCoordsCB2::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(), BMESH::operator=(), Lvert::update_subdivision(), Ledge::update_subdivision(), and BMESH::write_colors().

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 Bvert::index  )  const [virtual]
 

Implements Bsimplex.

Definition at line 25 of file bvert.C.

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

Referenced by OBJReaderImpl::add_creases(), BMESHcurvature_data::compute_face_dcurv(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::compute_vertex_areas(), BMESHcurvature_data::compute_vertex_curvatures(), BMESHcurvature_data::compute_vertex_dcurv(), BMESHcurvature_data::curv_tensor(), BMESHcurvature_data::dcurv_tensor(), BMESHcurvature_data::diag_curv(), IVTriStripIterator::faceCB(), BMESHcurvature_data::k1(), BMESHcurvature_data::k2(), operator<<(), BMESH::operator=(), outputMesh(), BMESHcurvature_data::pdir1(), BMESHcurvature_data::pdir2(), BMESH::put_creases(), BMESH::put_faces(), BMESH::put_polylines(), BMESH::put_sec_faces(), BMESH::put_weak_edges(), and write_faces().

bool Bvert::is_adjacent CBvert v  )  const [inline]
 

Definition at line 177 of file bvert.H.

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

Referenced by BMESH::try_collapse_edge().

bool Bvert::is_border  )  const [inline]
 

Definition at line 323 of file bvert.H.

References border_degree().

Referenced by Lvert::set_mask(), and BMESH::try_collapse_edge().

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

Definition at line 101 of file bsimplex.H.

References Bsimplex::is_set().

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

bool Bvert::is_crease  )  const [inline]
 

Definition at line 334 of file bvert.H.

References CREASE_BIT, crease_degree(), Bsimplex::is_set(), and VALID_CREASE_BIT.

Referenced by get_normals(), Lvert::set_mask(), and Bface::vert_normal().

bool Bvert::is_crease_end  )  const [inline]
 

Definition at line 325 of file bvert.H.

References crease_degree().

Referenced by Bedge::is_crease_end().

bool Bvert::is_front_facing  )  const [inline]
 

returns true if surface normal (ignoring creases) points toward camera:

Definition at line 353 of file bvert.H.

References eye_local(), loc(), and norm().

Referenced by is_good().

bool Bvert::is_manifold  )  const [inline]
 

Definition at line 358 of file bvert.H.

References is_non_manifold().

Referenced by get_all_faces(), get_faces(), get_manifold_edges(), get_quad_faces(), LoopLoc::limit_normal(), p_degree(), CatmullClarkCalc< Wpt >::smooth_subdiv_val(), HybridCalc< Wpt >::subdiv_val(), and CatmullClarkCalc< Wpt >::subdiv_val().

bool Bvert::is_non_manifold  )  const [inline]
 

Definition at line 357 of file bvert.H.

References multi_degree().

Referenced by is_manifold(), and next_border_edge_cw().

bool Bvert::is_polyline_end  )  const [inline]
 

Definition at line 324 of file bvert.H.

References polyline_degree().

Referenced by BMESH::build_polyline_strips(), and Bedge::is_polyline_end().

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

Definition at line 114 of file bsimplex.H.

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

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

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

Definition at line 100 of file bsimplex.H.

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

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

bool Bvert::is_sharp_point double  sharpness = M_PI/2  ) 
 

Definition at line 645 of file bvert.C.

References star_sum_angles().

bool Bvert::is_stressed  )  const [inline]
 

Definition at line 327 of file bvert.H.

References Bsimplex::is_set(), STRESSED_BIT, stressed_degree(), and VALID_STRESSED_BIT.

double Bvert::k1  )  const
 

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

double Bvert::k2  )  const
 

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

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

CWpt& Bvert::loc  )  const [inline]
 

position (location)

Definition at line 40 of file bvert.H.

References _loc.

Referenced by FoldVertFilter::accept(), Bface::angle(), area_centroid(), Bface::bc2pos(), Bedge::bc2pos(), bface_bbox(), OctreeNode::build_octree(), centroid(), Bface::centroid(), check(), compute_edge_vectors(), compute_initial_vertex_coord_sys(), GLSphirTexCoordGen::compute_uv(), Bface::contains(), dist(), VertUVTexture::draw(), VertNormalsTexture::draw(), draw_edge(), draw_face(), GLStripCB::edgeCB(), ColorIDStripCB::edgeCB(), eye_vec(), ToonTexCB::faceCB(), VertNormStripCB::faceCB(), GLStripCB::faceCB(), StripColorCB::faceCB(), ToonTexCB_1D::faceCB(), VertColorStripCB::faceCB(), SmoothShadeStripCB::faceCB(), MSLDStripCB::faceCB(), LineDrawingGLSLMode::StripCB::faceCB(), LineDrawingVprogFprogNoSSDMode::StripCB::faceCB(), StripTexCoordsCB2::faceCB(), XToonStripCB::faceCB(), FlatShadeStripCB::faceCB(), StripTexCoordsCB3::faceCB(), CurvatureARBvpARBfpMultiTextureMode::StripCB::faceCB(), ColorIDStripCB::faceCB(), Bface::front_facing(), Bface::get_quad_pts(), HybridLoc::get_val(), CatmullClarkLoc::get_val(), LoopLoc::get_val(), Hybrid2Loc::get_val(), ZcrossPath::has_sil(), Bedge::interp(), is_front_facing(), LoopLoc::limit_normal(), Bedge::line(), Bedge::mid_pt(), nbr_loc(), Bface::nearest_pt(), VertFrame::o(), BMESH::operator=(), Bface::plane(), Bface::project_barycentric(), Bedge::project_barycentric(), Bvert_list::pts(), BMESH::put_vertices(), qinv_loc(), qr_centroid(), qr_delt(), Bface::quad_centroid(), Bface::quad_uv2loc(), BMESH::remove_duplicate_vertices(), Bedge::set_convex(), Bface::set_normal(), ZcrossPath::sil_walk_search(), Lvert::smooth_loc_from_parent(), UVdata::split(), BMESH::split_faces(), BMESH::split_tris(), ZcrossPath::start_sil(), Bedge::swapable(), BarycentricCoord::to_Wpt(), BMESH::triangulate(), Lvert::update_subdivision(), Bedge::vec(), GLStripCB::vertCB(), ColorIDStripCB::vertCB(), view_intersect(), visit(), Bface::volume_el(), weighted_vnorm(), Bedge::which_side(), BMESH::write_vertices(), and write_verts().

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

Implements Bsimplex.

Definition at line 817 of file bvert.C.

References _loc, get_faces(), and ARRAY< T >::num().

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

Bedge* Bvert::lookup_edge CBvert v  )  const [inline]
 

Definition at line 167 of file bvert.H.

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

Referenced by BMESH::add_edge(), BMESH::add_quad(), Lface::allocate_subdiv_elements(), Bface::check(), Bvert_list::forms_closed_chain(), Bface::get_quad_edges(), UVdata::get_quad_uvs(), Ledge::get_sub_faces(), get_subdiv_chain(), lookup_edge(), lookup_face(), Bface::opposite_quad_edge(), Bedge::redef2(), Bface::redefine(), Bedge::redefine(), Bedge::set_new_vertices(), BMESH::split_tris(), and Bedge::swapable().

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

double Bvert::min_dot  )  const [inline]
 

Definition at line 273 of file bvert.H.

References degree(), e(), and min().

double Bvert::min_edge_len  )  const [inline]
 

Definition at line 281 of file bvert.H.

References _adj, and Bedge_list::min_edge_len().

int Bvert::multi_degree  )  const [inline]
 

Definition at line 319 of file bvert.H.

References degree().

Referenced by is_non_manifold().

Bvert* Bvert::nbr CBedge e  )  const [inline]
 

Definition at line 126 of file bvert.H.

References Bedge::other_vertex().

Bvert* Bvert::nbr int  k  )  const [inline]
 

Definition at line 122 of file bvert.H.

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

Referenced by CatmullClarkCalc< Wpt >::crease_centroid(), BMESH::get_enclosed_verts(), get_nbrs(), get_nbrs(), BMESH::grow_mesh_equivalence_class(), is_near_tri(), Lvert::lv(), nbr_loc(), BMESH::split_faces(), and BMESH::try_collapse_edge().

Wpt Bvert::nbr_loc CBedge e  )  const [inline]
 

Definition at line 136 of file bvert.H.

References loc(), and nbr().

Wpt Bvert::nbr_loc int  k  )  const [inline]
 

Definition at line 135 of file bvert.H.

References loc(), and nbr().

Referenced by area_centroid(), centroid(), and qr_centroid().

NDCZpt Bvert::ndc  )  const
 

NDCZ position.

Definition at line 58 of file bvert.C.

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

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

Definition at line 182 of file bsimplex.H.

References Bsimplex::view_intersect().

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

Definition at line 232 of file bsimplex.H.

References Bsimplex::nearest_pt().

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

Definition at line 228 of file bsimplex.H.

References Bsimplex::nearest_pt().

virtual Wpt Bvert::nearest_pt mlib::CWpt p,
mlib::Wvec bc,
bool is_on_simplex
const [virtual]
 

Implements Bsimplex.

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

Implements Bsimplex.

Definition at line 846 of file bvert.C.

References _loc.

Bsimplex_list Bvert::neighbors  )  const [virtual]
 

Implements Bsimplex.

Definition at line 86 of file bvert.C.

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

Bedge * Bvert::next_border_edge_cw  ) 
 

Definition at line 382 of file bvert.C.

References _adj, get_manifold_edges(), is_non_manifold(), and next_border_edge_cw().

Referenced by next_border_vert_cw().

Bvert* Bvert::next_border_vert_cw  )  [inline]
 

Definition at line 247 of file bvert.H.

References next_border_edge_cw(), and Bedge::other_vertex().

Wvec Bvert::norm CSimplexFilter f  )  const
 

return a normal WRT faces accepted by the given filter:

Definition at line 524 of file bvert.C.

References compute_normal(), SimplexArray< L, T >::filter(), and get_all_faces().

CWvec& Bvert::norm  )  const [inline]
 

normal -- i.e. unit length average of adjacent faces: (uses angle-weighted face normals)

Definition at line 69 of file bvert.H.

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

Referenced by FoldVertFilter::accept(), BMESHcurvature_data::compute_face_curvatures(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::diagonalize_vertex_curvatures(), VertUVTexture::draw(), eye_vec_dot_norm(), get_normals(), is_front_facing(), StripTexCoordsCB2::send_d(), StripTexCoordsCB3::send_d(), vert_normal(), Bface::vert_normal(), view_intersect(), wnorm(), and write_verts().

void Bvert::normal_changed  )  [virtual]
 

Reimplemented from Bsimplex.

Reimplemented in Lvert.

Definition at line 607 of file bvert.C.

References Bsimplex::clear_bit(), Bsimplex::normal_changed(), VALID_NORMAL_BIT, and VALID_STRESSED_BIT.

Referenced by degree_changed(), Bface::geometry_changed(), and Lvert::normal_changed().

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

int Bvert::num_quads  )  const
 

Definition at line 450 of file bvert.C.

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

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

int Bvert::num_tris  )  const
 

Definition at line 459 of file bvert.C.

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

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

void Bvert::offset_loc CWvec v  )  [inline]
 

Definition at line 99 of file bvert.H.

References _loc, and set_loc().

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

Referenced by IDRefImage::is_face_visible().

bool Bvert::on_face CBface f  )  const [virtual]
 

Definition at line 492 of file bvert.C.

References Bface::contains().

void Bvert::operator+= Bedge e  ) 
 

Definition at line 34 of file bvert.C.

References _adj, crease_changed(), degree_changed(), and Bedge::is_crease().

int Bvert::operator-= Bedge e  ) 
 

Definition at line 43 of file bvert.C.

References _adj, crease_changed(), degree_changed(), err_msg(), and Bedge::is_crease().

bool Bvert::order_edges_ccw  ) 
 

Definition at line 193 of file bvert.C.

References _adj, degree(), get_ccw_edges(), Bsimplex::is_set(), ARRAY< T >::num(), Bsimplex::set_bit(), and VALID_CCW_BIT.

int Bvert::p_degree  )  const [inline]
 

Definition at line 233 of file bvert.H.

References degree(), get_p_nbrs(), is_manifold(), and ARRAY< T >::num().

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

Wvec Bvert::pdir1  )  const
 

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

Wvec Bvert::pdir2  )  const
 

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

PIXEL Bvert::pix  )  const [inline]
 

position in mlib::PIXEL coords

Definition at line 43 of file bvert.H.

References wloc().

Referenced by Bedge::pix_line().

int Bvert::polyline_degree  )  const [inline]
 

Definition at line 317 of file bvert.H.

References degree().

Referenced by is_polyline_end().

virtual void Bvert::project_barycentric CWpt ,
mlib::Wvec bc
const [inline, virtual]
 

Implements Bsimplex.

Definition at line 418 of file bvert.H.

References mlib::Vec3< V >::set().

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

Wpt Bvert::qr_centroid  )  const
 

Definition at line 720 of file bvert.C.

References Bedge_list::avg_len(), ccw_face(), e(), ARRAY< T >::empty(), get_manifold_edges(), Bface::is_quad(), Bedge::is_strong(), Bedge::length(), loc(), nbr_loc(), ARRAY< T >::num(), and Bface::quad_opposite_vert().

Referenced by qr_delt().

Wvec Bvert::qr_delt  )  const [inline]
 

Definition at line 297 of file bvert.H.

References loc(), and qr_centroid().

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 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(), color_changed(), Lvert::displaced_loc(), Bface::make_secondary(), BMESH::operator=(), order_edges_ccw(), UVMapping::recurse(), UVMapping::recurse_wrapping(), LMESH::remove_vertex(), MeshGlobal::select(), set_color(), Bedge::set_convex(), Lvert::set_mask(), Ledge::set_mask(), set_norm(), set_normal(), Bface::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 Bvert::set_color CCOLOR c,
double  a = 1
[inline]
 

Definition at line 103 of file bvert.H.

References _alpha, _color, color_changed(), Bsimplex::set_bit(), and VALID_COLOR_BIT.

Referenced by BMESH::operator=(), BMESH::read_colors(), 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().

void Bvert::set_loc CWpt p  )  [inline]
 

Definition at line 98 of file bvert.H.

References _loc, and geometry_changed().

Referenced by Lvert::fit_subdiv_offset(), offset_loc(), Lvert::set_offset(), Lvert::set_subdiv_base_loc(), transform(), and Lvert::update_subdivision().

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 Bvert::set_norm Wvec  n  )  [inline]
 

Definition at line 79 of file bvert.H.

References _norm, mlib::Vec3< V >::normalized(), Bsimplex::set_bit(), and VALID_NORMAL_BIT.

Referenced by OBJReaderImpl::set_vert_normals().

void Bvert::set_normal  )  [protected]
 

Definition at line 509 of file bvert.C.

References _adj, _norm, SimplexArray< L, T >::all_satisfy(), compute_normal(), get_faces(), Bsimplex::set_bit(), and VALID_NORMAL_BIT.

double Bvert::star_area  )  const
 

Definition at line 631 of file bvert.C.

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

virtual void Bvert::star_changed  )  [inline, virtual]
 

Definition at line 368 of file bvert.H.

References Bsimplex::clear_bit(), and VALID_CCW_BIT.

Referenced by degree_changed(), Bedge::operator+=(), and Bedge::operator-=().

double Bvert::star_sum_angles  )  const
 

Definition at line 617 of file bvert.C.

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

Referenced by is_sharp_point().

int Bvert::stressed_degree  )  const [inline]
 

Definition at line 318 of file bvert.H.

References degree().

Referenced by is_stressed().

Bedge_list Bvert::strong_edges  )  const [inline]
 

Definition at line 212 of file bvert.H.

References get_manifold_edges(), and Bedge_list::strong_edges().

Referenced by avg_strong_len().

void Bvert::transform CWtransf xf  )  [inline]
 

Definition at line 100 of file bvert.H.

References _loc, Bsimplex::notify_xform(), and set_loc().

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

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(), loc(), norm(), mlib::Vec3< V >::normalized(), and wloc().

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

double Bvert::wdist CBvert v  )  [inline]
 

Distance to another vert (computed in world space):.

Definition at line 114 of file bvert.H.

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

Wpt Bvert::wloc  )  const
 

mesh->xf * loc()

Definition at line 64 of file bvert.C.

References _loc, Bsimplex::_mesh, and BMESH::xform().

Referenced by closest_vert(), VertAttrib< UVpt, UVvec >::dFd(), ToonTexCB::faceCB(), ToonTexCB_1D::faceCB(), is_good(), pix(), BMESH::put_vertices(), GtexUtil::show(), GtexUtil::tri(), view_intersect(), Bedge::view_intersect(), wdist(), Bvert_list::wpts(), and BMESH::write_vertices().

Wvec Bvert::wnorm  )  const
 

normal transformed to world space xf.inverse().transpose() * norm

Definition at line 533 of file bvert.C.

References Bsimplex::_mesh, BMESH::inv_xform(), and norm().


Friends And Related Function Documentation

Patch * get_ctrl_patch CBsimplex s  )  [related, inherited]
 

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

Definition at line 662 of file patch.H.

Patch * get_patch CBsimplex s  )  [related, inherited]
 

Returns the Patch of a Bsimplex.

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

Definition at line 639 of file patch.H.

STDdstream& operator<< STDdstream d,
CBvert v
[friend]
 

Definition at line 385 of file bvert.H.

ostream& operator<< ostream &  os,
CBvert v
[friend]
 

Definition at line 373 of file bvert.H.

STDdstream& operator>> STDdstream d,
Bvert v
[friend]
 

Definition at line 388 of file bvert.H.

istream& operator>> istream &  is,
Bvert v
[friend]
 

Definition at line 378 of file bvert.H.


Member Data Documentation

Bedge_list Bvert::_adj [protected]
 

Definition at line 441 of file bvert.H.

Referenced by avg_edge_len(), clear_flag02(), degree(), e(), geometry_changed(), get_adj(), get_ccw_edges(), get_face(), get_faces(), get_manifold_edges(), get_nbrs(), get_quad_faces(), is_adjacent(), Lvert::le(), lookup_edge(), min_edge_len(), nbr(), neighbors(), next_border_edge_cw(), operator+=(), operator-=(), order_edges_ccw(), set_normal(), ~Bvert(), and Lvert::~Lvert().

double Bvert::_alpha [protected]
 

Definition at line 443 of file bvert.H.

Referenced by alpha(), and set_color().

COLOR Bvert::_color [protected]
 

Definition at line 442 of file bvert.H.

Referenced by color(), and set_color().

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

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

Wpt Bvert::_loc [protected]
 

Definition at line 440 of file bvert.H.

Referenced by Lvert::allocate_subdiv_vert(), bc2pos(), Lvert::displaced_loc(), loc(), local_search(), ndc(), nearest_pt_ndc(), offset_loc(), set_loc(), transform(), and wloc().

BMESH* Bsimplex::_mesh [protected, inherited]
 

Definition at line 247 of file bsimplex.H.

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

Wvec Bvert::_norm [protected]
 

Definition at line 444 of file bvert.H.

Referenced by norm(), set_norm(), and set_normal().

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

Definition at line 263 of file bsimplex.H.

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


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