#include <bsimplex.H>
Inheritance diagram for Bsimplex:
Public Types | |
enum | { FLAG_BITS = 2, SELECTED_BIT, NEXT_AVAILABLE_BIT } |
Public Member Functions | |
Bsimplex () | |
virtual | ~Bsimplex () |
void | set_mesh (BMESH *mesh) |
BMESH * | mesh () const |
uint | key () const |
virtual int | dim () const =0 |
virtual int | index () const =0 |
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) |
virtual void | geometry_changed () |
virtual void | normal_changed () |
virtual void | project_barycentric (CWpt &loc, mlib::Wvec &bc) const =0 |
virtual void | bc2pos (CWvec &bc, mlib::Wpt &pos) const =0 |
Wpt | bc2pos (mlib::CWvec &bc) const |
Wpt & | project_to_simplex (mlib::CWpt &pos, mlib::Wpt &ret) |
virtual Bsimplex * | bc2sim (CWvec &bc) const =0 |
virtual bool | view_intersect (CNDCpt &, Wpt &, double &, double &, Wvec &n) const =0 |
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 |
virtual Bsimplex_list | neighbors () const =0 |
double | dist (CWpt &p) const |
double | dist (CWpt &p, mlib::Wvec &bc) const |
virtual bool | local_search (Bsimplex *&end, Wvec &final_bc, CWpt &target, mlib::Wpt &reached, Bsimplex *repeater=0, int iters=30)=0 |
virtual NDCpt | nearest_pt_ndc (mlib::CNDCpt &, mlib::Wvec &, int &) const =0 |
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 |
virtual Bface * | get_face () const =0 |
Static Public Member Functions | |
static Bsimplex * | lookup (uint k) |
static void | clamp_barycentric (Wvec &bc) |
Protected Types | |
enum | { FLAG_MASK = ((1 << FLAG_BITS) - 1) } |
Protected Member Functions | |
uint | generate_key () |
Static Protected Member Functions | |
static uint | mask (uint b) |
Protected Attributes | |
uint | _key |
uint | _flag |
BMESH * | _mesh |
SimplexDataList * | _data_list |
Static Protected Attributes | |
static IDtable | _table |
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. | |
Classes | |
class | IDtable |
Definition at line 46 of file bsimplex.H.
|
Definition at line 54 of file bsimplex.H. |
|
Definition at line 265 of file bsimplex.H. |
|
Definition at line 62 of file bsimplex.H. |
|
Definition at line 10 of file bsimplex.C. References _data_list, and SimplexDataList::notify_simplex_deleted(). |
|
Definition at line 90 of file bsimplex.C. References _data_list, ARRAY< T >::add(), find_data(), and SimplexData::id(). Referenced by SimplexData::set(). |
|
Definition at line 146 of file bsimplex.H. References bc2pos(). |
|
Implemented in Bedge, Bface, and Bvert. Referenced by bc2pos(), DynamicSample::get_pos(), and project_to_simplex(). |
|
|
|
Definition at line 162 of file bsimplex.H. References max(), and mlib::Vec3< V >::set(). Referenced by project_to_simplex(). |
|
|
Definition at line 92 of file bsimplex.H. References _flag, and 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 set_flag(). |
|
Definition at line 132 of file bsimplex.H. References _data_list. Referenced by num_data(). |
|
Implemented in Bedge, Bface, and Bvert. Referenced by Bface::contains(), is_edge(), is_face(), is_vert(), and Bedge::notify_split(). |
|
Definition at line 216 of file bsimplex.H. References mlib::Point3< P, V >::dist(), and nearest_pt(). |
|
Definition at line 215 of file bsimplex.H. References mlib::Point3< P, V >::dist(), and nearest_pt(). Referenced by Bface::contains(). |
|
Definition at line 123 of file bsimplex.H. References find_data(). |
|
Definition at line 122 of file bsimplex.H. References find_data(). |
|
Definition at line 118 of file bsimplex.H. References _data_list, and SimplexDataList::get_item(). Referenced by add_simplex_data(), find_data(), and UVdata::lookup(). |
|
|
Definition at line 20 of file bsimplex.C. References _key, _table, err_msg(), and ARRAY< T >::num(). |
|
Reimplemented in Bedge, Bface, Bvert, Ledge, and Lvert. Definition at line 60 of file bsimplex.C. References _data_list, and SimplexDataList::notify_simplex_changed(). Referenced by Bvert::geometry_changed(), Bface::geometry_changed(), and Bedge::geometry_changed(). |
|
Implemented in Bedge, Bface, and Bvert. Referenced by get_bface(), IDRefImage::intersect(), and IDRefImage::intersect_sim(). |
|
Definition at line 96 of file bsimplex.H. References flag(), FLAG_BITS, and set_flag(). |
|
|
|
Definition at line 101 of file bsimplex.H. References is_set(). Referenced by BitClearSimplexFilter::accept(), LMESH::add_dirty_vert(), Bface::is_primary(), Lface::subdiv_dirty(), Lvert::update_subdivision(), and Ledge::update_subdivision(). |
|
Definition at line 114 of file bsimplex.H. References is_set(), and SELECTED_BIT. Referenced by SelectedSimplexFilter::accept(), MeshGlobal::deselect(), MeshGlobal::select(), MeshGlobal::toggle_select(), Bedge::~Bedge(), Bface::~Bface(), and Bvert::~Bvert(). |
|
|
Definition at line 72 of file bsimplex.H. References _key. Referenced by ColorIDStripCB::edgeCB(), ColorIDStripCB::faceCB(), and ColorIDStripCB::vertCB(). |
|
|
|
Definition at line 73 of file bsimplex.H. References _table, and ARRAY< T >::num(). Referenced by VisRefImage::debug(), and IDRefImage::simplex(). |
|
Definition at line 268 of file bsimplex.H. Referenced by clear_bit(), is_set(), and set_bit(). |
|
|
Definition at line 182 of file bsimplex.H. References view_intersect(). |
|
Definition at line 232 of file bsimplex.H. References nearest_pt(). |
|
Definition at line 228 of file bsimplex.H. References nearest_pt(). |
|
Implemented in Bedge, and Bvert. Referenced by dist(), Bface::near_pt(), nearest_pt(), and walk_to_target(). |
|
|
|
|
|
Reimplemented in Bedge, Bface, Bvert, Ledge, and Lvert. Definition at line 75 of file bsimplex.C. References _data_list, and SimplexDataList::notify_normal_changed(). Referenced by Bvert::normal_changed(), and Bedge::normal_changed(). |
|
Reimplemented in Bedge. Definition at line 39 of file bsimplex.C. References _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 _data_list, and SimplexDataList::notify_simplex_xformed(). Referenced by Bvert::transform(). |
|
Referenced by IDRefImage::is_face_visible(). |
|
Implemented in Bedge, Bface, and Bvert. Referenced by project_to_simplex(), ZXseg::set_bary(), and ZXseg::ZXseg(). |
|
Definition at line 152 of file bsimplex.H. References bc2pos(), clamp_barycentric(), and project_barycentric(). |
|
Definition at line 126 of file bsimplex.H. References _data_list, and ARRAY< T >::rem(). Referenced by SimplexData::set(). |
|
|
Definition at line 93 of file bsimplex.H. References _flag, and 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(), 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(). |
|
Definition at line 67 of file bsimplex.H. References _mesh. Referenced by BMESH::add_edge(), BMESH::add_face(), and BMESH::add_vertex(). |
|
Implemented in Bedge, Bface, and Bvert. Referenced by BMESH::intersect(), and near_point(). |
|
Definition at line 199 of file bsimplex.H. References nearest_pt(), and walk_to_target(). |
|
Referenced by walk_to_target(). |
|
Similar to get_patch(CBsimplex*), but returns the control Patch.
|
|
Returns the Patch of a Bsimplex.
|
|
|
Definition at line 246 of file bsimplex.H. Referenced by clear_bit(), clear_flag(), flag(), is_set(), set_bit(), and set_flag(). |
|
Definition at line 245 of file bsimplex.H. Referenced by generate_key(), and key(). |
|
|
Definition at line 263 of file bsimplex.H. Referenced by generate_key(), and lookup(). |