Tools for constructing and working with mesh duals (both tet- and hex-based, though some functions may not make sense for tet duals) More...
#include <DualTool.hpp>
Classes | |
class | GraphicsPoint |
struct for storing a graphics pt More... | |
Public Member Functions | |
DualTool (Interface *impl) | |
~DualTool () | |
ErrorCode | construct_dual (EntityHandle *entities, const int num_entities) |
construct the dual entities for the entire mesh More... | |
ErrorCode | construct_hex_dual (EntityHandle *entities, const int num_entities) |
construct the dual entities for a hex mesh, including dual surfaces & curves More... | |
ErrorCode | construct_hex_dual (Range &entities) |
construct the dual entities for a hex mesh, including dual surfaces & curves More... | |
ErrorCode | get_dual_entities (const int dim, EntityHandle *entities, const int num_entities, Range &dual_ents) |
get the dual entities; if non-null, only dual of entities passed in are returned More... | |
ErrorCode | get_dual_entities (const int dim, EntityHandle *entities, const int num_entities, std::vector< EntityHandle > &dual_ents) |
get the dual entities; if non-null, only dual of entities passed in are returned More... | |
EntityHandle | get_dual_entity (const EntityHandle this_ent) const |
return the corresponding dual entity More... | |
EntityHandle | get_extra_dual_entity (const EntityHandle this_ent) |
return the corresponding extra dual entity More... | |
ErrorCode | get_graphics_points (EntityHandle dual_ent, std::vector< int > &npts, std::vector< GraphicsPoint > &gpoints) |
get the graphics points for single entity (dual_ent CAN'T be a set); returns multiple facets, each with npts[i] points More... | |
ErrorCode | get_graphics_points (const Range &in_range, std::vector< GraphicsPoint > &gpoints, const bool assign_ids=false, const int start_id=0) |
get the graphics points for a range of entities or sets (if set, the entities in those sets); optionally reset ids on points More... | |
EntityHandle | next_loop_vertex (const EntityHandle last_v, const EntityHandle this_v, const EntityHandle dual_surf) |
given a last_v (possibly zero) and this_v, find the next loop vertex on this dual surface More... | |
Tag | dualSurface_tag () const |
get/set the tag for dual surfaces More... | |
ErrorCode | dualSurface_tag (const Tag tag) |
get/set the tag for dual surfaces More... | |
Tag | dualCurve_tag () const |
get/set the tag for dual curves More... | |
ErrorCode | dualCurve_tag (const Tag tag) |
get/set the tag for dual curves More... | |
Tag | isDualCell_tag () const |
get/set the tag for dual cells More... | |
ErrorCode | isDualCell_tag (const Tag tag) |
get/set the tag for dual cells More... | |
Tag | dualEntity_tag () const |
get/set the tag for dual entities More... | |
ErrorCode | dualEntity_tag (const Tag tag) |
get/set the tag for dual entities More... | |
Tag | extraDualEntity_tag () const |
get/set the tag for dual entities More... | |
ErrorCode | extraDualEntity_tag (const Tag tag) |
get/set the tag for dual entities More... | |
Tag | dualGraphicsPoint_tag () const |
get/set the tag for dual entities More... | |
ErrorCode | dualGraphicsPoint_tag (const Tag tag) |
get/set the tag for dual entities More... | |
Tag | globalId_tag () const |
get/set the global id tag More... | |
ErrorCode | globalId_tag (const Tag tag) |
get/set the tag for dual entities More... | |
EntityHandle | get_dual_hyperplane (const EntityHandle ncell) |
given an entity, return any dual surface or curve it's in More... | |
bool | is_blind (const EntityHandle chord) |
returns true if first & last vertices are dual to hexes (not faces) More... | |
ErrorCode | set_dual_surface_or_curve (EntityHandle entity, const EntityHandle dual_hyperplane, const int dimension) |
set the dual surface or curve for an entity More... | |
ErrorCode | atomic_pillow (EntityHandle odedge, EntityHandle &quad1, EntityHandle &quad2) |
effect atomic pillow operation More... | |
ErrorCode | rev_atomic_pillow (EntityHandle pillow, Range &chords) |
effect reverse atomic pillow operation More... | |
ErrorCode | face_shrink (EntityHandle odedge) |
effect face shrink operation More... | |
ErrorCode | rev_face_shrink (EntityHandle edge) |
effect reverse atomic pillow operation More... | |
ErrorCode | face_open_collapse (EntityHandle ocl, EntityHandle ocr) |
effect a face open-collapse operation More... | |
ErrorCode | foc_get_ents (EntityHandle ocl, EntityHandle ocr, EntityHandle *quads, EntityHandle *split_edges, EntityHandle *split_nodes, Range &hexes, EntityHandle *other_edges, EntityHandle *other_nodes) |
given the two 1-cells involved in the foc, get entities associated with the quads being opened/collapsed; see implementation for more details More... | |
ErrorCode | get_opposite_verts (const EntityHandle middle_edge, const EntityHandle chord, EntityHandle *verts) |
given a 1-cell and a chord, return the neighboring vertices on the chord, in the same order as the 1-cell's vertices More... | |
ErrorCode | get_dual_entities (const EntityHandle dual_ent, Range *dcells, Range *dedges, Range *dverts, Range *dverts_loop, Range *dedges_loop) |
given a dual surface or curve, return the 2-cells, 1-cells, 0-cells, and loop 0/1-cells, if requested; any of those range pointers can be NULL, in which case that range isn't returned More... | |
ErrorCode | list_entities (const Range &entities) const |
ErrorCode | list_entities (const EntityHandle *entities, const int num_entities) const |
ErrorCode | delete_whole_dual () |
delete all the dual data More... | |
ErrorCode | check_dual_adjs () |
check dual-primal adjacencies More... | |
Static Public Member Functions | |
static ErrorCode | get_dual_hyperplanes (const Interface *impl, const int dim, Range &dual_ents) |
get the d-dimensional hyperplane sets; static 'cuz it's easy to do without an active dualtool More... | |
Static Public Attributes | |
static MOAB_EXPORT const char * | DUAL_SURFACE_TAG_NAME = "DUAL_SURFACE" |
tag name for dual surfaces More... | |
static MOAB_EXPORT const char * | DUAL_CURVE_TAG_NAME = "DUAL_CURVE" |
tag name for dual curves More... | |
static const char * | IS_DUAL_CELL_TAG_NAME = "__IS_DUAL_CELL" |
tag name for dual cells More... | |
static const char * | DUAL_ENTITY_TAG_NAME = "__DUAL_ENTITY" |
tag name for dual entitys More... | |
static const char * | EXTRA_DUAL_ENTITY_TAG_NAME = "__EXTRA_DUAL_ENTITY" |
tag name for dual entitys More... | |
static const char * | DUAL_GRAPHICS_POINT_TAG_NAME = "__DUAL_GRAPHICS_POINT" |
tag name for dual entitys More... | |
Private Types | |
enum | { GP_SIZE = 20 } |
static constant number of points bounding any cell More... | |
Private Member Functions | |
ErrorCode | construct_dual_vertices (const Range &all_regions, Range &new_dual_ents) |
construct dual vertices for specified regions More... | |
ErrorCode | construct_dual_edges (const Range &all_faces, Range &new_dual_ents) |
construct dual edges for specified faces More... | |
ErrorCode | construct_dual_faces (const Range &all_edges, Range &new_dual_ents) |
construct dual faces for specified edges More... | |
ErrorCode | construct_dual_cells (const Range &all_verts, Range &new_dual_ents) |
construct dual cells for specified vertices More... | |
ErrorCode | construct_dual_hyperplanes (const int dim, EntityHandle *entities, const int num_entities) |
traverse dual faces of input dimension, constructing dual hyperplanes of them in sets as it goes More... | |
ErrorCode | order_chord (EntityHandle chord_set) |
order 1cells on a chord More... | |
ErrorCode | construct_new_hyperplane (const int dim, EntityHandle &new_hyperplane, int &id) |
make a new dual hyperplane with the specified id; if the id specified is -1, set the new one's id to the max found More... | |
ErrorCode | traverse_hyperplane (const Tag hp_tag, EntityHandle &this_hp, EntityHandle this_ent) |
traverse the cells of a dual hyperplane, starting with this_ent (dimension of this_ent determines hyperplane dimension) simpler method for traversing hyperplane, using same basic algorithm but using MeshTopoUtil::get_bridge_adjacencies More... | |
ErrorCode | construct_hp_parent_child () |
connect dual surfaces with dual curves using parent/child connections More... | |
ErrorCode | get_radial_dverts (const EntityHandle edge, std::vector< EntityHandle > &rad_verts, bool &bdy_edge) |
given an edge handle, return a list of dual vertices in radial order around the edge; also returns whether this edge is on the boundary More... | |
ErrorCode | construct_dual_vertex (EntityHandle entity, EntityHandle &dual_ent, const bool extra=false, const bool add_graphics_pt=true) |
ErrorCode | add_graphics_point (EntityHandle entity, double *avg_pos=NULL) |
add a graphics point to an entity (on a tag) More... | |
ErrorCode | get_cell_points (EntityHandle dual_ent, std::vector< int > &npts, std::vector< GraphicsPoint > &points) |
get points defining facets of a 2cell More... | |
bool | check_1d_loop_edge (EntityHandle this_ent) |
if this_ent is an edge, is a dual entity, and has quads as its vertices' dual entities, return true, otherwise false More... | |
ErrorCode | check_dual_equiv_edges (Range &dual_edges) |
go through potential dual equivalent edges (edges whose nodes define multiple edges), and add explicit adjacencies to corrent 2cells More... | |
ErrorCode | delete_dual_entities (EntityHandle *entities, const int num_entities) |
delete a dual entity; updates primal to no longer point to it More... | |
ErrorCode | delete_dual_entities (Range &entities) |
delete a range of dual entities; updates primal to no longer point to them More... | |
ErrorCode | fs_check_quad_sense (EntityHandle hex0, EntityHandle quad0, std::vector< EntityHandle > *connects) |
check sense of connect arrays, and reverse/rotate if necessary More... | |
ErrorCode | fs_get_quads (EntityHandle odedge, EntityHandle *quads, EntityHandle *hexes, std::vector< EntityHandle > *connects) |
get the three quads for a face shrink, the two hexes, and the connectivity of the three quads More... | |
ErrorCode | fs_get_quad_loops (EntityHandle *hexes, std::vector< EntityHandle > *connects, std::vector< EntityHandle > *side_quads) |
get loops of quads around 2 hexes, ordered similarly to vertex loops More... | |
ErrorCode | fsr_get_fourth_quad (std::vector< EntityHandle > *connects, std::vector< EntityHandle > *side_quads) |
given connectivity of first 3 quads for reverse face shrink, get fourth (outer 4 verts to be shared by two inner hexes) and quads around the side of the structure More... | |
ErrorCode | foc_delete_dual (EntityHandle *split_quads, EntityHandle *split_edges, Range &hexes) |
function for deleting dual prior to foc operation; special because in many cases need to delete a sheet in preparation for merging onto another More... | |
ErrorCode | split_pair_nonmanifold (EntityHandle *split_quads, EntityHandle *split_edges, EntityHandle *split_nodes, std::vector< EntityHandle > *star_dp1, std::vector< EntityHandle > *star_dp2, EntityHandle *other_edges, EntityHandle *other_nodes, EntityHandle *new_quads, EntityHandle *new_edges, EntityHandle *new_nodes) |
split a pair of quads and the edge(s) shared by them More... | |
ErrorCode | foc_get_addl_ents (std::vector< EntityHandle > *star_dp1, std::vector< EntityHandle > *star_dp2, EntityHandle *split_edges, EntityHandle split_node, Range *addl_ents) |
for foc's splitting two shared edges, there might be additional entities connected to the split node that also have to be updated More... | |
ErrorCode | foc_get_stars (EntityHandle *split_quads, EntityHandle *split_edges, std::vector< EntityHandle > *star_dp1, std::vector< EntityHandle > *star_dp2) |
given the split quads and edges, get the face and hex stars around the edge(s), separated into halves, each of which goes with the new or old entities after the split More... | |
void | print_cell (EntityHandle cell) |
Private Attributes | |
Interface * | mbImpl |
private copy of interface * More... | |
Tag | dualCurveTag |
tags used for dual surfaces, curves, cells, entities More... | |
Tag | dualSurfaceTag |
Tag | isDualCellTag |
Tag | dualEntityTag |
Tag | extraDualEntityTag |
Tag | dualGraphicsPointTag |
Tag | categoryTag |
Tag | globalIdTag |
int | maxHexId |
Tools for constructing and working with mesh duals (both tet- and hex-based, though some functions may not make sense for tet duals)
Definition at line 33 of file DualTool.hpp.
|
private |
static constant number of points bounding any cell
Enumerator | |
---|---|
GP_SIZE |
Definition at line 372 of file DualTool.hpp.
moab::DualTool::DualTool | ( | Interface * | impl | ) |
Definition at line 68 of file DualTool.cpp.
References CATEGORY_TAG_NAME, CATEGORY_TAG_SIZE, categoryTag, DUAL_CURVE_TAG_NAME, DUAL_ENTITY_TAG_NAME, DUAL_GRAPHICS_POINT_TAG_NAME, DUAL_SURFACE_TAG_NAME, dualCurveTag, dualEntityTag, dualGraphicsPointTag, dualSurfaceTag, ErrorCode, EXTRA_DUAL_ENTITY_TAG_NAME, extraDualEntityTag, moab::Interface::globalId_tag(), globalIdTag, IS_DUAL_CELL_TAG_NAME, isDualCellTag, maxHexId, MB_SUCCESS, MB_TAG_BYTES, MB_TAG_CREAT, MB_TAG_DENSE, MB_TAG_SPARSE, MB_TYPE_DOUBLE, MB_TYPE_HANDLE, MB_TYPE_INTEGER, MB_TYPE_OPAQUE, mbImpl, and moab::Interface::tag_get_handle().
moab::DualTool::~DualTool | ( | ) |
Definition at line 113 of file DualTool.cpp.
|
private |
add a graphics point to an entity (on a tag)
Definition at line 269 of file DualTool.cpp.
References dualGraphicsPoint_tag(), ErrorCode, moab::MeshTopoUtil::get_average_position(), MB_SUCCESS, mbImpl, and moab::Interface::tag_set_data().
Referenced by construct_dual_edges(), construct_dual_faces(), and construct_dual_vertex().
ErrorCode moab::DualTool::atomic_pillow | ( | EntityHandle | odedge, |
EntityHandle & | quad1, | ||
EntityHandle & | quad2 | ||
) |
effect atomic pillow operation
Definition at line 1435 of file DualTool.cpp.
References moab::Interface::add_adjacencies(), moab::Range::begin(), construct_hex_dual(), moab::Interface::create_element(), moab::Interface::create_vertex(), moab::debug_ap, delete_dual_entities(), moab::Interface::delete_entities(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), moab::Interface::get_coords(), get_dual_entity(), moab::Interface::get_entities_by_type_and_tag(), globalId_tag(), moab::Range::insert(), maxHexId, MB_SUCCESS, MB_TYPE_INTEGER, MBENTITYSET, MBHEX, mbImpl, MBQUAD, moab::Range::merge(), print_cell(), moab::Range::rbegin(), moab::Interface::remove_adjacencies(), RR, moab::Range::size(), moab::Interface::tag_get_handle(), moab::Interface::tag_set_data(), and moab::Interface::UNION.
|
private |
if this_ent is an edge, is a dual entity, and has quads as its vertices' dual entities, return true, otherwise false
Definition at line 1116 of file DualTool.cpp.
References dualEntity_tag(), moab::dum, ErrorCode, moab::Interface::get_connectivity(), isDualCell_tag(), MB_SUCCESS, MBEDGE, mbImpl, MBQUAD, moab::Interface::tag_get_data(), and moab::Interface::type_from_handle().
Referenced by construct_dual_hyperplanes(), delete_dual_entities(), and traverse_hyperplane().
ErrorCode moab::DualTool::check_dual_adjs | ( | ) |
check dual-primal adjacencies
Definition at line 3236 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Range::find(), moab::Interface::get_adjacencies(), get_dual_entity(), moab::Interface::get_entities_by_type(), MB_SUCCESS, MBHEX, mbImpl, PRENT, RR, moab::Range::size(), and moab::Interface::UNION.
Referenced by face_open_collapse().
go through potential dual equivalent edges (edges whose nodes define multiple edges), and add explicit adjacencies to corrent 2cells
Definition at line 468 of file DualTool.cpp.
References moab::Interface::add_adjacencies(), moab::Range::begin(), dualEntity_tag(), moab::Range::empty(), moab::Range::end(), moab::Range::erase(), ErrorCode, moab::Core::get_adjacencies(), moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), moab::Interface::id_from_handle(), moab::Range::insert(), MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, mbImpl, MBPOLYGON, MBQUAD, moab::Range::size(), moab::Interface::tag_get_data(), TRC, moab::Interface::type_from_handle(), and moab::Interface::UNION.
Referenced by construct_dual_faces().
ErrorCode moab::DualTool::construct_dual | ( | EntityHandle * | entities, |
const int | num_entities | ||
) |
construct the dual entities for the entire mesh
Definition at line 116 of file DualTool.cpp.
References moab::Range::begin(), moab::MeshTopoUtil::construct_aentities(), construct_dual_cells(), construct_dual_edges(), construct_dual_faces(), construct_dual_vertices(), moab::debug, moab::Range::end(), entities, ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_entities_by_dimension(), globalId_tag(), maxHexId, MB_SUCCESS, MBHEX, mbImpl, moab::Range::size(), moab::Interface::tag_get_data(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
Referenced by construct_hex_dual().
|
private |
construct dual cells for specified vertices
Definition at line 603 of file DualTool.cpp.
References moab::Range::begin(), moab::Interface::create_element(), moab::CN::Dimension(), dualEntity_tag(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::Range::insert(), isDualCell_tag(), MB_SUCCESS, mbImpl, MBPOLYHEDRON, moab::Range::rbegin(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), and moab::TYPE_FROM_HANDLE().
Referenced by construct_dual().
|
private |
construct dual edges for specified faces
Definition at line 289 of file DualTool.cpp.
References add_graphics_point(), moab::Range::begin(), construct_dual_vertex(), moab::Interface::create_element(), moab::CN::Dimension(), dualEntity_tag(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::MeshTopoUtil::get_average_position(), moab::Range::insert(), isDualCell_tag(), MB_SUCCESS, MBEDGE, mbImpl, moab::Range::rbegin(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), and moab::TYPE_FROM_HANDLE().
Referenced by construct_dual().
|
private |
construct dual faces for specified edges
Definition at line 373 of file DualTool.cpp.
References add_graphics_point(), moab::Range::begin(), check_dual_equiv_edges(), moab::Interface::create_element(), moab::CN::Dimension(), dualEntity_tag(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::MeshTopoUtil::get_average_position(), get_radial_dverts(), moab::Range::insert(), isDualCell_tag(), MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, MBEDGE, mbImpl, MBPOLYGON, moab::Range::merge(), moab::Range::rbegin(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), TRC, and moab::TYPE_FROM_HANDLE().
Referenced by construct_dual().
|
private |
traverse dual faces of input dimension, constructing dual hyperplanes of them in sets as it goes
Definition at line 825 of file DualTool.cpp.
References check_1d_loop_edge(), moab::debug, dim, dualCurve_tag(), dualSurface_tag(), entities, ErrorCode, get_dual_entities(), moab::Interface::get_number_entities_by_type(), moab::Interface::id_from_handle(), MB_SUCCESS, MB_TAG_NOT_FOUND, MBHEX, mbImpl, MBQUAD, order_chord(), moab::Interface::tag_get_data(), and traverse_hyperplane().
Referenced by construct_hex_dual().
|
private |
Definition at line 233 of file DualTool.cpp.
References add_graphics_point(), moab::Interface::create_vertex(), dualEntity_tag(), ErrorCode, extraDualEntity_tag(), moab::MeshTopoUtil::get_average_position(), isDualCell_tag(), MB_SUCCESS, mbImpl, and moab::Interface::tag_set_data().
Referenced by construct_dual_edges(), and construct_dual_vertices().
|
private |
construct dual vertices for specified regions
Definition at line 197 of file DualTool.cpp.
References moab::Range::begin(), construct_dual_vertex(), moab::CN::Dimension(), dualEntity_tag(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Range::insert(), MB_SUCCESS, mbImpl, moab::Range::rbegin(), moab::Interface::tag_get_data(), and moab::TYPE_FROM_HANDLE().
Referenced by construct_dual().
ErrorCode moab::DualTool::construct_hex_dual | ( | EntityHandle * | entities, |
const int | num_entities | ||
) |
construct the dual entities for a hex mesh, including dual surfaces & curves
Definition at line 717 of file DualTool.cpp.
References construct_dual(), construct_dual_hyperplanes(), construct_hp_parent_child(), entities, ErrorCode, and MB_SUCCESS.
Referenced by atomic_pillow(), construct_hex_dual(), face_open_collapse(), face_shrink(), rev_atomic_pillow(), and rev_face_shrink().
construct the dual entities for a hex mesh, including dual surfaces & curves
Definition at line 709 of file DualTool.cpp.
References construct_hex_dual(), and entities.
|
private |
connect dual surfaces with dual curves using parent/child connections
Definition at line 1141 of file DualTool.cpp.
References moab::Interface::add_parent_child(), moab::Range::begin(), moab::Range::clear(), dualCurve_tag(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), get_dual_hyperplanes(), moab::Interface::get_entities_by_handle(), moab::Range::insert(), MB_SUCCESS, mbImpl, moab::Range::size(), moab::Interface::tag_get_data(), and moab::Interface::UNION.
Referenced by construct_hex_dual().
|
private |
make a new dual hyperplane with the specified id; if the id specified is -1, set the new one's id to the max found
Definition at line 1083 of file DualTool.cpp.
References CATEGORY_TAG_SIZE, categoryTag, moab::Interface::create_meshset(), dim, dualCurve_tag(), dualSurface_tag(), ErrorCode, get_dual_hyperplanes(), globalId_tag(), globalIdTag, MB_SUCCESS, mbImpl, MESHSET_SET, MESHSET_TRACK_OWNER, RR, moab::Range::size(), moab::Interface::tag_get_data(), and moab::Interface::tag_set_data().
Referenced by traverse_hyperplane().
|
private |
delete a dual entity; updates primal to no longer point to it
Definition at line 1639 of file DualTool.cpp.
References entities.
Referenced by atomic_pillow(), face_shrink(), foc_delete_dual(), rev_atomic_pillow(), and rev_face_shrink().
delete a range of dual entities; updates primal to no longer point to them
Definition at line 1646 of file DualTool.cpp.
References moab::Range::begin(), check_1d_loop_edge(), moab::Interface::delete_entities(), delete_whole_dual(), dualEntity_tag(), moab::Range::end(), entities, ErrorCode, extraDualEntity_tag(), moab::Interface::get_adjacencies(), get_dual_entity(), get_extra_dual_entity(), moab::Range::insert(), mbImpl, MBPOLYGON, RR, moab::Interface::tag_set_data(), and moab::Interface::type_from_handle().
ErrorCode moab::DualTool::delete_whole_dual | ( | ) |
delete all the dual data
Definition at line 3180 of file DualTool.cpp.
References moab::Interface::delete_entities(), dualCurveTag, dualEntityTag, dualGraphicsPointTag, dualSurfaceTag, ErrorCode, extraDualEntityTag, get_dual_hyperplanes(), moab::Interface::get_entities_by_type_and_tag(), isDualCellTag, MB_SUCCESS, MB_TAG_NOT_FOUND, MBEDGE, mbImpl, MBPOLYGON, MBPOLYHEDRON, MBVERTEX, moab::Range::rbegin(), moab::Range::rend(), RR, moab::Interface::tag_delete(), and moab::Interface::UNION.
Referenced by delete_dual_entities().
|
inline |
get/set the tag for dual curves
Definition at line 395 of file DualTool.hpp.
References dualCurveTag.
Referenced by construct_dual_hyperplanes(), construct_hp_parent_child(), construct_new_hyperplane(), get_dual_hyperplane(), list_entities(), and set_dual_surface_or_curve().
get/set the tag for dual curves
Definition at line 439 of file DualTool.hpp.
References dualCurveTag, ErrorCode, and MB_SUCCESS.
|
inline |
get/set the tag for dual entities
Definition at line 405 of file DualTool.hpp.
References dualEntityTag.
Referenced by check_1d_loop_edge(), check_dual_equiv_edges(), construct_dual_cells(), construct_dual_edges(), construct_dual_faces(), construct_dual_vertex(), construct_dual_vertices(), delete_dual_entities(), get_dual_entities(), get_dual_entity(), get_radial_dverts(), rev_atomic_pillow(), and traverse_hyperplane().
get/set the tag for dual entities
Definition at line 465 of file DualTool.hpp.
References dualEntityTag, ErrorCode, and MB_SUCCESS.
|
inline |
get/set the tag for dual entities
Definition at line 415 of file DualTool.hpp.
References dualGraphicsPointTag.
Referenced by add_graphics_point(), get_cell_points(), and get_graphics_points().
get/set the tag for dual entities
Definition at line 491 of file DualTool.hpp.
References dualGraphicsPointTag, ErrorCode, and MB_SUCCESS.
|
inline |
get/set the tag for dual surfaces
Definition at line 390 of file DualTool.hpp.
References dualSurfaceTag.
Referenced by construct_dual_hyperplanes(), construct_new_hyperplane(), get_dual_hyperplane(), list_entities(), and set_dual_surface_or_curve().
get/set the tag for dual surfaces
Definition at line 426 of file DualTool.hpp.
References dualSurfaceTag, ErrorCode, and MB_SUCCESS.
|
inline |
get/set the tag for dual entities
Definition at line 410 of file DualTool.hpp.
References extraDualEntityTag.
Referenced by construct_dual_vertex(), delete_dual_entities(), and get_extra_dual_entity().
get/set the tag for dual entities
Definition at line 478 of file DualTool.hpp.
References ErrorCode, extraDualEntityTag, and MB_SUCCESS.
ErrorCode moab::DualTool::face_open_collapse | ( | EntityHandle | ocl, |
EntityHandle | ocr | ||
) |
effect a face open-collapse operation
Definition at line 1727 of file DualTool.cpp.
References check_dual_adjs(), construct_hex_dual(), moab::debug_ap, ErrorCode, foc_delete_dual(), foc_get_ents(), foc_get_stars(), KEEP_DELETE, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, mbImpl, MBQUAD, moab::Interface::merge_entities(), print_cell(), RR, split_pair_nonmanifold(), and moab::Interface::type_from_handle().
ErrorCode moab::DualTool::face_shrink | ( | EntityHandle | odedge | ) |
effect face shrink operation
Definition at line 2630 of file DualTool.cpp.
References moab::Interface::add_adjacencies(), moab::Range::begin(), construct_hex_dual(), moab::Interface::create_element(), moab::Interface::create_vertex(), moab::debug_ap, delete_dual_entities(), moab::Interface::delete_entities(), dim, moab::Interface::dimension_from_handle(), moab::Range::empty(), moab::Range::end(), moab::MeshTopoUtil::equivalent_entities(), ErrorCode, fs_check_quad_sense(), fs_get_quad_loops(), fs_get_quads(), moab::Interface::get_adjacencies(), moab::MeshTopoUtil::get_bridge_adjacencies(), moab::Interface::get_coords(), get_dual_hyperplane(), moab::Interface::get_entities_by_handle(), globalId_tag(), moab::Range::insert(), maxHexId, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBEDGE, MBHEX, mbImpl, print_cell(), moab::Interface::remove_adjacencies(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
|
private |
function for deleting dual prior to foc operation; special because in many cases need to delete a sheet in preparation for merging onto another
Definition at line 2289 of file DualTool.cpp.
References moab::Range::begin(), delete_dual_entities(), moab::Interface::delete_entities(), dim, moab::Interface::dimension_from_handle(), moab::Range::empty(), moab::Range::end(), moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::MeshTopoUtil::get_bridge_adjacencies(), get_dual_entity(), get_dual_hyperplane(), moab::Interface::get_entities_by_handle(), moab::Interface::get_number_entities_by_handle(), moab::Interface::get_parent_meshsets(), moab::Range::insert(), is_blind(), MB_SUCCESS, mbImpl, moab::Range::merge(), and moab::Interface::UNION.
Referenced by face_open_collapse().
|
private |
for foc's splitting two shared edges, there might be additional entities connected to the split node that also have to be updated
Definition at line 2098 of file DualTool.cpp.
References moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::intersect(), MB_SUCCESS, mbImpl, moab::Range::merge(), RR, size, and moab::Interface::UNION.
Referenced by split_pair_nonmanifold().
ErrorCode moab::DualTool::foc_get_ents | ( | EntityHandle | ocl, |
EntityHandle | ocr, | ||
EntityHandle * | quads, | ||
EntityHandle * | split_edges, | ||
EntityHandle * | split_nodes, | ||
Range & | hexes, | ||
EntityHandle * | other_edges, | ||
EntityHandle * | other_nodes | ||
) |
given the two 1-cells involved in the foc, get entities associated with the quads being opened/collapsed; see implementation for more details
Definition at line 1802 of file DualTool.cpp.
References moab::Range::begin(), moab::MeshTopoUtil::common_entity(), moab::Range::empty(), moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), get_dual_entity(), moab::Range::insert(), MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, mbImpl, MBQUAD, moab::MeshTopoUtil::opposite_entity(), moab::Range::rbegin(), RR, moab::Range::size(), moab::subtract(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
Referenced by face_open_collapse().
|
private |
given the split quads and edges, get the face and hex stars around the edge(s), separated into halves, each of which goes with the new or old entities after the split
Definition at line 2131 of file DualTool.cpp.
References ErrorCode, MB_SUCCESS, mbImpl, RR, and moab::MeshTopoUtil::star_entities().
Referenced by face_open_collapse().
|
private |
check sense of connect arrays, and reverse/rotate if necessary
Definition at line 2846 of file DualTool.cpp.
References moab::MeshTopoUtil::common_entity(), moab::dum, ErrorCode, MB_SUCCESS, mbImpl, and moab::Interface::side_number().
Referenced by face_shrink(), and rev_face_shrink().
|
private |
get loops of quads around 2 hexes, ordered similarly to vertex loops
Definition at line 2821 of file DualTool.cpp.
References moab::Range::begin(), ErrorCode, moab::Interface::get_adjacencies(), moab::Range::insert(), MB_SUCCESS, mbImpl, and moab::Range::size().
Referenced by face_shrink().
|
private |
get the three quads for a face shrink, the two hexes, and the connectivity of the three quads
Definition at line 3138 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::clear(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), get_dual_entity(), get_dual_hyperplane(), moab::Interface::get_entities_by_handle(), MB_SUCCESS, mbImpl, and moab::Range::size().
Referenced by face_shrink(), and rev_face_shrink().
|
private |
given connectivity of first 3 quads for reverse face shrink, get fourth (outer 4 verts to be shared by two inner hexes) and quads around the side of the structure
Definition at line 3082 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::Range::insert(), MB_SUCCESS, mbImpl, RR, moab::Range::size(), and moab::subtract().
Referenced by rev_face_shrink().
|
private |
get points defining facets of a 2cell
Definition at line 1228 of file DualTool.cpp.
References moab::Range::begin(), dualGraphicsPoint_tag(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), moab::Range::insert(), mbImpl, MBPOLYGON, RR, moab::Range::size(), moab::Interface::tag_get_data(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
Referenced by get_graphics_points().
ErrorCode moab::DualTool::get_dual_entities | ( | const EntityHandle | dual_ent, |
Range * | dcells, | ||
Range * | dedges, | ||
Range * | dverts, | ||
Range * | dverts_loop, | ||
Range * | dedges_loop | ||
) |
given a dual surface or curve, return the 2-cells, 1-cells, 0-cells, and loop 0/1-cells, if requested; any of those range pointers can be NULL, in which case that range isn't returned
Definition at line 2496 of file DualTool.cpp.
References moab::Range::begin(), dualEntity_tag(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_entities_by_handle(), moab::Interface::get_entities_by_type(), moab::Range::insert(), MB_SUCCESS, MBEDGE, mbImpl, MBPOLYGON, MBQUAD, RR, moab::Range::size(), moab::Interface::tag_get_data(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
ErrorCode moab::DualTool::get_dual_entities | ( | const int | dim, |
EntityHandle * | entities, | ||
const int | num_entities, | ||
Range & | dual_ents | ||
) |
get the dual entities; if non-null, only dual of entities passed in are returned
get the cells of the dual
Definition at line 756 of file DualTool.cpp.
References dim, dualEntity_tag(), moab::dum, entities, ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_entities_by_type_and_tag(), isDualCell_tag(), isDualCellTag, MB_INDEX_OUT_OF_RANGE, MB_SUCCESS, MBEDGE, mbImpl, MBPOLYGON, MBPOLYHEDRON, MBVERTEX, moab::Range::size(), moab::Interface::tag_get_data(), and moab::Interface::UNION.
Referenced by construct_dual_hyperplanes(), get_dual_entities(), and rev_atomic_pillow().
ErrorCode moab::DualTool::get_dual_entities | ( | const int | dim, |
EntityHandle * | entities, | ||
const int | num_entities, | ||
std::vector< EntityHandle > & | dual_ents | ||
) |
get the dual entities; if non-null, only dual of entities passed in are returned
get the faces of the dual
Definition at line 789 of file DualTool.cpp.
References moab::Range::begin(), dim, moab::Range::end(), entities, ErrorCode, get_dual_entities(), MB_SUCCESS, and moab::Range::size().
EntityHandle moab::DualTool::get_dual_entity | ( | const EntityHandle | this_ent | ) | const |
return the corresponding dual entity
Definition at line 1414 of file DualTool.cpp.
References dualEntity_tag(), ErrorCode, MB_SUCCESS, MB_TAG_NOT_FOUND, mbImpl, and moab::Interface::tag_get_data().
Referenced by atomic_pillow(), check_dual_adjs(), delete_dual_entities(), foc_delete_dual(), foc_get_ents(), fs_get_quads(), is_blind(), list_entities(), order_chord(), and rev_face_shrink().
EntityHandle moab::DualTool::get_dual_hyperplane | ( | const EntityHandle | ncell | ) |
given an entity, return any dual surface or curve it's in
Definition at line 1380 of file DualTool.cpp.
References dualCurve_tag(), dualSurface_tag(), ErrorCode, moab::Interface::get_adjacencies(), MB_SUCCESS, MB_TAG_NOT_FOUND, mbImpl, and moab::Interface::tag_get_data().
Referenced by face_shrink(), foc_delete_dual(), fs_get_quads(), rev_face_shrink(), and traverse_hyperplane().
|
static |
get the d-dimensional hyperplane sets; static 'cuz it's easy to do without an active dualtool
Definition at line 807 of file DualTool.cpp.
References dim, DUAL_CURVE_TAG_NAME, DUAL_SURFACE_TAG_NAME, ErrorCode, moab::Interface::get_entities_by_type_and_tag(), MB_INDEX_OUT_OF_RANGE, MB_SUCCESS, MB_TYPE_HANDLE, MBENTITYSET, moab::Interface::tag_get_handle(), and moab::Interface::UNION.
Referenced by construct_hp_parent_child(), construct_new_hyperplane(), and delete_whole_dual().
EntityHandle moab::DualTool::get_extra_dual_entity | ( | const EntityHandle | this_ent | ) |
return the corresponding extra dual entity
return the corresponding dual entity
Definition at line 1425 of file DualTool.cpp.
References ErrorCode, extraDualEntity_tag(), MB_SUCCESS, MB_TAG_NOT_FOUND, mbImpl, and moab::Interface::tag_get_data().
Referenced by delete_dual_entities().
ErrorCode moab::DualTool::get_graphics_points | ( | const Range & | in_range, |
std::vector< GraphicsPoint > & | gpoints, | ||
const bool | assign_ids = false , |
||
const int | start_id = 0 |
||
) |
get the graphics points for a range of entities or sets (if set, the entities in those sets); optionally reset ids on points
Definition at line 1275 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::clear(), dualGraphicsPoint_tag(), dualGraphicsPointTag, moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_entities_by_handle(), in_range(), moab::Range::insert(), MBEDGE, MBENTITYSET, mbImpl, MBPOLYGON, MBPOLYHEDRON, MBVERTEX, RR, moab::Range::size(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
ErrorCode moab::DualTool::get_graphics_points | ( | EntityHandle | dual_ent, |
std::vector< int > & | npts, | ||
std::vector< GraphicsPoint > & | gpoints | ||
) |
get the graphics points for single entity (dual_ent CAN'T be a set); returns multiple facets, each with npts[i] points
Definition at line 1177 of file DualTool.cpp.
References moab::Interface::dimension_from_handle(), dualGraphicsPoint_tag(), ErrorCode, get_cell_points(), moab::Interface::get_connectivity(), GP_SIZE, MB_SUCCESS, MBENTITYSET, mbImpl, moab::Interface::tag_get_data(), and moab::Interface::type_from_handle().
ErrorCode moab::DualTool::get_opposite_verts | ( | const EntityHandle | middle_edge, |
const EntityHandle | chord, | ||
EntityHandle * | verts | ||
) |
given a 1-cell and a chord, return the neighboring vertices on the chord, in the same order as the 1-cell's vertices
Definition at line 2416 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::MeshTopoUtil::common_entity(), ErrorCode, moab::Interface::get_connectivity(), moab::Interface::get_entities_by_handle(), is_blind(), MB_SUCCESS, mbImpl, RR, moab::Range::size(), and moab::subtract().
|
private |
given an edge handle, return a list of dual vertices in radial order around the edge; also returns whether this edge is on the boundary
given an edge handle, return a list of dual vertices in radial order around the edge
Definition at line 663 of file DualTool.cpp.
References dualEntity_tag(), ErrorCode, moab::Interface::get_connectivity(), MB_SUCCESS, MBEDGE, mbImpl, moab::MeshTopoUtil::star_entities(), moab::Interface::tag_get_data(), and moab::Interface::type_from_handle().
Referenced by construct_dual_faces().
|
inline |
get/set the global id tag
Definition at line 420 of file DualTool.hpp.
References globalIdTag.
Referenced by atomic_pillow(), construct_dual(), construct_new_hyperplane(), face_shrink(), list_entities(), and traverse_hyperplane().
get/set the tag for dual entities
Definition at line 504 of file DualTool.hpp.
References ErrorCode, globalIdTag, and MB_SUCCESS.
bool moab::DualTool::is_blind | ( | const EntityHandle | chord | ) |
returns true if first & last vertices are dual to hexes (not faces)
returns true if all vertices are dual to hexes (not faces)
Definition at line 2389 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::empty(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), get_dual_entity(), moab::Interface::get_entities_by_handle(), MB_SUCCESS, MBENTITYSET, mbImpl, MBQUAD, moab::TYPE_FROM_HANDLE(), and moab::Interface::UNION.
Referenced by foc_delete_dual(), and get_opposite_verts().
|
inline |
get/set the tag for dual cells
Definition at line 400 of file DualTool.hpp.
References isDualCellTag.
Referenced by check_1d_loop_edge(), construct_dual_cells(), construct_dual_edges(), construct_dual_faces(), construct_dual_vertex(), and get_dual_entities().
get/set the tag for dual cells
Definition at line 452 of file DualTool.hpp.
References ErrorCode, isDualCellTag, and MB_SUCCESS.
ErrorCode moab::DualTool::list_entities | ( | const EntityHandle * | entities, |
const int | num_entities | ||
) | const |
Definition at line 2564 of file DualTool.cpp.
References entities, ErrorCode, moab::Interface::get_entities_by_type(), list_entities(), moab::Interface::list_entities(), MB_SUCCESS, mbImpl, MBMAXTYPE, and MBVERTEX.
Definition at line 2591 of file DualTool.cpp.
References dualCurve_tag(), dualSurface_tag(), entities, moab::CN::EntityTypeName(), ErrorCode, get_dual_entity(), globalId_tag(), moab::Interface::id_from_handle(), moab::ID_FROM_HANDLE(), moab::Interface::list_entity(), MB_SUCCESS, MBENTITYSET, mbImpl, moab::Interface::tag_get_data(), moab::Interface::type_from_handle(), and moab::TYPE_FROM_HANDLE().
Referenced by list_entities().
EntityHandle moab::DualTool::next_loop_vertex | ( | const EntityHandle | last_v, |
const EntityHandle | this_v, | ||
const EntityHandle | dual_surf | ||
) |
given a last_v (possibly zero) and this_v, find the next loop vertex on this dual surface
Definition at line 1329 of file DualTool.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::Range::empty(), moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::MeshTopoUtil::get_bridge_adjacencies(), moab::Interface::get_entities_by_type(), moab::Range::insert(), MB_SUCCESS, MBENTITYSET, mbImpl, MBPOLYGON, MBVERTEX, moab::Range::rbegin(), moab::subtract(), moab::Range::swap(), and moab::Interface::type_from_handle().
|
private |
order 1cells on a chord
Definition at line 1022 of file DualTool.cpp.
References moab::Interface::add_entities(), moab::Range::begin(), moab::Range::empty(), moab::Range::end(), moab::Range::erase(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), get_dual_entity(), moab::Interface::get_entities_by_dimension(), MB_SUCCESS, mbImpl, MBQUAD, moab::Interface::remove_entities(), RR, moab::Range::size(), moab::TYPE_FROM_HANDLE(), and moab::Interface::UNION.
Referenced by construct_dual_hyperplanes().
|
private |
Definition at line 1691 of file DualTool.cpp.
References dualEntityTag, ErrorCode, moab::GeomUtil::first(), moab::Interface::get_connectivity(), globalIdTag, moab::Interface::id_from_handle(), MB_SUCCESS, MBHEX, mbImpl, MBQUAD, moab::Interface::tag_get_data(), and moab::Interface::type_from_handle().
Referenced by atomic_pillow(), face_open_collapse(), face_shrink(), rev_atomic_pillow(), and rev_face_shrink().
ErrorCode moab::DualTool::rev_atomic_pillow | ( | EntityHandle | pillow, |
Range & | chords | ||
) |
effect reverse atomic pillow operation
Definition at line 1563 of file DualTool.cpp.
References moab::Range::begin(), construct_hex_dual(), moab::debug_ap, delete_dual_entities(), moab::Interface::delete_entities(), dim, dualEntity_tag(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), get_dual_entities(), moab::Range::insert(), MB_SUCCESS, mbImpl, print_cell(), moab::Range::rbegin(), RR, size, moab::Range::size(), moab::subtract(), moab::Interface::tag_get_data(), and moab::Interface::UNION.
ErrorCode moab::DualTool::rev_face_shrink | ( | EntityHandle | edge | ) |
effect reverse atomic pillow operation
effect reverse face shrink operation
Definition at line 2931 of file DualTool.cpp.
References moab::Interface::add_adjacencies(), moab::Range::begin(), construct_hex_dual(), moab::Interface::create_element(), moab::debug_ap, delete_dual_entities(), moab::Interface::delete_entities(), dim, moab::Interface::dimension_from_handle(), moab::Range::empty(), moab::Range::end(), moab::MeshTopoUtil::equivalent_entities(), moab::Range::erase(), ErrorCode, fs_check_quad_sense(), fs_get_quads(), fsr_get_fourth_quad(), moab::Interface::get_adjacencies(), get_dual_entity(), get_dual_hyperplane(), moab::Interface::get_entities_by_handle(), moab::Range::insert(), MB_MULTIPLE_ENTITIES_FOUND, MB_SUCCESS, MB_TYPE_OUT_OF_RANGE, MBEDGE, mbImpl, MBQUAD, print_cell(), RR, moab::Interface::set_connectivity(), moab::Interface::type_from_handle(), and moab::Interface::UNION.
ErrorCode moab::DualTool::set_dual_surface_or_curve | ( | EntityHandle | entity, |
const EntityHandle | dual_hyperplane, | ||
const int | dimension | ||
) |
set the dual surface or curve for an entity
Definition at line 1399 of file DualTool.cpp.
References dualCurve_tag(), dualSurface_tag(), MB_INDEX_OUT_OF_RANGE, MB_SUCCESS, mbImpl, and moab::Interface::tag_set_data().
|
private |
split a pair of quads and the edge(s) shared by them
Definition at line 1949 of file DualTool.cpp.
References moab::MeshTopoUtil::common_entity(), moab::Range::end(), ErrorCode, moab::Range::find(), foc_get_addl_ents(), moab::Interface::get_adjacencies(), moab::Range::insert(), MB_SUCCESS, mbImpl, moab::Range::rend(), RR, moab::MeshTopoUtil::split_entities_manifold(), and moab::MeshTopoUtil::split_entity_nonmanifold().
Referenced by face_open_collapse().
|
private |
traverse the cells of a dual hyperplane, starting with this_ent (dimension of this_ent determines hyperplane dimension) simpler method for traversing hyperplane, using same basic algorithm but using MeshTopoUtil::get_bridge_adjacencies
Definition at line 893 of file DualTool.cpp.
References moab::Interface::add_entities(), moab::Range::begin(), check_1d_loop_edge(), moab::Range::clear(), construct_new_hyperplane(), moab::debug, moab::debug_ap, dim, moab::Interface::dimension_from_handle(), dualEntity_tag(), moab::Range::end(), ErrorCode, moab::Range::find(), moab::MeshTopoUtil::get_bridge_adjacencies(), get_dual_hyperplane(), globalId_tag(), moab::Interface::id_from_handle(), moab::Range::insert(), MB_SUCCESS, MB_TAG_BIT, MB_TAG_CREAT, MB_TYPE_BIT, mbImpl, RR, moab::Range::size(), moab::subtract(), moab::Interface::tag_delete(), moab::Interface::tag_get_data(), moab::Interface::tag_get_handle(), and moab::Interface::tag_set_data().
Referenced by construct_dual_hyperplanes().
|
private |
Definition at line 384 of file DualTool.hpp.
Referenced by construct_new_hyperplane(), and DualTool().
|
static |
tag name for dual curves
Definition at line 40 of file DualTool.hpp.
Referenced by DualTool(), and get_dual_hyperplanes().
|
static |
tag name for dual entitys
tag name for dual entities
Definition at line 46 of file DualTool.hpp.
Referenced by DualTool().
|
static |
tag name for dual entitys
tag name for graphics point
Definition at line 52 of file DualTool.hpp.
Referenced by DualTool().
|
static |
tag name for dual surfaces
Definition at line 37 of file DualTool.hpp.
Referenced by DualTool(), and get_dual_hyperplanes().
|
private |
tags used for dual surfaces, curves, cells, entities
Definition at line 378 of file DualTool.hpp.
Referenced by delete_whole_dual(), dualCurve_tag(), and DualTool().
|
private |
Definition at line 381 of file DualTool.hpp.
Referenced by delete_whole_dual(), dualEntity_tag(), DualTool(), and print_cell().
|
private |
Definition at line 383 of file DualTool.hpp.
Referenced by delete_whole_dual(), dualGraphicsPoint_tag(), DualTool(), and get_graphics_points().
|
private |
Definition at line 379 of file DualTool.hpp.
Referenced by delete_whole_dual(), dualSurface_tag(), and DualTool().
|
static |
tag name for dual entitys
tag name for extra dual entities
Definition at line 49 of file DualTool.hpp.
Referenced by DualTool().
|
private |
Definition at line 382 of file DualTool.hpp.
Referenced by delete_whole_dual(), DualTool(), and extraDualEntity_tag().
|
private |
Definition at line 385 of file DualTool.hpp.
Referenced by construct_new_hyperplane(), DualTool(), globalId_tag(), and print_cell().
|
static |
|
private |
Definition at line 380 of file DualTool.hpp.
Referenced by delete_whole_dual(), DualTool(), get_dual_entities(), and isDualCell_tag().
|
private |
Definition at line 387 of file DualTool.hpp.
Referenced by atomic_pillow(), construct_dual(), DualTool(), and face_shrink().
|
private |
private copy of interface *
Definition at line 369 of file DualTool.hpp.
Referenced by add_graphics_point(), atomic_pillow(), check_1d_loop_edge(), check_dual_adjs(), check_dual_equiv_edges(), construct_dual(), construct_dual_cells(), construct_dual_edges(), construct_dual_faces(), construct_dual_hyperplanes(), construct_dual_vertex(), construct_dual_vertices(), construct_hp_parent_child(), construct_new_hyperplane(), delete_dual_entities(), delete_whole_dual(), DualTool(), face_open_collapse(), face_shrink(), foc_delete_dual(), foc_get_addl_ents(), foc_get_ents(), foc_get_stars(), fs_check_quad_sense(), fs_get_quad_loops(), fs_get_quads(), fsr_get_fourth_quad(), get_cell_points(), get_dual_entities(), get_dual_entity(), get_dual_hyperplane(), get_extra_dual_entity(), get_graphics_points(), get_opposite_verts(), get_radial_dverts(), is_blind(), list_entities(), next_loop_vertex(), order_chord(), print_cell(), rev_atomic_pillow(), rev_face_shrink(), set_dual_surface_or_curve(), split_pair_nonmanifold(), and traverse_hyperplane().