#include <bmesh.H>
Inheritance diagram for BMESH:
Public Types | |
enum | mesh_type_t { EMPTY_MESH = 0, POINTS = 1, POLYLINES = 2, OPEN_SURFACE = 4, CLOSED_SURFACE = 8 } |
various types of meshes: More... | |
enum | change_t { TOPOLOGY_CHANGED = 0, PATCHES_CHANGED, TRIANGULATION_CHANGED, VERT_POSITIONS_CHANGED, VERT_COLORS_CHANGED, CREASES_CHANGED, RENDERING_CHANGED, NO_CHANGE } |
various ways a mesh can change: More... | |
enum | ref_img_t { REF_IMG_NONE = 0, REF_IMG_ID = 1, REF_IMG_COLOR = 2, REF_IMG_COLOR_2 = 4, REF_IMG_ID_PRE1 = 8, REF_IMG_ID_PRE2 = 16, REF_IMG_ID_PRE3 = 32, REF_IMG_ID_PRE4 = 64, REF_IMG_TEX_MEM = 128 } |
Public Member Functions | |
BMESH (int num_v=0, int num_e=0, int num_f=0) | |
BMESH (CBMESH &m) | |
virtual | ~BMESH () |
DEFINE_RTTI_METHODS3 ("BMESH", BMESH *, BODY, CDATA_ITEM *) | |
virtual BMESH & | operator= (CBMESH &m) |
virtual BMESH & | operator= (BODY &b) |
CBvert_list & | verts () const |
Vertices of this mesh. | |
CBedge_list & | edges () const |
Edges in this mesh. | |
CBface_list & | faces () const |
Triangular faces in this mesh. | |
virtual CBvert_list & | cur_verts () const |
Vertices ofthe current subdivision mesh, if any. | |
virtual CBedge_list & | cur_edges () const |
Edges ofthe current subdivision mesh, if any. | |
virtual CBface_list & | cur_faces () const |
Faces ofthe current subdivision mesh, if any. | |
void | begin_index () |
Turn on indexing in vert, edge and face lists. | |
void | end_index () |
Turn off indexing in vert, edge and face lists. | |
int | nverts () const |
Number of vertices. | |
int | nedges () const |
Number of edges. | |
int | nfaces () const |
Number of faces. | |
int | npatches () const |
Number of patches. | |
bool | empty () const |
Is the vertex list empty? | |
Bvert * | bv (int k) const |
Shorthand for accessing kth vertex. | |
Bedge * | be (int k) const |
Shorthand for accessing kth edge. | |
Bface * | bf (int k) const |
Shorthand for accessing kth face. | |
Patch * | patch (int k) const |
Shorthand for accessing kth patch. | |
Bedge * | lookup_edge (const Point2i &p) |
Bface * | lookup_face (const Point3i &p) |
CPatch_list & | patches () const |
List of patches. | |
BMESHdrawable_array & | drawables () |
GEOM * | geom () const |
virtual void | set_geom (GEOM *geom) |
CWtransf & | xform () const |
Transformation from object to world coordinates for this mesh. | |
CWtransf & | inv_xform () const |
Transformation from world to object coordinates for this mesh. | |
CWtransf & | obj_to_ndc () const |
CWpt & | eye_local () const |
Camera (eye) position in this object's coordinate system. | |
void | enable_draw () |
void | disable_draw () |
bool | draw_enabled () const |
virtual void | changed (change_t) |
virtual void | changed () |
virtual void | set_render_style (Cstr_ptr &s) |
virtual void | push_render_style (Cstr_ptr &s) |
virtual void | pop_render_style () |
virtual Cstr_ptr & | render_style () const |
void | toggle_render_style (Cstr_ptr &s) |
int | tex_already_exists (Cstr_ptr &name) const |
Does a Patch with a current GTexture named name already exist in this mesh? | |
bool | has_vert_colors () const |
Do the vertices have colors? | |
int | get_sil_strips () |
extracts silhouette edge strips | |
int | build_sil_strips () |
distributes them to patches | |
EdgeStrip | sil_strip () |
extract silhouette edge strip and return a copy of it: | |
int | get_zcross_strips () |
int | build_zcross_strips () |
int | build_polyline_strips () |
int | build_vert_strips () |
virtual void | clear_creases () |
void | compute_creases () |
EdgeStrip | get_edge_strip (CSimplexFilter &edge_filter) const |
EdgeStrip * | new_edge_strip (CSimplexFilter &edge_filter) |
EdgeStrip * | get_crease_strip () const |
EdgeStrip * | get_border_strip () const |
Bedge_list | get_edges (CSimplexFilter &edge_filter) const |
CBedge_list & | get_creases () const |
CBedge_list & | get_borders () const |
virtual Bvert * | new_vert (CWpt &p=mlib::Wpt::Origin()) const |
Convert the given world-space point to a vertex. | |
virtual Bedge * | new_edge (Bvert *u, Bvert *v) const |
NB: caller should first check u,v doesn't have an edge already. | |
virtual Bface * | new_face (Bvert *u, Bvert *v, Bvert *w, Bedge *e, Bedge *f, Bedge *g) const |
NB: caller should first check requested face doesn't exist already. | |
virtual TriStrip * | new_tri_strip () const |
virtual EdgeStrip * | new_edge_strip () const |
virtual VertStrip * | new_vert_strip () const |
virtual Patch * | new_patch () |
bool | unlist (Patch *p) |
Remove the Patch from the patch list; returns 1 on success. | |
void | make_patch_if_needed () |
virtual Bvert * | add_vertex (Bvert *v) |
Include the given vertex in this mesh and set the vertex's mesh to this one. | |
virtual Bvert * | add_vertex (CWpt &loc=mlib::Wpt::Origin()) |
Include the given world-space point as a vertex in this mesh and set the vertex's mesh to this one. | |
virtual Bedge * | add_edge (Bedge *e) |
Add the given edge to this mesh's edge-list, setting the edge's mesh to this one. | |
virtual Bedge * | add_edge (Bvert *u, Bvert *v) |
Add the edge between the two given vertices to this mesh's list, checking error conditions and setting the edge's mesh to this one. | |
virtual Bedge * | add_edge (int i, int j) |
Add edge between the ith and jth vertices, checking for error conditions, and set the edge's mesh to this one. | |
virtual Bface * | add_face (Bface *f, Patch *p=0) |
Add the given face to the face-list in this mesh, and set the face's mesh to this one. Set the face to use the given patch (if any). | |
virtual Bface * | add_face (Bvert *u, Bvert *v, Bvert *w, Patch *p=0) |
virtual Bface * | add_face (int i, int j, int k, Patch *p=0) |
Bvert_list | add_verts (CWpt_list &pts) |
Add the given list of world-space points, as vertices, to this mesh, set their mesh to this one. Return this list as a vertex-list. | |
Bface * | add_face (Bvert *u, Bvert *v, Bvert *w, CUVpt &a, mlib::CUVpt &b, mlib::CUVpt &c, Patch *p=0) |
Bface * | add_face (int i, int j, int k, CUVpt &a, mlib::CUVpt &b, mlib::CUVpt &c, Patch *p=0) |
Bface * | add_quad (Bvert *u, Bvert *v, Bvert *w, Bvert *x, Patch *p=0) |
Creates the quad from the given vertices and patch, if possible, and returns the quad rep, or nil. | |
Bface * | add_quad (Bvert *u, Bvert *v, Bvert *w, Bvert *x, CUVpt &a, mlib::CUVpt &b, mlib::CUVpt &c, mlib::CUVpt &d, Patch *p=0) |
Creates the quad if possible, and returns the quad rep, or nil:. | |
Bface * | add_quad (int i, int j, int k, int l, Patch *p=0) |
Creates the quad from the ith, jth, kth and lth vertices in this mesh's vertex list, if possible, and returns the quad rep, or nil. | |
Bface * | add_quad (int i, int j, int k, int l, CUVpt &a, mlib::CUVpt &b, mlib::CUVpt &c, mlib::CUVpt &d, Patch *p=0) |
Creates the quad if possible, and returns the quad rep, or nil:. | |
virtual void | delete_vert (Bvert *v) const |
Simply releases memory allocated to the vertex by calling delete. | |
virtual void | delete_edge (Bedge *e) const |
Simply releases memory allocated to the edge by calling delete. | |
virtual void | delete_face (Bface *f) const |
Simply releases memory allocated to the face by calling delete. | |
virtual void | delete_elements () |
virtual void | delete_patches () |
virtual int | remove_face (Bface *f) |
Removes the given face from this mesh's face-list, and releases memory allocated to it. | |
virtual int | remove_edge (Bedge *e) |
Removes the given edge from this mesh's edge-list, and releases memory allocated to it. | |
virtual int | remove_vertex (Bvert *v) |
Removes the given vertex from this mesh's vertex-list, and releases memory allocated to it. | |
virtual int | remove_faces (CBface_list &faces) |
Remove each face in the list given and release memory allocated to it. | |
virtual int | remove_edges (CBedge_list &edges) |
Remove each edge in the list given and release memory allocated to it. | |
virtual int | remove_verts (CBvert_list &verts) |
Remove each vertex in the list given and release memory allocated to it. | |
virtual void | Cube (CWpt &=mlib::Wpt(0, 0, 0), mlib::CWpt &=mlib::Wpt(1, 1, 1), Patch *p=0) |
Create a cube with the two given points as the body diagonal, and apply the patch if given (default if not). | |
virtual void | Octahedron (CWpt &=mlib::Wpt(0,-M_SQRT2, 0), CWpt &=mlib::Wpt(1, 0, 1), CWpt &=mlib::Wpt(1, 0,-1), CWpt &=mlib::Wpt(-1, 0,-1), CWpt &=mlib::Wpt(-1, 0, 1), CWpt &=mlib::Wpt(0, M_SQRT2, 0), Patch *p=0) |
Create an octahedron with the given points, and apply the patch if given (default if not). | |
virtual void | Icosahedron (Patch *p=0) |
Create a canonical icosahedron and apply the patch if given (default if not). | |
virtual void | Sphere (Patch *p=0) |
virtual double | volume () const |
Sum up the volume using the divergence theorem. | |
virtual double | area () const |
Sum of areas of all faces. | |
double | pix_size () const |
Approximate pixel extent based on bounding box. | |
void | compute_pix_size () |
void | recenter () |
double | avg_len () const |
double | z_span (double &zmin, double &zmax) const |
double | z_span () const |
int | type () const |
bool | is_points () const |
bool | is_polylines () const |
bool | is_open_surface () const |
bool | is_closed_surface () const |
bool | is_surface () const |
bool | fix_orientation () |
void | reverse () |
Reverse orientation of all the faces. | |
void | get_enclosed_verts (CXYpt_list &boundary, Bface *startface, ARRAY< Bvert * > &ret) |
void | remove_duplicate_vertices (bool keep_vert=1) |
ARRAY< Bface_list > | get_components () const |
Returns separate Bface_lists, one for each connected component of the mesh:. | |
virtual ARRAY< BMESH * > | split_components () |
split mesh into connected components: | |
virtual void | kill_component (Bvert *start_vert) |
wipe out a connected component containing the start vertex: | |
int | try_swap_edge (Bedge *edge, bool favor_deg_6=0) |
int | try_collapse_edge (Bedge *e, Bvert *v) |
void | merge_vertex (Bvert *v, Bvert *u, bool keep_vert=0) |
Bvert * | split_edge (Bedge *edge, CWpt &new_pt) |
Bvert * | split_edge (Bedge *edge) |
Bvert * | split_face (Bface *face, CWpt &pt) |
int | split_faces (CXYpt_list &, ARRAY< Bvert * > &, Bface *=0) |
void | split_tris (Bface *start_face, Wplane plane, ARRAY< Bvert * > &nv) |
virtual int | subdiv_level () const |
The level of this mesh in the hierarchy (0 == control mesh, next level is 1, etc.):. | |
virtual int | cur_level () const |
Level of "current" mesh in the hierarchy:. | |
virtual int | edit_level () const |
Level of "active" mesh in the hierarchy:. | |
int | rel_cur_level () const |
Same as above, but relative to the level of this mesh:. | |
int | rel_edit_level () const |
virtual void | inc_edit_level () |
virtual void | dec_edit_level () |
Bface * | pick_face (CWline &world_ray, mlib::Wpt &world_hit) const |
virtual int | size () const |
Return the approximate memory used for this mesh. | |
virtual void | print () const |
int | set_crease (int i, int j) const |
int | set_weak_edge (int i, int j) const |
int | set_patch_boundary (int i, int j) const |
bool | valid_vert_indices (int i, int j) const |
bool | valid_vert_indices (int i, int j, int k) const |
bool | valid_vert_indices (int i, int j, int k, int l) const |
bool | read_file (char *filename) |
virtual int | read_update_file (char *filename) |
virtual int | read_update_stream (istream &is) |
virtual int | read_stream (istream &is) |
virtual int | read_blocks (istream &is) |
virtual int | read_header (istream &is) |
virtual int | read_vertices (istream &is) |
virtual int | read_faces (istream &is) |
virtual int | read_creases (istream &is) |
virtual int | read_polylines (istream &is) |
virtual int | read_weak_edges (istream &is, str_list &leftover) |
virtual int | read_colors (istream &is, str_list &leftover) |
virtual int | read_texcoords2 (istream &is, str_list &leftover) |
virtual int | read_patch (istream &is, str_list &leftover) |
virtual int | read_include (istream &is, str_list &leftover) |
virtual int | write_file (char *filename) |
virtual int | write_stream (ostream &os) |
virtual int | write_vertices (ostream &os) const |
virtual int | write_faces (ostream &os) const |
virtual int | write_creases (ostream &os) const |
virtual int | write_weak_edges (ostream &os) const |
virtual int | write_polylines (ostream &os) const |
virtual int | write_colors (ostream &os) const |
virtual int | write_texcoords2 (ostream &os) const |
virtual int | write_patches (ostream &os) const |
virtual ref_img_t | use_ref_image () |
virtual int | draw_vis_ref () |
virtual int | draw_ref_img (ref_img_t) |
virtual int | draw_final (CVIEWptr &v) |
virtual BODYptr | copy (int make_new=1) const |
virtual int | intersect (RAYhit &, CWtransf &, mlib::Wpt &, mlib::Wvec &, double &d, double &, XYpt &) const |
virtual int | draw (CVIEWptr &) |
virtual void | transform (CWtransf &xform, CMOD &m=MOD()) |
virtual BODY * | subtract (BODYptr &) |
virtual BODY * | combine (BODYptr &) |
virtual BODY * | intersect (BODYptr &) |
virtual void | set_vertices (CWpt_list &) |
virtual CWpt_list & | vertices () |
virtual CEDGElist & | body_edges () |
virtual CBBOX & | get_bb () |
virtual void | triangulate (Wpt_list &verts, FACElist &faces) |
virtual CTAGlist & | tags () const |
virtual void | put_vertices (TAGformat &) const |
virtual void | put_faces (TAGformat &) const |
virtual void | put_uvfaces (TAGformat &) const |
virtual void | put_creases (TAGformat &) const |
virtual void | put_polylines (TAGformat &) const |
virtual void | put_weak_edges (TAGformat &) const |
virtual void | put_sec_faces (TAGformat &) const |
virtual void | put_colors (TAGformat &) const |
virtual void | put_texcoords2 (TAGformat &) const |
virtual void | put_render_style (TAGformat &) const |
virtual void | put_patches (TAGformat &) const |
virtual void | get_vertices (TAGformat &) |
virtual void | get_faces (TAGformat &) |
virtual void | get_uvfaces (TAGformat &) |
virtual void | get_creases (TAGformat &) |
virtual void | get_polylines (TAGformat &) |
virtual void | get_weak_edges (TAGformat &) |
virtual void | get_sec_faces (TAGformat &) |
virtual void | get_colors (TAGformat &) |
virtual void | get_texcoords2 (TAGformat &) |
virtual void | get_render_style (TAGformat &) |
virtual void | get_patches (TAGformat &) |
virtual DATA_ITEM * | dup () const |
virtual STDdstream & | format (STDdstream &d) const |
virtual STDdstream & | decode (STDdstream &d) |
BMESHcurvature_data * | curvature () const |
uint | version () const |
Bedge * | nearest_edge (CWpt &) |
Bvert * | nearest_vert (CWpt &) |
virtual double | nearest (mlib::CWtransf &, mlib::CWpt &, double) |
virtual int | intersect (RAYhit &r, mlib::CWtransf &xf, mlib::Wpt &near, mlib::Wvec &n, double &d, double &d2d, mlib::XYpt &uvc) const =0 |
int | intersect (RAYhit &r, mlib::CWtransf &xf) const |
int | intersect (RAYhit &r) const |
virtual void | transform (mlib::CWtransf &xform, CMOD &)=0 |
virtual void | set_vertices (mlib::CWpt_list &)=0 |
virtual int | uv_able () const |
METHS: Texture stuff. | |
virtual int | can_set_uv () const |
virtual void | set_texcoords (mlib::CXYpt_list &) |
virtual mlib::CXYpt_list & | get_texcoords () |
virtual BODYptr | body_copy (int y=1) |
bool | bb_valid () const |
DEFINE_RTTI_METHODS2 ("BODY", DATA_ITEM, CDATA_ITEM *) | |
void | Own () const |
void | Free () const |
int | Lock () |
void | Unlock () |
int | Unique () const |
virtual void | add_tags () const |
virtual void | recompute () |
virtual STAT_STR_RET | class_name () const =0 |
virtual int | is_of_type (Cstr_ptr &t) const |
virtual int | draw_id_ref () |
virtual int | draw_id_ref_pre1 () |
virtual int | draw_id_ref_pre2 () |
virtual int | draw_id_ref_pre3 () |
virtual int | draw_id_ref_pre4 () |
virtual int | draw_color_ref () |
virtual int | draw_color_ref_2 () |
virtual int | draw_tex_mem_ref () |
virtual int | draw_ref_img (ref_img_t t) |
Static Public Member Functions | |
static BMESHptr | merge (BMESHptr m1, BMESHptr m2) |
static void | toggle_freeze_sils () |
static void | toggle_random_sils () |
static void | set_center_of_interest (BMESH *m) |
static BMESH * | center_of_interest () |
static bool | is_center_of_interest (BMESH *m) |
static BMESHptr | read_jot_stream (istream &is, BMESHptr ret=0) |
static BMESHptr | read_jot_file (char *filename, BMESHptr ret=0) |
static void | grow_oriented_face_lists (Bface *, ARRAY< Bface * > &, ARRAY< Bface * > &) |
static bool | show_secondary_faces () |
static void | toggle_show_secondary_faces () |
static BODYptr | cube () |
METHS: Static factory methods. | |
static BODYptr | cone () |
static BODYptr | cylinder () |
static BODYptr | sphere () |
static BODYptr | torus (double radius) |
static BODYptr | trunc_cone (double radius) |
static BODYptr | revolve (mlib::CWpt_list &profile, BODYptr &ob) |
static BODYptr | extrusion (mlib::CWpt_list &profile, BODYptr &ob) |
static BODYptr | extrusion (mlib::CWpt_list &profile, mlib::CWpt_list &path, BODYptr &ob) |
static BODYptr | trunc_pyr (CMVEC2 &taper, CMVEC2 &shear) |
static int | set_factory (BODY *b) |
static str_ptr | base_name () |
static STAT_STR_RET | static_name () |
static STAT_STR_RET | static_name () |
static int | add_decoder (Cstr_ptr &d, DATA_ITEM *di, int copy=-1) |
static void | set_default_decoder (DATA_ITEM *(*d)(STDdstream &, Cstr_ptr &, DATA_ITEM *)) |
static DATA_ITEM * | Decode (STDdstream &d, int DelayDecoding=0) |
static DATA_ITEM * | lookup (Cstr_ptr &d) |
static HASH * | di_hash () |
Static Public Attributes | |
static bool | _freeze_sils = false |
static bool | _random_sils = !Config::get_var_bool("NO_RANDOM_SILS",false) |
Protected Member Functions | |
int | check_type () |
recalculate the mesh type | |
void | clean_patches () |
bool | remove_patch (int k) |
virtual void | _merge (BMESH *mesh) |
internal version of merge(), after error checking: | |
virtual void | send_update_notification () |
void | grow_mesh_equivalence_class (Bvert *, ARRAY< Bface * > &, ARRAY< Bedge * > &, ARRAY< Bvert * > &) |
virtual BODYptr | create_cube () |
virtual BODYptr | create_cone () |
virtual BODYptr | create_cylinder () |
virtual BODYptr | create_sphere () |
virtual BODYptr | create_torus (double) |
virtual BODYptr | create_trunc_cone (double) |
virtual BODYptr | create_revolve (mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_extrusion (mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_extrusion (mlib::CWpt_list &, mlib::CWpt_list &, BODYptr &) |
virtual BODYptr | create_trunc_pyr (CMVEC2 &, CMVEC2 &) |
Protected Attributes | |
Bvert_list | _verts |
list of vertices | |
Bedge_list | _edges |
list of edges | |
Bface_list | _faces |
list of faces | |
Patch_list | _patches |
list of patches | |
uint | _version |
increment to invalidate display lists | |
ThreadMutex | _patch_mutex |
ZcrossPath | _zx_sils |
zero-cross sil-strip class | |
EdgeStrip | _sils |
silhouette edge strips | |
EdgeStrip * | _creases |
crease edge strips | |
EdgeStrip * | _borders |
border edge strips | |
EdgeStrip * | _polylines |
pointer to allow subclasses | |
VertStrip * | _lone_verts |
pointer to allow subclasses | |
uint | _sil_stamp |
uint | _zx_stamp |
BMESHdrawable_array | _drawables |
list of drawable things | |
LIST< str_ptr > | _render_style |
name of render style to use (if any) | |
bool | _draw_enabled |
flag to enable/disable drawing | |
double | _pix_size |
approx pix size | |
uint | _pix_size_stamp |
for caching per-frame | |
int | _type |
type of surface from enum above | |
bool | _type_valid |
true if _type has been set | |
Wpt_list | _vert_locs |
BODYptr | _body |
GEOM * | _geom |
Wtransf | _pm |
object space to NDCZ space transform | |
uint | _pm_stamp |
frame number last updated. | |
Wpt | _eye_local |
camera location in local coordinates | |
uint | _eye_local_stamp |
frame number last updated. | |
Wtransf | _obj_to_world |
Wtransf | _world_to_obj |
BMESHcurvature_data * | _curv_data |
double | _avg_edge_len |
bool | _avg_edge_len_valid |
int | _edit_level |
int | _tris |
BBOX | _bb |
int | _copy |
TAGlist | _DEFINERtags |
Static Protected Attributes | |
static TAGlist * | _bmesh_tags = NULL |
Full set of tags. | |
static TAGlist * | _bmesh_update_tags = NULL |
Partial set of tags used for loading frames of animation (e.g. just the vertices change position). | |
static BMESH * | _center_of_interest = 0 |
static bool | _show_secondary_faces = false |
static BODY * | _factory = 0 |
static str_ptr | _base_name = BMESH::static_name() |
static TAGlist | _body_tags |
Definition at line 68 of file bmesh.H.
|
various ways a mesh can change:
|
|
various types of meshes:
|
|
Definition at line 25 of file ref_img_client.H. |
|
Definition at line 61 of file bmesh.C. References _drawables, begin_index(), and ARRAY< T >::set_unique(). |
|
Definition at line 89 of file bmesh.C. References _drawables, begin_index(), and ARRAY< T >::set_unique(). |
|
Definition at line 114 of file bmesh.C. References BMESHobs::broadcast_delete(), debug, delete_elements(), end_index(), err_msg(), Config::get_var_bool(), is_center_of_interest(), and set_center_of_interest(). |
|
internal version of merge(), after error checking:
Reimplemented in LMESH. Definition at line 4088 of file bmesh.C. References BODY::_bb, _body, _drawables, BODY::_edges, _edges, _faces, _patches, _type, _type_valid, _version, _vert_locs, _verts, SimplexArray< L, T >::append(), BMESHobs::broadcast_merge(), changed(), mlib::Pointlist< L, P, V, S >::clear(), ARRAY< T >::clear(), CLOSED_SURFACE, ARRAY< T >::empty(), ARRAY< T >::last(), OPEN_SURFACE, ARRAY< T >::pop(), BBOX::reset(), mlib::EDGElist::reset(), Patch::set_mesh(), and TOPOLOGY_CHANGED. Referenced by LMESH::_merge(). |
|
Definition at line 41 of file data_item.C. References DATA_ITEM::_hash, and HASH::add(). Referenced by JOTvar< OBJ, TYPE >::check_inst_name(), FUNC_ITEM::FUNC_ITEM(), hashdist::hashdist(), JOTvar< OBJ, TYPE >::JOTvar(), and DISTRIB::notify_exist(). |
|
Add edge between the ith and jth vertices, checking for error conditions, and set the edge's mesh to this one.
Definition at line 204 of file bmesh.C. References _verts, add_edge(), err_msg(), and valid_vert_indices(). |
|
Add the edge between the two given vertices to this mesh's list, checking error conditions and setting the edge's mesh to this one.
Definition at line 188 of file bmesh.C. References add_edge(), err_msg(), Bvert::lookup_edge(), Bsimplex::mesh(), and new_edge(). |
|
Add the given edge to this mesh's edge-list, setting the edge's mesh to this one.
Definition at line 177 of file bmesh.C. References _edges, err_msg(), and Bsimplex::set_mesh(). Referenced by add_edge(), add_face(), Ledge::allocate_subdiv_elements(), get_polylines(), operator=(), read_polylines(), split_components(), split_edge(), and split_face(). |
|
Definition at line 306 of file bmesh.C. References _verts, add_face(), and UVdata::set(). |
|
Definition at line 296 of file bmesh.C. References add_face(), and UVdata::set(). |
|
Add the triangular face defined by the ith, jth and kth vertices in this mesh's vertex-list, creating the necessary edges and checking for error conditions. Definition at line 285 of file bmesh.C. References _verts, add_face(), err_msg(), and valid_vert_indices(). |
|
Add the triangular face defined by the given vertices and patch (if any), creating the necessary edges and checking for error conditions. Definition at line 251 of file bmesh.C. References add_edge(), add_face(), err_msg(), lookup_face(), Bsimplex::mesh(), and new_face(). |
|
Add the given face to the face-list in this mesh, and set the face's mesh to this one. Set the face to use the given patch (if any).
Definition at line 225 of file bmesh.C. References _faces, Patch::add(), err_msg(), Patch::mesh(), and Bsimplex::set_mesh(). Referenced by add_face(), add_quad(), OBJReaderImpl::add_tri(), add_tri(), Lface::gen_child_face(), get_faces(), get_uvfaces(), Icosahedron(), Octahedron(), operator=(), read_faces(), Sphere(), split_components(), split_edge(), and split_face(). |
|
Creates the quad if possible, and returns the quad rep, or nil:.
Definition at line 374 of file bmesh.C. References _verts, add_quad(), and valid_vert_indices(). |
|
Creates the quad from the ith, jth, kth and lth vertices in this mesh's vertex list, if possible, and returns the quad rep, or nil.
Definition at line 365 of file bmesh.C. References _verts, add_quad(), and valid_vert_indices(). |
|
Creates the quad if possible, and returns the quad rep, or nil:.
Definition at line 351 of file bmesh.C. References add_quad(), err_msg(), and UVdata::set(). |
|
Creates the quad from the given vertices and patch, if possible, and returns the quad rep, or nil. Create the quad defined as follows: x -------- w | / | | / | | / | | / | | / | u -------- v u,v,w,x should form a cycle, i.e., (u,v), (v,w), (w,x) and (x,u) should the edges. {u,v,w} and {w,x,u} are the faces created and added. Definition at line 331 of file bmesh.C. References add_face(), err_msg(), Bface::is_quad(), Bvert::lookup_edge(), Bface::quad_rep(), Bsimplex::set_bit(), and Bedge::WEAK_BIT. Referenced by add_quad(), get_faces(), get_uvfaces(), and Sphere(). |
|
Definition at line 205 of file data_item.H. |
|
Include the given world-space point as a vertex in this mesh and set the vertex's mesh to this one.
Reimplemented in LMESH. Definition at line 162 of file bmesh.C. References add_vertex(), and new_vert(). |
|
Include the given vertex in this mesh and set the vertex's mesh to this one.
Reimplemented in LMESH. Definition at line 151 of file bmesh.C. References _verts, err_msg(), and Bsimplex::set_mesh(). Referenced by LMESH::add_vertex(), add_vertex(), OBJReaderImpl::add_vertices(), add_verts(), get_vertices(), Icosahedron(), Octahedron(), operator=(), read_vertices(), Sphere(), split_components(), split_edge(), and split_face(). |
|
Add the given list of world-space points, as vertices, to this mesh, set their mesh to this one. Return this list as a vertex-list.
Definition at line 168 of file bmesh.C. References add_vertex(). |
|
Sum of areas of all faces.
Reimplemented in LMESH. Definition at line 628 of file bmesh.C. References _faces, and ARRAY< T >::num(). |
|
Definition at line 4016 of file bmesh.C. References _avg_edge_len, _avg_edge_len_valid, _edges, ARRAY< T >::empty(), and ARRAY< T >::num(). Referenced by LineDrawingGLSLMode::setup_for_drawing_inside_dl(), LineDrawingVprogFprogNoSSDMode::setup_for_drawing_outside_dl(), and CurvatureARBvpARBfpMultiTextureMode::setup_for_drawing_outside_dl(). |
|
Definition at line 141 of file body.H. References BODY::_base_name. |
|
Definition at line 137 of file body.H. References BODY::_bb, and BBOX::valid(). |
|
Shorthand for accessing kth edge.
Definition at line 150 of file bmesh.H. References _edges. Referenced by OBJReaderImpl::add_creases(), check_type(), clear_creases(), compute_creases(), get_sec_faces(), operator=(), put_creases(), put_polylines(), put_weak_edges(), recreate_creases(), write_creases(), write_polylines(), and write_weak_edges(). |
|
Turn on indexing in vert, edge and face lists.
Definition at line 134 of file bmesh.C. References _edges, _faces, _verts, and ARRAY< T >::begin_index(). Referenced by BMESH(). |
|
|
Definition at line 133 of file body.H. References BODY::copy(). |
|
Implements BODY. Definition at line 622 of file bmesh.H. References BODY::_edges. |
|
Definition at line 851 of file bmesh.C. References _edges, _patches, _polylines, ARRAY< T >::add(), EdgeStrip::build(), EdgeStrip::edges(), err_msg(), Bvert::is_polyline_end(), make_patch_if_needed(), new_edge_strip(), EdgeStrip::num(), ARRAY< T >::num(), EdgeStrip::reset(), Bedge::v1(), and Bedge::v2(). Referenced by get_polylines(), and read_polylines(). |
|
distributes them to patches
Definition at line 1120 of file bmesh.C. References _freeze_sils, _patches, _sil_stamp, _sils, EdgeStrip::add(), EdgeStrip::edge(), Bedge::frontfacing_face(), Bedge::get_face(), get_sil_strips(), EdgeStrip::num(), ARRAY< T >::num(), Bface::patch(), Patch::sils(), VIEW::stamp(), and EdgeStrip::vert(). Referenced by Patch::build_sils(), and sil_strip(). |
|
Definition at line 910 of file bmesh.C. References _lone_verts, _patches, _verts, VertStrip::add(), ARRAY< T >::add(), bv(), ARRAY< T >::empty(), new_patch(), new_vert_strip(), VertStrip::num(), ARRAY< T >::num(), and VertStrip::reset(). Referenced by decode(), and read_stream(). |
|
Definition at line 939 of file bmesh.C. References _freeze_sils, _patches, _zx_sils, _zx_stamp, ZcrossPath::add_seg(), ZXseg::bc(), debug, ZcrossPath::empty(), err_msg(), ZXseg::f(), ZXseg::g(), Config::get_var_bool(), get_zcross_strips(), nfaces(), ZcrossPath::num(), ARRAY< T >::num(), ZXseg::p(), Bface::patch(), ZcrossPath::seg(), ZcrossPath::segs(), VIEW::stamp(), ZXseg::v(), and Patch::zx_sils(). Referenced by Patch::build_zx_sils(), and ZcrossTexture::draw(). |
|
Shorthand for accessing kth vertex.
Definition at line 148 of file bmesh.H. References _verts. Referenced by OBJReaderImpl::add_face(), add_poly(), build_vert_strips(), check_type(), compute_initial_vertex_coord_sys(), BMESHcurvature_data::diagonalize_vertex_curvatures(), get_bb(), get_enclosed_verts(), has_vert_colors(), lookup_edge(), lookup_face(), operator=(), put_colors(), put_vertices(), read_colors(), set_crease(), set_patch_boundary(), OBJReaderImpl::set_vert_normals(), set_weak_edge(), split_face(), triangulate(), write_colors(), write_vertices(), and write_verts(). |
|
|
|
Definition at line 528 of file bmesh.H. References _center_of_interest. Referenced by find_mesh(). |
|
Implements BODY. Reimplemented in LMESH. Definition at line 187 of file bmesh.H. References TOPOLOGY_CHANGED. Referenced by _merge(), LMESH::changed(), clear_creases(), compute_creases(), fix_orientation(), get_colors(), get_creases(), get_faces(), get_patches(), get_uvfaces(), get_vertices(), Icosahedron(), kill_component(), Octahedron(), operator=(), pop_render_style(), push_render_style(), read_stream(), read_update_stream(), recenter(), remove_duplicate_vertices(), set_render_style(), Sphere(), split_components(), split_faces(), and transform(). |
|
|
recalculate the mesh type
Definition at line 2270 of file bmesh.C. References _edges, _faces, _type, _type_valid, _verts, be(), bv(), CLOSED_SURFACE, EMPTY_MESH, err_msg(), fix_orientation(), Config::get_var_bool(), nfaces(), ARRAY< T >::num(), OPEN_SURFACE, POINTS, and POLYLINES. |
|
|
Definition at line 1329 of file bmesh.C. References _patches, debug, err_msg(), Config::get_var_bool(), ARRAY< T >::num(), and remove_patch(). Referenced by read_stream(), and split_components(). |
|
Reimplemented in LMESH. Definition at line 825 of file bmesh.C. References _edges, be(), changed(), CREASES_CHANGED, ARRAY< T >::num(), and Bedge::set_crease(). Referenced by clear_creases(), and LMESH::clear_creases(). |
|
Implements BODY. Reimplemented in LMESH. |
|
Definition at line 840 of file bmesh.C. References _edges, be(), changed(), Bedge::compute_crease(), CREASES_CHANGED, Config::get_var_dbl(), and ARRAY< T >::num(). |
|
Definition at line 4427 of file bmesh.C. References _pix_size, _pix_size_stamp, BBOX::center(), BBOX::dim(), get_bb(), mlib::Vec3< V >::is_null(), mlib::Vec3< V >::length(), VIEW::peek_cam(), size(), VIEW::stamp(), and xform(). |
|
Definition at line 116 of file body.H. References BODY::_factory, and BODY::create_cone(). |
|
Implements BODY. Definition at line 603 of file bmesh.H. References BMESH(). |
|
Definition at line 41 of file body.H. Referenced by BODY::cone(). |
|
Definition at line 40 of file body.H. Referenced by BODY::cube(). |
|
Definition at line 42 of file body.H. Referenced by BODY::cylinder(). |
|
|
|
Definition at line 50 of file body.H. Referenced by BODY::extrusion(). |
|
Definition at line 47 of file body.H. Referenced by BODY::revolve(). |
|
Definition at line 43 of file body.H. Referenced by BODY::sphere(). |
|
Definition at line 45 of file body.H. Referenced by BODY::torus(). |
|
Definition at line 46 of file body.H. Referenced by BODY::trunc_cone(). |
|
Definition at line 57 of file body.H. Referenced by BODY::trunc_pyr(). |
|
METHS: Static factory methods.
Definition at line 115 of file body.H. References BODY::_factory, and BODY::create_cube(). |
|
Create a cube with the two given points as the body diagonal, and apply the patch if given (default if not).
|
|
Edges ofthe current subdivision mesh, if any.
Reimplemented in LMESH. Definition at line 124 of file bmesh.H. References _edges. |
|
Faces ofthe current subdivision mesh, if any.
Reimplemented in LMESH. Definition at line 126 of file bmesh.H. References _faces. |
|
Level of "current" mesh in the hierarchy:.
Reimplemented in LMESH. Definition at line 493 of file bmesh.H. Referenced by rel_cur_level(). |
|
Vertices ofthe current subdivision mesh, if any.
Reimplemented in LMESH. Definition at line 122 of file bmesh.H. References _verts. |
|
Definition at line 659 of file bmesh.H. References _curv_data. Referenced by Bvert::curv_tensor(), Bvert::dcurv_tensor(), Bvert::diag_curv(), Bvert::k1(), Bvert::k2(), Bvert::pdir1(), Bvert::pdir2(), and XToonTexture::update_cam(). |
|
Definition at line 117 of file body.H. References BODY::_factory, and BODY::create_cylinder(). |
|
Reimplemented in LMESH. Definition at line 503 of file bmesh.H. References _edit_level, and max(). |
|
Definition at line 57 of file data_item.C. References DATA_ITEM::_copy, DATA_ITEM::_decode_unknown, DATA_ITEM::class_name(), DATA_ITEM::decode(), DATA_ITEM::dup(), Config::get_var_bool(), and DATA_ITEM::lookup(). Referenced by JOThash::get(), DISTRIB::interpret(), and operator>>(). |
|
Reimplemented from DATA_ITEM. Definition at line 3966 of file bmesh.C. References build_vert_strips(), DATA_ITEM::decode(), Config::get_var_bool(), is_points(), and make_patch_if_needed(). |
|
|
|
|
|
Simply releases memory allocated to the edge by calling delete.
Definition at line 363 of file bmesh.H. Referenced by kill_component(), and remove_edge(). |
|
Reimplemented in LMESH. Definition at line 2156 of file bmesh.C. References _drawables, _edges, _faces, _patches, _type, _type_valid, _verts, ARRAY< T >::clear(), SimplexArray< L, T >::delete_all(), Patch_list::delete_all(), and EMPTY_MESH. Referenced by LMESH::delete_elements(), OBJReaderImpl::get_mesh(), operator=(), read_stream(), and ~BMESH(). |
|
Simply releases memory allocated to the face by calling delete.
Definition at line 365 of file bmesh.H. Referenced by kill_component(), and remove_face(). |
|
Definition at line 2264 of file bmesh.C. References _patches, and Patch_list::delete_all(). |
|
Simply releases memory allocated to the vertex by calling delete.
Definition at line 361 of file bmesh.H. Referenced by kill_component(), and remove_vertex(). |
|
Definition at line 225 of file data_item.H. References DATA_ITEM::_hash. |
|
Definition at line 183 of file bmesh.H. References _draw_enabled. |
|
Implements RefImageClient. Reimplemented in LMESH. Definition at line 1383 of file bmesh.C. References _drawables, BMD_array< T >::draw(), draw_enabled(), empty(), err_msg(), and send_update_notification(). Referenced by LMESH::draw(). |
|
Reimplemented in GELset. Definition at line 55 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(), and RefImageClient::draw_tex_mem_ref(). |
|
Reimplemented in GELset. Definition at line 56 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Definition at line 184 of file bmesh.H. References _draw_enabled, and empty(). Referenced by draw(), draw_ref_img(), draw_vis_ref(), and use_ref_image(). |
|
Reimplemented from RefImageClient. Definition at line 600 of file bmesh.H. References _drawables, and RIC_array< T >::draw_final(). |
|
Reimplemented in GELset, and OGLTexture. Definition at line 50 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 51 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 52 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 53 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented in GELset. Definition at line 54 of file ref_img_client.H. Referenced by RefImageClient::draw_ref_img(). |
|
|
Definition at line 1372 of file bmesh.C. References _drawables, draw_enabled(), RIC_array< T >::draw_ref_img(), and send_update_notification(). |
|
Reimplemented in DotsShader, DotsShader_EX, GLSLHatching, HalftoneShader, HalftoneShaderEx, and MSLDShader. Definition at line 57 of file ref_img_client.H. References RefImageClient::draw_color_ref(). Referenced by RefImageClient::draw_ref_img(). |
|
Reimplemented from RefImageClient. Definition at line 1361 of file bmesh.C. References _drawables, draw_enabled(), RIC_array< T >::draw_vis_ref(), and send_update_notification(). |
|
Definition at line 165 of file bmesh.H. References _drawables. |
|
Implements BODY. Reimplemented in LMESH. Definition at line 653 of file bmesh.H. References BMESH(). Referenced by split_components(). |
|
Edges in this mesh.
Definition at line 116 of file bmesh.H. References _edges. Referenced by Lpatch::cur_edges(), LMESH::cur_edges(), Patch::edges(), get_border_strip(), get_crease_strip(), get_edge_strip(), get_edges(), Bedge::index(), kill_component(), and split_components(). |
|
Level of "active" mesh in the hierarchy:.
Reimplemented in LMESH. Definition at line 496 of file bmesh.H. References _edit_level. Referenced by Lface::bc_to_edit_level(), Patch::rel_edit_level(), and rel_edit_level(). |
|
Is the vertex list empty?
Definition at line 144 of file bmesh.H. References _verts, and ARRAY< T >::empty(). Referenced by BaseJOTapp::create_mesh(), draw(), and draw_enabled(). |
|
Definition at line 182 of file bmesh.H. References _draw_enabled. |
|
Turn off indexing in vert, edge and face lists.
Definition at line 143 of file bmesh.C. References _edges, _faces, _verts, and ARRAY< T >::end_index(). Referenced by ~BMESH(). |
|
Definition at line 128 of file body.H. References BODY::_factory, and BODY::create_extrusion(). |
|
Definition at line 126 of file body.H. References BODY::_factory, and BODY::create_extrusion(). |
|
Camera (eye) position in this object's coordinate system.
Definition at line 1276 of file bmesh.C. References _eye_local, _eye_local_stamp, inv_xform(), VIEW::peek_cam(), and VIEW::stamp(). Referenced by Patch::eye_local(), Bvert::eye_local(), Bface::front_facing(), and get_zcross_strips(). |
|
Triangular faces in this mesh.
Definition at line 118 of file bmesh.H. References _faces. Referenced by UVMapping::compute_limits(), UVMapping::compute_mapping(), UVMapping::compute_wrapping(), LMESH::cur_faces(), get_faces(), LMESH::get_subdiv_inputs(), Bface::index(), kill_component(), put_faces(), Bface_list::reachable_faces(), split_components(), and split_tris(). |
|
Definition at line 2344 of file bmesh.C. References _edges, _faces, changed(), ARRAY< T >::clear(), SimplexArray< L, T >::clear_flags(), debug, err_msg(), Config::get_var_bool(), grow_oriented_face_lists(), j, ARRAY< T >::num(), reverse_faces(), and TRIANGULATION_CHANGED. Referenced by check_type(), and remove_duplicate_vertices(). |
|
Reimplemented from DATA_ITEM. Definition at line 3958 of file bmesh.C. References DATA_ITEM::format(). Referenced by write_file(), and write_stream(). |
|
Definition at line 76 of file ref.H. References REFcounter::_mutex, REFcounter::_u, and REF_ME. |
|
Definition at line 168 of file bmesh.H. References _geom. Referenced by bmesh_to_gel(), bmesh_to_geom(), get_name(), and get_zcross_strips(). |
|
Implements BODY. Reimplemented in LMESH. Definition at line 3179 of file bmesh.C. References BODY::_bb, bv(), nverts(), BBOX::update(), and BBOX::valid(). Referenced by compute_pix_size(), XToonTexture::draw(), ToonTexture_1D::draw(), ToonTexCB::faceCB(), XToonStripCB::faceCB(), recenter(), and z_span(). |
|
Definition at line 261 of file bmesh.H. References _borders, EdgeStrip::build_with_tips(), edges(), and new_edge_strip(). Referenced by get_borders(). |
|
Definition at line 285 of file bmesh.H. References EdgeStrip::edges(), and get_border_strip(). Referenced by get_zcross_strips(). |
|
Definition at line 3922 of file bmesh.C. References _verts, changed(), err_msg(), nverts(), and VERT_COLORS_CHANGED. Referenced by tags(). |
|
Returns separate Bface_lists, one for each connected component of the mesh:.
Definition at line 4263 of file bmesh.C. References _faces, bf(), ARRAY< T >::empty(), Bsimplex::flag(), Bface_list::grow_connected(), ARRAY< T >::num(), and SimplexArray< L, T >::set_flags(). |
|
Specialzed for crease and border strips: these strips are cached, so it's a lightweight operation after the first time Definition at line 254 of file bmesh.H. References _creases, EdgeStrip::build_with_tips(), edges(), and new_edge_strip(). Referenced by get_creases(). |
|
Definition at line 3792 of file bmesh.C. References changed(), CREASES_CHANGED, and set_crease(). |
|
Definition at line 284 of file bmesh.H. References EdgeStrip::edges(), and get_crease_strip(). Referenced by get_zcross_strips(), and tags(). |
|
Given a filter that accepts a particular kind of edges (e.g. crease edges), returns an edge strip consisting of chains of edges of the given kind. Definition at line 234 of file bmesh.H. References EdgeStrip::build_with_tips(), and edges(). Referenced by new_edge_strip(). |
|
Given a filter that accepts a particular kind of edges (e.g. crease edges), returns an edge list consisting of edges of the given kind. For crease and border edges, see get_creases() and get_borders(), below. Definition at line 276 of file bmesh.H. References edges(), and SimplexArray< L, T >::filter(). |
|
Definition at line 2444 of file bmesh.C. References bv(), ARRAY< T >::clear(), Bsimplex::clear_flag(), ARRAY< T >::empty(), err_msg(), Bsimplex::flag(), mlib::NDCZpt::in_frustum(), j, Bsimplex::mesh(), Bvert::nbr(), Bvert::ndc(), nverts(), ARRAY< T >::pop(), Bsimplex::set_flag(), Bface::v1(), Bface::v2(), and Bface::v3(). |
|
Definition at line 3746 of file bmesh.C. References _faces, add_face(), add_quad(), changed(), err_msg(), faces(), nfaces(), ARRAY< T >::realloc(), and TOPOLOGY_CHANGED. Referenced by tags(). |
|
Definition at line 3940 of file bmesh.C. References changed(), DATA_ITEM::decode(), new_patch(), patch(), and PATCHES_CHANGED. Referenced by tags(). |
|
Definition at line 3804 of file bmesh.C. References add_edge(), build_polyline_strips(), and Config::get_var_bool(). Referenced by tags(). |
|
Definition at line 3907 of file bmesh.C. Referenced by tags(). |
|
Definition at line 3835 of file bmesh.C. References be(), ARRAY< T >::empty(), Bedge::fix_multi(), lookup_face(), nedges(), and Bface_list::push_layer(). Referenced by tags(). |
|
extracts silhouette edge strips
Definition at line 1154 of file bmesh.C. References _edges, _random_sils, _sil_stamp, _sils, all_edges, brute_secs, brute_sils, EdgeStrip::build(), EdgeStrip::edges(), stop_watch::elapsed_time(), ARRAY< T >::empty(), Config::get_var_int(), int(), j, min(), nedges(), EdgeStrip::num(), ARRAY< T >::num(), rand_secs, rand_sils, EdgeStrip::reset(), show_secondary_faces(), and VIEW::stamp(). Referenced by build_sil_strips(). |
|
Definition at line 112 of file body.H. References BODY::_dummy. |
|
Definition at line 3865 of file bmesh.C. References _faces, bf(), err_msg(), Config::get_var_dbl(), j, UVdata::set(), and ARRAY< T >::valid_index(). Referenced by tags(). |
|
Definition at line 3458 of file bmesh.C. References UVforIO2::_face, UVforIO2::_uvs, add_face(), add_quad(), changed(), err_msg(), UVforIO2::is_good(), UVforIO2::num(), and TOPOLOGY_CHANGED. Referenced by tags(). |
|
Definition at line 3706 of file bmesh.C. References _edges, _verts, add_vertex(), changed(), err_msg(), new_vert(), nverts(), ARRAY< T >::realloc(), and VERT_POSITIONS_CHANGED. Referenced by tags(). |
|
Definition at line 3818 of file bmesh.C. References debug, err_adv(), Config::get_var_bool(), and set_weak_edge(). Referenced by tags(). |
|
finds "strips" for zero-set definition of silhouettes (as in WYSIWYG NPR, Siggraph 2002): Definition at line 1022 of file bmesh.C. References _faces, _random_sils, _zx_sils, _zx_stamp, stop_watch::elapsed_time(), ARRAY< T >::empty(), eye_local(), Bedge::f(), geom(), get_borders(), get_creases(), Config::get_var_bool(), Config::get_var_int(), inv_xform(), j, min(), ZcrossPath::num(), ARRAY< T >::num(), VIEW::peek(), ZcrossPath::reset(), ZcrossPath::segs(), ZcrossPath::set_eye(), VIEW::stamp(), ZcrossPath::start_sil(), zx_secs, and zx_sils. Referenced by build_zcross_strips(). |
|
Definition at line 4148 of file bmesh.C. References Bvert::e(), Bedge::f(), Bsimplex::flag(), j, Bvert::nbr(), and Bsimplex::set_flag(). Referenced by kill_component(), and split_components(). |
|
Definition at line 2384 of file bmesh.C. References Bedge::consistent_orientation(), Bface::e(), Bsimplex::flag(), Bface::nbr(), and Bsimplex::set_flag(). Referenced by fix_orientation(). |
|
Do the vertices have colors?
|
|
Create a canonical icosahedron and apply the patch if given (default if not).
Definition at line 575 of file bmesh.C. References add_face(), add_vertex(), changed(), err_msg(), Patch::mesh(), new_patch(), and TOPOLOGY_CHANGED. |
|
Reimplemented in LMESH. Definition at line 502 of file bmesh.H. References _edit_level. |
|
Definition at line 84 of file body.H. References BODY::intersect(). |
|
Definition at line 77 of file body.H. References BODY::intersect(). |
|
Referenced by BODY::intersect(). |
|
Implements BODY. Reimplemented in LMESH. |
|
Reimplemented in LMESH. Definition at line 762 of file bmesh.C. References _geom, RAYhit::check(), mlib::Point3< P, V >::dist(), RAYhit::from_camera(), get_ctrl_patch(), Config::get_var_bool(), inv_xform(), RAYhit::line(), BaseVisRefImage::lookup(), Bsimplex::mesh(), Bface::norm(), mlib::Vec3< V >::normalized(), Bface::patch(), VIEW::peek(), pick_face(), RAYhit::point(), RAYhit::screen_point(), BMESHray::set_simplex(), RAYhit::test(), Bsimplex::view_intersect(), BaseVisRefImage::vis_simplex(), and BaseVisRefImage::vis_update(). |
|
Transformation from world to object coordinates for this mesh.
Definition at line 1259 of file bmesh.C. References _geom, _world_to_obj, mlib::Identity, and GEOM::world_to_obj(). Referenced by eye_local(), Bface::find_intersect_sim(), get_zcross_strips(), intersect(), Patch::inv_xform(), pick_face(), split_faces(), Bvert::view_intersect(), Bface::view_intersect(), Bedge::view_intersect(), Bvert::wnorm(), and write_xformed(). |
|
Definition at line 529 of file bmesh.H. References _center_of_interest. Referenced by LMESH::set_cur_mesh(), and ~BMESH(). |
|
Definition at line 432 of file bmesh.H. References CLOSED_SURFACE, and type(). Referenced by is_surface(), print(), and OGLTexture::set_face_culling(). |
|
Definition at line 214 of file data_item.H. References IS. Referenced by operator=(). |
|
Definition at line 431 of file bmesh.H. References OPEN_SURFACE, and type(). Referenced by is_surface(), and print(). |
|
Definition at line 429 of file bmesh.H. References POINTS, and type(). Referenced by Lpatch::cur_verts(), decode(), print(), read_stream(), and Patch::verts(). |
|
Definition at line 430 of file bmesh.H. References POLYLINES, and type(). Referenced by Lpatch::cur_edges(), Lpatch::cur_verts(), Patch::edges(), print(), and Patch::verts(). |
|
Definition at line 433 of file bmesh.H. References is_closed_surface(), and is_open_surface(). |
|
wipe out a connected component containing the start vertex:
Definition at line 4341 of file bmesh.C. References _edges, _faces, _verts, changed(), delete_edge(), delete_face(), delete_vert(), edges(), faces(), grow_mesh_equivalence_class(), nedges(), nfaces(), ARRAY< T >::num(), nverts(), Bsimplex::set_flag(), TOPOLOGY_CHANGED, and verts(). |
|
Definition at line 105 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. Referenced by REFlock::REFlock(). |
|
Definition at line 222 of file data_item.H. References DATA_ITEM::_hash, and HASH::find(). Referenced by DATA_ITEM::Decode(), FUNC_ITEM::FUNC_ITEM(), Patch::get_tex(), and read_jot_stream(). |
|
Definition at line 215 of file bmesh.C. References _verts, bv(), and ARRAY< T >::valid_index(). Referenced by set_crease(), set_patch_boundary(), and set_weak_edge(). |
|
Definition at line 384 of file bmesh.C. References _verts, bv(), and ARRAY< T >::valid_index(). Referenced by add_face(), and get_sec_faces(). |
|
Definition at line 1297 of file bmesh.C. References _faces, Patch::add(), bf(), new_patch(), ARRAY< T >::num(), and patch(). Referenced by build_polyline_strips(), decode(), and read_stream(). |
|
Merging two meshes: Merge the two meshes together if it's legal to do so. The result is that one mesh ends up an empty husk, with its elements and patches sucked into the other mesh. The smaller mesh is the one that gets sucked dry; the other one is returned. If the meshes are different types the operation fails and a null pointer is returned. (In that case the meshes are not changed). Definition at line 4031 of file bmesh.C. References err_msg(). Referenced by main(), and LMESH::merge(). |
|
Definition at line 2574 of file bmesh.C. References Bvert::get_adj(), Bvert::get_all_faces(), ARRAY< T >::num(), remove_edge(), remove_face(), and remove_vertex(). Referenced by remove_duplicate_vertices(), and try_collapse_edge(). |
|
|
|
Definition at line 2405 of file bmesh.C. References _edges, ARRAY< T >::empty(), and ARRAY< T >::num(). |
|
Definition at line 2425 of file bmesh.C. References _verts, ARRAY< T >::empty(), and ARRAY< T >::num(). |
|
Number of edges.
Definition at line 138 of file bmesh.H. References _edges, and ARRAY< T >::num(). Referenced by OBJReaderImpl::add_creases(), LMESH::allocate_subdiv_mesh(), LMESH::delete_subdiv_mesh(), get_sec_faces(), get_sil_strips(), kill_component(), LMESH::mark_all_dirty(), operator=(), put_creases(), put_polylines(), put_weak_edges(), recreate_creases(), remove_duplicate_vertices(), LMESH::size(), size(), write_creases(), write_polylines(), and write_weak_edges(). |
|
NB: caller should first check u,v doesn't have an edge already.
Reimplemented in LMESH. Definition at line 294 of file bmesh.H. Referenced by add_edge(). |
|
Reimplemented in LMESH. Definition at line 309 of file bmesh.H. Referenced by build_polyline_strips(), get_border_strip(), get_crease_strip(), and new_edge_strip(). |
|
Like get_edge_strip(), but allocates the returned EdgeStrip. So for an LMESH this returns an LedgeStrip. (The caller is responsible to delete the strip). Definition at line 243 of file bmesh.H. References get_edge_strip(), and new_edge_strip(). Referenced by Patch::build_borders(), Patch::build_creases(), ControlFrameTexture::build_strip(), and ControlFrameTexture::draw(). |
|
NB: caller should first check requested face doesn't exist already.
Reimplemented in LMESH. Definition at line 299 of file bmesh.H. Referenced by add_face(). |
|
Reimplemented in LMESH. Definition at line 3071 of file bmesh.C. References _drawables, _patches, ARRAY< T >::last(), and subdiv_level(). Referenced by OBJReaderImpl::add_patches(), build_vert_strips(), get_patches(), Icosahedron(), make_patch_if_needed(), Octahedron(), operator=(), read_patch(), Sphere(), and split_components(). |
|
Reimplemented in LMESH. Definition at line 308 of file bmesh.H. Referenced by TriStrip::get_strips(). |
|
Convert the given world-space point to a vertex.
Reimplemented in LMESH. Definition at line 289 of file bmesh.H. Referenced by add_vertex(), and get_vertices(). |
|
Reimplemented in LMESH. Definition at line 310 of file bmesh.H. Referenced by build_vert_strips(). |
|
|
Number of patches.
Definition at line 142 of file bmesh.H. References _patches, and ARRAY< T >::num(). Referenced by Lpatch::put_parent_patch(), LMESH::size(), and size(). |
|
|
Definition at line 1266 of file bmesh.C. References _pm, _pm_stamp, VIEW::peek_cam(), VIEW::stamp(), and xform(). Referenced by Bvert::ndc(), Patch::obj_to_ndc(), and z_span(). |
|
Create an octahedron with the given points, and apply the patch if given (default if not).
Definition at line 441 of file bmesh.C. References add_face(), add_vertex(), changed(), err_msg(), Patch::mesh(), new_patch(), and TOPOLOGY_CHANGED. |
|
Reimplemented in LMESH. Definition at line 2228 of file bmesh.C. References _edges, _faces, _verts, add_face(), add_vertex(), be(), changed(), Bedge::compute_crease(), delete_elements(), Config::get_var_bool(), DATA_ITEM::is_of_type(), nedges(), new_patch(), ARRAY< T >::num(), ARRAY< T >::realloc(), RefImageClient::static_name(), TOPOLOGY_CHANGED, BODY::triangulate(), and tris. |
|
Reimplemented in LMESH. Definition at line 2174 of file bmesh.C. References _edges, _faces, _type, _type_valid, _verts, add_edge(), add_face(), add_vertex(), be(), bf(), bv(), changed(), Bvert::color(), Bedge::crease_val(), delete_elements(), Bvert::has_color(), Bvert::index(), Bedge::is_crease(), Bedge::is_patch_boundary(), Bface::is_secondary(), Bedge::is_weak(), Bvert::loc(), Bface::make_secondary(), nedges(), new_patch(), nfaces(), ARRAY< T >::num(), nverts(), ARRAY< T >::realloc(), Bsimplex::set_bit(), Bvert::set_color(), Bedge::set_crease(), Bedge::set_patch_boundary(), TRIANGULATION_CHANGED, Bface::v1(), Bedge::v1(), Bface::v2(), Bedge::v2(), Bface::v3(), and Bedge::WEAK_BIT. Referenced by LMESH::operator=(). |
|
Definition at line 59 of file ref.H. References REFcounter::_mutex, REFcounter::_u, and REF_ME. |
|
Shorthand for accessing kth patch.
Definition at line 154 of file bmesh.H. References _patches. Referenced by get_patches(), and make_patch_if_needed(). |
|
List of patches.
Definition at line 160 of file bmesh.H. References _patches. Referenced by init_strips(), Patch::Patch(), tex_already_exists(), write_normals(), and write_strips(). |
|
Brute force intersection: Given ray in world space, return intersected face (if any) and intersection point in world space: Definition at line 732 of file bmesh.C. References bf(), debug, err_msg(), Config::get_var_bool(), inv_xform(), nfaces(), and xform(). Referenced by intersect(). |
|
Approximate pixel extent based on bounding box.
Definition at line 410 of file bmesh.H. References _pix_size, _pix_size_stamp, and VIEW::stamp(). Referenced by Patch::pix_size(). |
|
Reimplemented in LMESH. Definition at line 4467 of file bmesh.C. References _render_style, changed(), ARRAY< T >::empty(), ARRAY< T >::pop(), and RENDERING_CHANGED. Referenced by toggle_render_style(). |
|
Print info about this mesh to the error text stream Reimplemented in LMESH. Definition at line 678 of file bmesh.C. References _edges, _faces, _verts, DATA_ITEM::class_name(), err_msg(), Config::get_var_bool(), is_closed_surface(), is_open_surface(), is_points(), is_polylines(), ARRAY< T >::num(), and size(). Referenced by LMESH::print(), print_mesh(), and write(). |
|
Reimplemented in LMESH. Definition at line 4460 of file bmesh.C. References _render_style, changed(), and RENDERING_CHANGED. Referenced by set_render_style(), and toggle_render_style(). |
|
Definition at line 3669 of file bmesh.C. References _verts, bv(), Bvert::color(), TAGformat::end_id(), TAGformat::id(), and nverts(). Referenced by tags(). |
|
Definition at line 3497 of file bmesh.C. References be(), TAGformat::end_id(), TAGformat::id(), Bvert::index(), Bedge::is_crease(), nedges(), ARRAY< T >::num(), and Bedge::v(). Referenced by tags(). |
|
Definition at line 3289 of file bmesh.C. References bf(), TAGformat::end_id(), faces(), UVdata::has_uv(), TAGformat::id(), Bvert::index(), nfaces(), ARRAY< T >::num(), use_new_bface_io, Bface::v1(), Bface::v2(), and Bface::v3(). Referenced by tags(). |
|
Definition at line 3689 of file bmesh.C. References _patches, ARRAY< T >::empty(), TAGformat::end_id(), TAGformat::id(), and ARRAY< T >::num(). Referenced by tags(). |
|
Definition at line 3519 of file bmesh.C. References be(), TAGformat::end_id(), TAGformat::id(), Bvert::index(), Bedge::is_polyline(), nedges(), ARRAY< T >::num(), and Bedge::v(). Referenced by tags(). |
|
Definition at line 3648 of file bmesh.C. Referenced by tags(). |
|
Definition at line 3562 of file bmesh.C. References bf(), ARRAY< T >::empty(), TAGformat::end_id(), TAGformat::id(), Bvert::index(), Bface::is_secondary(), nfaces(), Bface::v1(), Bface::v2(), and Bface::v3(). Referenced by tags(). |
|
Definition at line 3622 of file bmesh.C. References bf(), TAGformat::end_id(), TAGformat::id(), UVdata::lookup(), nfaces(), ARRAY< T >::num(), use_new_bface_io, and UVdata::uv(). Referenced by tags(). |
|
Definition at line 3432 of file bmesh.C. References bf(), ARRAY< T >::empty(), TAGformat::end_id(), TAGformat::id(), UVforIO2::is_good(), nfaces(), and use_new_bface_io. Referenced by tags(). |
|
Definition at line 3257 of file bmesh.C. References bv(), TAGformat::end_id(), Config::get_var_bool(), TAGformat::id(), Bvert::loc(), ARRAY< T >::num(), nverts(), verts(), and Bvert::wloc(). Referenced by tags(). |
|
Definition at line 3540 of file bmesh.C. References be(), ARRAY< T >::empty(), TAGformat::end_id(), TAGformat::id(), Bvert::index(), Bedge::is_weak(), nedges(), use_new_bface_io, and Bedge::v(). Referenced by tags(). |
|
Definition at line 1677 of file bmesh.C. References IOBlock::consume(), Config::get_var_bool(), IOBlockList, str_ptr::len(), ARRAY< T >::num(), read_colors(), read_include(), read_patch(), read_texcoords2(), and read_weak_edges(). Referenced by read_include(), and read_stream(). |
|
Definition at line 1886 of file bmesh.C. References bv(), ARRAY< T >::clear(), nverts(), and Bvert::set_color(). Referenced by read_blocks(). |
|
Definition at line 1812 of file bmesh.C. References err_ret(), j, and set_crease(). Referenced by read_stream(). |
|
Definition at line 1786 of file bmesh.C. References _faces, add_face(), j, and ARRAY< T >::realloc(). Referenced by read_stream(). |
|
Definition at line 1550 of file bmesh.C. References read_jot_file(). |
|
Definition at line 1731 of file bmesh.C. References err_msg(). Referenced by read_stream(), and read_update_stream(). |
|
Definition at line 1716 of file bmesh.C. References err_ret(), and read_blocks(). Referenced by read_blocks(). |
|
Definition at line 1447 of file bmesh.C. References ERR_LEV_WARN, err_mesg(), err_msg(), and read_jot_stream(). Referenced by main(), read_file(), and LMESH::read_jot_file(). |
|
Definition at line 1473 of file bmesh.C. References DATA_ITEM::class_name(), DATA_ITEM::dup(), ERR_LEV_INFO, err_mesg(), err_msg(), and DATA_ITEM::lookup(). Referenced by main(), read_jot_file(), and LMESH::read_jot_stream(). |
|
Definition at line 1936 of file bmesh.C. References new_patch(), and Patch::read_stream(). Referenced by read_blocks(). |
|
Definition at line 1858 of file bmesh.C. References add_edge(), build_polyline_strips(), err_ret(), Config::get_var_bool(), and j. Referenced by read_stream(). |
|
Definition at line 1617 of file bmesh.C. References build_vert_strips(), changed(), clean_patches(), delete_elements(), Config::get_var_bool(), is_points(), make_patch_if_needed(), read_blocks(), read_creases(), read_faces(), read_header(), read_polylines(), read_vertices(), and TOPOLOGY_CHANGED. |
|
Definition at line 1900 of file bmesh.C. References _faces, bf(), ARRAY< T >::clear(), err_msg(), Config::get_var_dbl(), j, UVdata::set(), and ARRAY< T >::valid_index(). Referenced by read_blocks(). |
|
Definition at line 1570 of file bmesh.C. References err_msg(), err_ret(), and read_update_stream(). |
|
Definition at line 1596 of file bmesh.C. References changed(), read_header(), read_vertices(), and VERT_POSITIONS_CHANGED. Referenced by read_update_file(). |
|
Definition at line 1761 of file bmesh.C. References _edges, _verts, add_vertex(), ARRAY< T >::num(), and ARRAY< T >::realloc(). Referenced by read_stream(), and read_update_stream(). |
|
Definition at line 1836 of file bmesh.C. References ARRAY< T >::clear(), err_ret(), j, and set_weak_edge(). Referenced by read_blocks(). |
|
Definition at line 3984 of file bmesh.C. References center(), changed(), err_msg(), get_bb(), Config::get_var_dbl(), max(), nverts(), points, MOD::tick(), transform(), and VERT_POSITIONS_CHANGED. Referenced by BaseJOTapp::create_mesh(). |
|
Reimplemented in Patch. Definition at line 208 of file data_item.H. Referenced by DATA_ITEM::decode(). |
|
Same as above, but relative to the level of this mesh:.
Definition at line 499 of file bmesh.H. References cur_level(), and subdiv_level(). Referenced by LvertStrip::cur_level(), Lvert::cur_subdiv_vert(), get_cur_sub_edges(), get_cur_sub_faces(), get_cur_sub_vert(), and LedgeStrip::rel_cur_level(). |
|
Definition at line 500 of file bmesh.H. References edit_level(), and subdiv_level(). |
|
Definition at line 2623 of file bmesh.C. References _edges, _verts, changed(), compare_locs_lexicographically(), err_msg(), fix_orientation(), j, Bvert::loc(), merge_vertex(), nedges(), ARRAY< T >::num(), remove_edge(), ARRAY< T >::sort(), TRIANGULATION_CHANGED, and verts(). |
|
Removes the given edge from this mesh's edge-list, and releases memory allocated to it.
Reimplemented in LMESH. Definition at line 2508 of file bmesh.C. References _edges, and delete_edge(). Referenced by merge_vertex(), remove_duplicate_vertices(), LMESH::remove_edge(), remove_edges(), Bvert::~Bvert(), and Lvert::~Lvert(). |
|
Remove each edge in the list given and release memory allocated to it.
Definition at line 2542 of file bmesh.C. References ARRAY< T >::empty(), SimplexArray< L, T >::mesh(), ARRAY< T >::num(), and remove_edge(). |
|
Removes the given face from this mesh's face-list, and releases memory allocated to it.
Reimplemented in LMESH. Definition at line 2499 of file bmesh.C. References _faces, and delete_face(). Referenced by merge_vertex(), LMESH::remove_face(), remove_faces(), Bedge::~Bedge(), and Ledge::~Ledge(). |
|
Remove each face in the list given and release memory allocated to it.
Definition at line 2526 of file bmesh.C. References ARRAY< T >::empty(), SimplexArray< L, T >::mesh(), ARRAY< T >::num(), and remove_face(). |
|
Definition at line 1312 of file bmesh.C. References _drawables, _patches, err_msg(), Patch::num_faces(), ARRAY< T >::remove(), and ARRAY< T >::valid_index(). Referenced by clean_patches(). |
|
Removes the given vertex from this mesh's vertex-list, and releases memory allocated to it.
Reimplemented in LMESH. Definition at line 2517 of file bmesh.C. References _verts, and delete_vert(). Referenced by Ledge::delete_subdiv_elements(), Lvert::delete_subdiv_vert(), merge_vertex(), LMESH::remove_vertex(), and remove_verts(). |
|
Remove each vertex in the list given and release memory allocated to it.
Definition at line 2558 of file bmesh.C. References ARRAY< T >::empty(), SimplexArray< L, T >::mesh(), ARRAY< T >::num(), and remove_vertex(). |
|
Reimplemented in LMESH. Definition at line 4475 of file bmesh.C. References _render_style, ARRAY< T >::empty(), ARRAY< T >::last(), and str_ptr::null_str(). Referenced by Patch::cur_tex(), and toggle_render_style(). |
|
Reverse orientation of all the faces.
Definition at line 440 of file bmesh.H. References bf(), nfaces(), and Bface::reverse(). |
|
Definition at line 124 of file body.H. References BODY::_factory, and BODY::create_revolve(). |
|
In BMESH, just calls BMESHobs::broadcast_update_request(this), but in LMESH also updates subdivision meshes: Reimplemented in LMESH. Definition at line 1345 of file bmesh.C. References BMESHobs::broadcast_update_request(). Referenced by draw(), draw_ref_img(), draw_vis_ref(), and LMESH::send_update_notification(). |
|
Center of interest: Typically the mesh that the user has been lately interacting with in some way. Definition at line 527 of file bmesh.H. References _center_of_interest. Referenced by BaseJOTapp::create_mesh(), MeshGlobal::select(), LMESH::set_cur_mesh(), Cam_int::up(), Cam_int_fp::up(), and ~BMESH(). |
|
Definition at line 699 of file bmesh.C. References bv(), err_msg(), lookup_edge(), Bedge::set_crease(), and valid_vert_indices(). Referenced by get_creases(), and read_creases(). |
|
Definition at line 218 of file data_item.H. References DATA_ITEM::_decode_unknown. |
|
Definition at line 134 of file body.H. References BODY::_factory. |
|
Reimplemented from BODY. Reimplemented in LMESH. Definition at line 1242 of file bmesh.C. References _geom, and err_msg(). Referenced by LMESH::set_geom(). |
|
Definition at line 721 of file bmesh.C. References bv(), err_msg(), lookup_edge(), Bedge::set_patch_boundary(), and valid_vert_indices(). |
|
Reimplemented in LMESH. Definition at line 4450 of file bmesh.C. References _render_style, changed(), ARRAY< T >::empty(), ARRAY< T >::last(), push_render_style(), and RENDERING_CHANGED. |
|
|
|
|
|
|
|
Definition at line 710 of file bmesh.C. References bv(), err_msg(), lookup_edge(), Bsimplex::set_bit(), valid_vert_indices(), and Bedge::WEAK_BIT. Referenced by get_weak_edges(), and read_weak_edges(). |
|
Definition at line 758 of file bmesh.H. References _show_secondary_faces. Referenced by EdgeStripFilter::accept(), ControlFrameTexture::build_strip(), Patch::build_tri_strips(), do_solid(), WireframeTexture::draw(), TriStrip::draw(), FlatShadeTexture::draw(), and get_sil_strips(). |
|
extract silhouette edge strip and return a copy of it:
Definition at line 1234 of file bmesh.C. References _sils, and build_sil_strips(). |
|
Return the approximate memory used for this mesh. The extra 4 bytes per vertex, edge, etc. is for the pointer in the corresponding list (_verts, _edges, etc.). For each Bvert we also count the expected number of Bedge* pointers in the adjacency list. Reimplemented in LMESH. Definition at line 664 of file bmesh.C. References nedges(), nfaces(), npatches(), and nverts(). Referenced by compute_pix_size(), and print(). |
|
Definition at line 118 of file body.H. References BODY::_factory, and BODY::create_sphere(). |
|
Definition at line 480 of file bmesh.C. References add_face(), add_quad(), add_vertex(), changed(), err_msg(), j, Patch::mesh(), new_patch(), TOPOLOGY_CHANGED, and TWO_PI. |
|
split mesh into connected components:
Definition at line 4185 of file bmesh.C. References _edges, _faces, _verts, add_edge(), add_face(), add_vertex(), BMESHobs::broadcast_split(), changed(), clean_patches(), SimplexArray< L, T >::clear_flags(), dup(), edges(), faces(), Bsimplex::flag(), grow_mesh_equivalence_class(), new_patch(), ARRAY< T >::num(), Bsimplex::set_flag(), TOPOLOGY_CHANGED, and verts(). |
|
Definition at line 477 of file bmesh.H. References Bedge::mid_pt(), and split_edge(). |
|
Definition at line 2677 of file bmesh.C. References add_edge(), add_face(), add_vertex(), ccw_face(), Bface::detach(), UVdata::lookup(), Bsimplex::notify_split(), Bedge::notify_split(), Bedge::other_face(), Bface::other_vertex(), Bface::patch(), Bface::redefine(), Bedge::redefine(), UVdata::set(), UVdata::uv(), Bedge::v1(), and Bedge::v2(). Referenced by split_edge(), split_faces(), and split_tris(). |
|
Definition at line 2781 of file bmesh.C. References add_edge(), add_face(), add_vertex(), UVdata::bc2uv(), bv(), Bface::detach(), UVdata::lookup(), Bsimplex::notify_split(), Bface::patch(), Bface::project_barycentric(), Bface::redefine(), UVdata::set(), UVdata::uv1(), UVdata::uv2(), UVdata::uv3(), Bface::v1(), Bface::v2(), and Bface::v3(). Referenced by split_faces(). |
|
Definition at line 2844 of file bmesh.C. References changed(), ARRAY< T >::clear(), Bvert::degree(), err_msg(), Bvert::get_faces(), inv_xform(), j, ARRAY< T >::last(), Bvert::loc(), BaseVisRefImage::lookup(), Bsimplex::mesh(), Bvert::nbr(), ARRAY< T >::num(), VIEW::peek(), Bface::plane_intersect(), split_edge(), split_face(), TRIANGULATION_CHANGED, BaseVisRefImage::vis_intersect(), BaseVisRefImage::vis_update(), and xform(). |
|
Definition at line 4287 of file bmesh.C. References Bface::e(), ARRAY< T >::empty(), faces(), Bvert::get_faces(), Bvert::loc(), Bvert::lookup_edge(), ARRAY< T >::num(), split_edge(), Bedge::v1(), Bedge::v2(), and Bedge::which_side(). |
|
Definition at line 44 of file ref_img_client.H. References RET_STAT_STR. Referenced by operator=(). |
|
Definition at line 31 of file data_item.C. References RET_STAT_STR. Referenced by BALLwidget_anchor::BALLwidget_anchor(), CAMwidget_anchor::CAMwidget_anchor(), Patch::cur_tex(), OGLTexture::draw_id_ref(), OGLTexture::draw_id_triangles(), OGLTexture::draw_vis_ref(), VIEW::get_view_animator(), GRIDwidget_anchor::GRIDwidget_anchor(), and toggle_sil_frame(). |
|
The level of this mesh in the hierarchy (0 == control mesh, next level is 1, etc.):.
Reimplemented in LMESH. Definition at line 490 of file bmesh.H. Referenced by new_patch(), rel_cur_level(), rel_edit_level(), Ledge::rel_level(), Patch::subdiv_level(), and SimpleUVCalc::subdiv_val(). |
|
Implements BODY. Reimplemented in LMESH. |
|
Reimplemented from BODY. Reimplemented in LMESH. Definition at line 3191 of file bmesh.C. References _bmesh_tags, _bmesh_update_tags, get_colors(), get_creases(), get_faces(), get_patches(), get_polylines(), get_render_style(), get_sec_faces(), get_texcoords2(), get_uvfaces(), get_vertices(), get_weak_edges(), put_colors(), put_creases(), put_faces(), put_patches(), put_polylines(), put_render_style(), put_sec_faces(), put_texcoords2(), put_uvfaces(), put_vertices(), put_weak_edges(), IOManager::state(), IOManager::STATE_PARTIAL_LOAD, IOManager::STATE_PARTIAL_SAVE, and BODY::tags(). Referenced by LMESH::tags(). |
|
Does a Patch with a current GTexture named name already exist in this mesh?
Definition at line 4380 of file bmesh.C. References patches(). |
|
Definition at line 519 of file bmesh.H. References _freeze_sils. |
|
Definition at line 520 of file bmesh.H. References _random_sils. Referenced by toggle_random_sils(). |
|
Definition at line 200 of file bmesh.H. References pop_render_style(), push_render_style(), and render_style(). Referenced by toggle_sil_frame(). |
|
Definition at line 759 of file bmesh.H. References _show_secondary_faces. |
|
Definition at line 120 of file body.H. References BODY::_factory, and BODY::create_torus(). |
|
|
|
Reimplemented in LMESH. Definition at line 1403 of file bmesh.C. References _verts, BMESHobs::broadcast_xform(), changed(), nverts(), Bvert_list::transform(), and VERT_POSITIONS_CHANGED. Referenced by recenter(), LMESH::transform(), and write_xformed(). |
|
Reimplemented from BODY. Definition at line 1428 of file bmesh.C. References _faces, _verts, bf(), bv(), ARRAY< T >::clear(), mlib::Pointlist< L, P, V, S >::clear(), Bvert::loc(), nfaces(), ARRAY< T >::num(), nverts(), and ARRAY< T >::realloc(). |
|
Definition at line 122 of file body.H. References BODY::_factory, and BODY::create_trunc_cone(). |
|
Definition at line 131 of file body.H. References BODY::_factory, and BODY::create_trunc_pyr(). |
|
Definition at line 3015 of file bmesh.C. References debug, Bvert::degree(), Bedge::f1(), Bedge::f2(), Config::get_var_bool(), Bvert::is_adjacent(), Bedge::is_border(), Bvert::is_border(), merge_vertex(), Bvert::nbr(), nverts(), Bedge::opposite_vert1(), Bedge::opposite_vert2(), Bedge::other_vertex(), and Bedge::v(). |
|
Definition at line 2972 of file bmesh.C. References Bface::detach(), Bface::redefine(), Bedge::set_new_vertices(), and Bedge::swapable(). |
|
Definition at line 424 of file bmesh.H. References _type, and _type_valid. Referenced by is_closed_surface(), is_open_surface(), is_points(), and is_polylines(). |
|
Definition at line 115 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. |
|
Remove the Patch from the patch list; returns 1 on success.
Definition at line 3081 of file bmesh.C. References _patches, and Patch::mesh(). Referenced by Patch::~Patch(). |
|
Definition at line 111 of file ref.H. References REFcounter::_mutex, and REFcounter::_u. Referenced by REFlock::~REFlock(). |
|
Reimplemented from RefImageClient. Definition at line 1354 of file bmesh.C. References _drawables, draw_enabled(), RefImageClient::REF_IMG_NONE, and RIC_array< T >::use_ref_image(). |
|
METHS: Texture stuff.
|
|
Definition at line 543 of file bmesh.H. References _verts, ARRAY< T >::valid_index(), and valid_vert_indices(). |
|
Definition at line 540 of file bmesh.H. References _verts, ARRAY< T >::valid_index(), and valid_vert_indices(). |
|
Definition at line 537 of file bmesh.H. References _verts, and ARRAY< T >::valid_index(). Referenced by add_edge(), add_face(), add_quad(), set_crease(), set_patch_boundary(), set_weak_edge(), and valid_vert_indices(). |
|
Definition at line 667 of file bmesh.H. References _version. Referenced by Patch::stamp(). |
|
Implements BODY. Definition at line 1416 of file bmesh.C. References _vert_locs, _verts, ARRAY< T >::empty(), nverts(), and ARRAY< T >::realloc(). |
|
Vertices of this mesh.
Definition at line 114 of file bmesh.H. References _verts. Referenced by add_tri(), Lpatch::cur_verts(), LMESH::cur_verts(), Bvert::index(), kill_component(), put_vertices(), remove_duplicate_vertices(), split_components(), and Patch::verts(). |
|
Sum up the volume using the divergence theorem.
Reimplemented in LMESH. Definition at line 643 of file bmesh.C. References _faces, and ARRAY< T >::num(). |
|
Definition at line 1993 of file bmesh.C. References _verts, bv(), Bvert::color(), ARRAY< T >::empty(), Bvert::has_color(), and nverts(). |
|
Definition at line 2065 of file bmesh.C. References be(), ARRAY< T >::clear(), ARRAY< T >::empty(), nedges(), ARRAY< T >::num(), and ARRAY< T >::pop(). |
|
|
|
Definition at line 1942 of file bmesh.C. References err_msg(), and format(). Referenced by write(), and write_xformed(). |
|
Reimplemented in LMESH. Definition at line 2115 of file bmesh.C. References _patches, ARRAY< T >::empty(), Config::get_var_bool(), and Patch_list::write_stream(). |
|
Definition at line 2131 of file bmesh.C. References be(), ARRAY< T >::clear(), ARRAY< T >::empty(), nedges(), ARRAY< T >::num(), and ARRAY< T >::pop(). |
|
Definition at line 1960 of file bmesh.C. References format(). |
|
Definition at line 2016 of file bmesh.C. References bf(), UVdata::lookup(), nfaces(), and UVdata::uv(). |
|
Definition at line 1972 of file bmesh.C. References bv(), Config::get_var_bool(), Bvert::loc(), nverts(), and Bvert::wloc(). |
|
Definition at line 2089 of file bmesh.C. References be(), ARRAY< T >::empty(), nedges(), ARRAY< T >::num(), and ARRAY< T >::pop(). |
|
Transformation from object to world coordinates for this mesh.
Definition at line 1252 of file bmesh.C. References _geom, _obj_to_world, mlib::Identity, and GEOM::obj_to_world(). Referenced by compute_pix_size(), obj_to_ndc(), pick_face(), split_faces(), Bface::view_intersect(), Bvert::wloc(), write_xformed(), and Patch::xform(). |
|
|
|
Definition at line 4399 of file bmesh.C. References get_bb(), max(), min(), ARRAY< T >::num(), obj_to_ndc(), points, and mlib::Point3list< L, M, P, V, S >::xform(). |
|
Definition at line 747 of file bmesh.H. Referenced by avg_len(). |
|
|
|
Definition at line 61 of file body.H. Referenced by BODY::base_name(). |
|
Definition at line 37 of file body.H. Referenced by _merge(), BODY::bb_valid(), changed(), and get_bb(). |
|
Full set of tags.
Definition at line 742 of file bmesh.H. Referenced by tags(). |
|
Partial set of tags used for loading frames of animation (e.g. just the vertices change position).
Definition at line 744 of file bmesh.H. Referenced by tags(). |
|
|
|
Definition at line 62 of file body.H. Referenced by BODY::tags(). |
|
border edge strips
Definition at line 700 of file bmesh.H. Referenced by changed(), and get_border_strip(). |
|
Definition at line 753 of file bmesh.H. Referenced by center_of_interest(), is_center_of_interest(), and set_center_of_interest(). |
|
Definition at line 197 of file data_item.H. Referenced by DATA_ITEM::Decode(). |
|
crease edge strips
Definition at line 699 of file bmesh.H. Referenced by changed(), and get_crease_strip(). |
|
Definition at line 738 of file bmesh.H. Referenced by changed(), and curvature(). |
|
Definition at line 198 of file data_item.H. Referenced by DATA_ITEM::tags(). |
|
flag to enable/disable drawing
Definition at line 713 of file bmesh.H. Referenced by disable_draw(), draw_enabled(), and enable_draw(). |
|
list of drawable things
Definition at line 711 of file bmesh.H. Referenced by _merge(), BMESH(), delete_elements(), draw(), draw_final(), draw_ref_img(), draw_vis_ref(), drawables(), LMESH::new_patch(), new_patch(), remove_patch(), and use_ref_image(). |
|
list of edges
Reimplemented from BODY. Definition at line 688 of file bmesh.H. Referenced by _merge(), add_edge(), avg_len(), be(), begin_index(), build_polyline_strips(), check_type(), clear_creases(), compute_creases(), cur_edges(), delete_elements(), edges(), end_index(), fix_orientation(), get_sil_strips(), get_vertices(), kill_component(), LMESH::le(), nearest_edge(), nedges(), operator=(), print(), read_vertices(), remove_duplicate_vertices(), remove_edge(), and split_components(). |
|
Definition at line 751 of file bmesh.H. Referenced by dec_edit_level(), edit_level(), and inc_edit_level(). |
|
camera location in local coordinates
Definition at line 731 of file bmesh.H. Referenced by eye_local(). |
|
frame number last updated.
Definition at line 732 of file bmesh.H. Referenced by eye_local(). |
|
list of faces
Definition at line 689 of file bmesh.H. Referenced by _merge(), add_face(), area(), begin_index(), bf(), check_type(), cur_faces(), delete_elements(), end_index(), faces(), fix_orientation(), get_components(), get_faces(), get_texcoords2(), get_zcross_strips(), kill_component(), LMESH::lf(), make_patch_if_needed(), nfaces(), operator=(), print(), read_faces(), read_texcoords2(), remove_face(), split_components(), triangulate(), LMESH::update_subdivision(), and volume(). |
|
Definition at line 60 of file body.H. Referenced by BODY::cone(), BODY::cube(), BODY::cylinder(), BODY::extrusion(), BODY::revolve(), BODY::set_factory(), BODY::sphere(), BODY::torus(), BODY::trunc_cone(), and BODY::trunc_pyr(). |
|
Definition at line 678 of file bmesh.H. Referenced by build_sil_strips(), build_zcross_strips(), freeze_sils(), and toggle_freeze_sils(). |
|
Definition at line 726 of file bmesh.H. Referenced by LMESH::allocate_subdiv_mesh(), geom(), intersect(), inv_xform(), set_geom(), and xform(). |
|
pointer to allow subclasses
Definition at line 703 of file bmesh.H. Referenced by build_vert_strips(). |
|
Definition at line 734 of file bmesh.H. Referenced by xform(). |
|
|
|
list of patches
Definition at line 692 of file bmesh.H. Referenced by _merge(), build_polyline_strips(), build_sil_strips(), build_vert_strips(), build_zcross_strips(), changed(), clean_patches(), delete_elements(), delete_patches(), LMESH::delete_subdiv_mesh(), LMESH::new_patch(), new_patch(), npatches(), patch(), patches(), put_patches(), remove_patch(), unlist(), and write_patches(). |
|
approx pix size
Definition at line 714 of file bmesh.H. Referenced by compute_pix_size(), and pix_size(). |
|
for caching per-frame
Definition at line 715 of file bmesh.H. Referenced by compute_pix_size(), and pix_size(). |
|
object space to NDCZ space transform
Definition at line 728 of file bmesh.H. Referenced by obj_to_ndc(). |
|
frame number last updated.
Definition at line 730 of file bmesh.H. Referenced by obj_to_ndc(). |
|
pointer to allow subclasses
Definition at line 702 of file bmesh.H. Referenced by build_polyline_strips(). |
|
Definition at line 679 of file bmesh.H. Referenced by get_sil_strips(), get_zcross_strips(), toggle_random_sils(), and toggle_random_sils(). |
|
name of render style to use (if any)
Definition at line 712 of file bmesh.H. Referenced by pop_render_style(), push_render_style(), render_style(), and set_render_style(). |
|
Definition at line 756 of file bmesh.H. Referenced by show_secondary_faces(), and toggle_show_secondary_faces(). |
|
Definition at line 707 of file bmesh.H. Referenced by build_sil_strips(), changed(), and get_sil_strips(). |
|
silhouette edge strips
Definition at line 698 of file bmesh.H. Referenced by build_sil_strips(), changed(), get_sil_strips(), and sil_strip(). |
|
|
|
type of surface from enum above
Definition at line 718 of file bmesh.H. Referenced by _merge(), LMESH::allocate_subdiv_mesh(), check_type(), delete_elements(), operator=(), and type(). |
|
true if _type has been set
Definition at line 719 of file bmesh.H. Referenced by _merge(), changed(), check_type(), delete_elements(), operator=(), and type(). |
|
increment to invalidate display lists
|
|
Definition at line 722 of file bmesh.H. Referenced by _merge(), changed(), and vertices(). |
|
list of vertices
Definition at line 687 of file bmesh.H. Referenced by _merge(), add_edge(), add_face(), add_quad(), add_vertex(), begin_index(), build_vert_strips(), bv(), check_type(), cur_verts(), delete_elements(), empty(), end_index(), get_colors(), get_vertices(), kill_component(), lookup_edge(), lookup_face(), LMESH::lv(), nearest_vert(), nverts(), operator=(), print(), put_colors(), read_vertices(), remove_duplicate_vertices(), remove_vertex(), split_components(), transform(), triangulate(), LMESH::update_subdivision(), valid_vert_indices(), vertices(), verts(), and write_colors(). |
|
Definition at line 735 of file bmesh.H. Referenced by inv_xform(). |
|
zero-cross sil-strip class
Definition at line 697 of file bmesh.H. Referenced by build_zcross_strips(), changed(), and get_zcross_strips(). |
|
Definition at line 708 of file bmesh.H. Referenced by build_zcross_strips(), changed(), and get_zcross_strips(). |