#include <SphereDecomp.hpp>
Public Member Functions | |
SphereDecomp (moab::Interface *impl) | |
moab::ErrorCode | build_sphere_mesh (const char *sphere_radii_tag_name, moab::EntityHandle *hex_set=NULL) |
Private Member Functions | |
moab::ErrorCode | compute_nodes (const int dim) |
compute subdivision vertices on entities of specified dimension More... | |
moab::ErrorCode | build_hexes (std::vector< moab::EntityHandle > &sphere_hexes, std::vector< moab::EntityHandle > &interstic_hexes) |
subdivide tets based on subdiv vertices, returning in lists according to whether they're inside or outside spheres More... | |
moab::ErrorCode | subdivide_tet (moab::EntityHandle tet, std::vector< moab::EntityHandle > &sphere_hexes, std::vector< moab::EntityHandle > &interstic_hexes) |
subdivide an individual tet More... | |
moab::ErrorCode | retrieve_subdiv_verts (moab::EntityHandle tet, moab::EntityHandle this_ent, const moab::EntityHandle *tet_conn, const int dim, moab::EntityHandle *subdiv_verts) |
retrieve the subdivision vertices for a given entity in a given tet, placing them in the array oriented wrt the tet More... | |
Private Attributes | |
moab::Tag | sphereRadiiTag |
tag used to hold sphere radii (assigned to vertices) More... | |
moab::Tag | subdivVerticesTag |
used to store subdiv vertices for a given d>0 entity More... | |
moab::Interface * | mbImpl |
MOAB interface ptr. More... | |
Definition at line 6 of file SphereDecomp.hpp.
SphereDecomp::SphereDecomp | ( | moab::Interface * | impl | ) |
Definition at line 16 of file SphereDecomp.cpp.
|
private |
subdivide tets based on subdiv vertices, returning in lists according to whether they're inside or outside spheres
Definition at line 143 of file SphereDecomp.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, MB_SUCCESS, MBTET, and RR.
ErrorCode SphereDecomp::build_sphere_mesh | ( | const char * | sphere_radii_tag_name, |
moab::EntityHandle * | hex_set = NULL |
||
) |
Definition at line 21 of file SphereDecomp.cpp.
References moab::MeshTopoUtil::construct_aentities(), ErrorCode, MB_TAG_DENSE, MB_TAG_EXCL, MB_TYPE_DOUBLE, MB_TYPE_HANDLE, MBVERTEX, MESHSET_SET, RR, and SUBDIV_VERTICES_TAG_NAME.
Referenced by main().
|
private |
compute subdivision vertices on entities of specified dimension
Definition at line 64 of file SphereDecomp.cpp.
References moab::Range::begin(), dim, moab::Range::end(), ErrorCode, moab::MeshTopoUtil::get_average_position(), MB_SUCCESS, MBEDGE, MBTET, MBTRI, MBVERTEX, moab::Range::rbegin(), RR, and moab::CN::VerticesPerEntity().
|
private |
retrieve the subdivision vertices for a given entity in a given tet, placing them in the array oriented wrt the tet
Definition at line 591 of file SphereDecomp.cpp.
References dim, ErrorCode, MB_SUCCESS, MBTET, RR, moab::CN::SideNumber(), and SWITCH.
|
private |
subdivide an individual tet
Definition at line 158 of file SphereDecomp.cpp.
References AINDEX, BINDEX, CINDEX, CV, dim, DINDEX, EINDEX, ErrorCode, ESV, FINDEX, FSV, GINDEX, HINDEX, IINDEX, MBHEX, RR, TSV, V0INDEX, V1INDEX, V2INDEX, and V3INDEX.
|
private |
MOAB interface ptr.
Definition at line 42 of file SphereDecomp.hpp.
|
private |
tag used to hold sphere radii (assigned to vertices)
Definition at line 36 of file SphereDecomp.hpp.
|
private |
used to store subdiv vertices for a given d>0 entity
Definition at line 39 of file SphereDecomp.hpp.