|  | v0.15.0 | 
TetGen interface. More...
#include "src/interfaces/TetGenInterface.hpp"
| Public Types | |
| enum | tetGenNodesTypes { RIDGEVERTEX = 0 , FREESEGVERTEX = 1 , FREEFACETVERTEX = 2 , FREEVOLVERTEX = 3 } | 
| typedef std::map< EntityHandle, unsigned long > | moabTetGen_Map | 
| typedef std::map< unsigned long, EntityHandle > | tetGenMoab_Map | 
| typedef std::map< int, Range > | idxRange_Map | 
| Public Member Functions | |
| MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const | 
| TetGenInterface (const MoFEM::Core &core) | |
| MoFEMErrorCode | inData (Range &ents, tetgenio &in, moabTetGen_Map &moab_tetgen_map, tetGenMoab_Map &tetgen_moab_map, Tag th=NULL) | 
| create TetGen data structure form range of moab entities | |
| MoFEMErrorCode | setGeomData (tetgenio &in, moabTetGen_Map &moab_tetgen_map, tetGenMoab_Map &tetgen_moab_map, std::map< int, Range > &type_ents) | 
| set point tags and type | |
| MoFEMErrorCode | outData (tetgenio &in, tetgenio &out, moabTetGen_Map &moab_tetgen_map, tetGenMoab_Map &tetgen_moab_map, Range *ents=NULL, bool id_in_tags=false, bool error_if_created=false, bool assume_first_nodes_the_same=false, Tag th=nullptr) | 
| get entities for TetGen data structure | |
| MoFEMErrorCode | outData (tetgenio &in, tetgenio &out, moabTetGen_Map &moab_tetgen_map, tetGenMoab_Map &tetgen_moab_map, BitRefLevel bit, bool id_in_tags=false, bool error_if_created=false, bool assume_first_nodes_the_same=false, Tag th=nullptr) | 
| get entities for TetGen data structure | |
| MoFEMErrorCode | setFaceData (std::vector< std::pair< Range, int > > &markers, tetgenio &in, moabTetGen_Map &moab_tetgen_map, tetGenMoab_Map &tetgen_moab_map) | 
| set markers to faces | |
| MoFEMErrorCode | getTriangleMarkers (tetGenMoab_Map &tetgen_moab_map, tetgenio &out, Range *ents=NULL, idxRange_Map *ents_map=NULL, bool only_non_zero=true) | 
| get markers to faces | |
| MoFEMErrorCode | setRegionData (std::vector< std::pair< EntityHandle, int > > ®ions, tetgenio &in, Tag th=NULL) | 
| set region data to tetrahedral | |
| MoFEMErrorCode | getRegionData (tetGenMoab_Map &tetgen_moab_map, tetgenio &out, Range *ents=NULL, idxRange_Map *ents_map=NULL) | 
| get region data to tetrahedral | |
| MoFEMErrorCode | tetRahedralize (char switches[], tetgenio &in, tetgenio &out) | 
| run tetgen | |
| MoFEMErrorCode | loadPoly (char file_name[], tetgenio &in) | 
| load poly file | |
| MoFEMErrorCode | checkPlanar_Trinagle (double coords[], bool *result, const double eps=1e-9) | 
| MoFEMErrorCode | groupPlanar_Triangle (Range &tris, std::vector< Range > &sorted, const double eps=1e-9, Tag th=NULL) | 
| MoFEMErrorCode | groupRegion_Triangle (Range &tris, std::vector< std::vector< Range > > &sorted, const double eps=1e-9) | 
| Group surface triangles in planar regions. | |
| MoFEMErrorCode | makePolygonFacet (Range &ents, Range &polygons, bool reduce_edges=false, Range *not_reducable_nodes=NULL, const double eps=1e-9, Tag th=NULL) | 
|  Public Member Functions inherited from MoFEM::UnknownInterface | |
| template<class IFACE > | |
| MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) | 
| Register interface. | |
| template<class IFACE > | |
| MoFEMErrorCode | getInterface (IFACE *&iface) const | 
| Get interface reference to pointer of interface. | |
| template<class IFACE > | |
| MoFEMErrorCode | getInterface (IFACE **const iface) const | 
| Get interface pointer to pointer of interface. | |
| template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
| IFACE | getInterface () const | 
| Get interface pointer to pointer of interface. | |
| template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
| IFACE | getInterface () const | 
| Get reference to interface. | |
| template<class IFACE > | |
| IFACE * | getInterface () const | 
| Function returning pointer to interface. | |
| virtual | ~UnknownInterface ()=default | 
| Public Attributes | |
| MoFEM::Core & | cOre | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from MoFEM::UnknownInterface | |
| static MoFEMErrorCode | getLibVersion (Version &version) | 
| Get library version. | |
| static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) | 
| Get database major version. | |
| static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) | 
| Get database major version. | |
| static MoFEMErrorCode | getInterfaceVersion (Version &version) | 
| Get database major version. | |
TetGen interface.
Definition at line 23 of file TetGenInterface.hpp.
| typedef std::map<int, Range> MoFEM::TetGenInterface::idxRange_Map | 
Definition at line 34 of file TetGenInterface.hpp.
| typedef std::map<EntityHandle, unsigned long> MoFEM::TetGenInterface::moabTetGen_Map | 
Definition at line 32 of file TetGenInterface.hpp.
| typedef std::map<unsigned long, EntityHandle> MoFEM::TetGenInterface::tetGenMoab_Map | 
Definition at line 33 of file TetGenInterface.hpp.
| Enumerator | |
|---|---|
| RIDGEVERTEX | |
| FREESEGVERTEX | |
| FREEFACETVERTEX | |
| FREEVOLVERTEX | |
Definition at line 49 of file TetGenInterface.hpp.
| 
 | inline | 
Definition at line 29 of file TetGenInterface.hpp.
| MoFEMErrorCode MoFEM::TetGenInterface::checkPlanar_Trinagle | ( | double | coords[], | 
| bool * | result, | ||
| const double | eps = 1e-9 | ||
| ) | 
Definition at line 662 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::getRegionData | ( | tetGenMoab_Map & | tetgen_moab_map, | 
| tetgenio & | out, | ||
| Range * | ents = NULL, | ||
| idxRange_Map * | ents_map = NULL | ||
| ) | 
get region data to tetrahedral
Definition at line 606 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::getTriangleMarkers | ( | tetGenMoab_Map & | tetgen_moab_map, | 
| tetgenio & | out, | ||
| Range * | ents = NULL, | ||
| idxRange_Map * | ents_map = NULL, | ||
| bool | only_non_zero = true | ||
| ) | 
get markers to faces
| markers | data structure with markers | 
| in | tetgen data structure (look to TetGen user manual) | 
| moab_tetgen_map | mapping MoAB to TetGen entities | 
| tetgen_moab_map | mapping TetGen to MoAB entities | 
Definition at line 509 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::groupPlanar_Triangle | ( | Range & | tris, | 
| std::vector< Range > & | sorted, | ||
| const double | eps = 1e-9, | ||
| Tag | th = NULL | ||
| ) | 
Definition at line 697 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::groupRegion_Triangle | ( | Range & | tris, | 
| std::vector< std::vector< Range > > & | sorted, | ||
| const double | eps = 1e-9 | ||
| ) | 
Group surface triangles in planar regions.
| tris | input triangles | 
| sorted | output sorted planar faces | 
| eps | tolerance | 
Definition at line 812 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::inData | ( | Range & | ents, | 
| tetgenio & | in, | ||
| moabTetGen_Map & | moab_tetgen_map, | ||
| tetGenMoab_Map & | tetgen_moab_map, | ||
| Tag | th = NULL | ||
| ) | 
create TetGen data structure form range of moab entities
Move mesh to TetGen data structures
| ents | range of entities (tetrahedrons or nodes) | 
| in | tetgen data structure (look to TetGen user manual) | 
| moab_tetgen_map | mapping moab to TetGen entities | 
| tetgen_moab_map | mapping tetgen to moab entities | 
Definition at line 38 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::loadPoly | ( | char | file_name[], | 
| tetgenio & | in | ||
| ) | 
load poly file
Definition at line 654 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::makePolygonFacet | ( | Range & | ents, | 
| Range & | polygons, | ||
| bool | reduce_edges = false, | ||
| Range * | not_reducable_nodes = NULL, | ||
| const double | eps = 1e-9, | ||
| Tag | th = NULL | ||
| ) | 
make planar polygon facet
| ents | surface triangles | 
| polygons | output list of polygons | 
| reduce_edges | reduce edges if on the line | 
| not_reducable_nodes | do not reduce node on edge if in this range | 
| eps | tolerance | 
Definition at line 842 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::outData | ( | tetgenio & | in, | 
| tetgenio & | out, | ||
| moabTetGen_Map & | moab_tetgen_map, | ||
| tetGenMoab_Map & | tetgen_moab_map, | ||
| BitRefLevel | bit, | ||
| bool | id_in_tags = false, | ||
| bool | error_if_created = false, | ||
| bool | assume_first_nodes_the_same = false, | ||
| Tag | th = nullptr | ||
| ) | 
get entities for TetGen data structure
| ents | range of entities (tetrahedrons or nodes) | 
| in | tetgen data structure (look to TetGen user manual) | 
| moab_tetgen_map | mapping MoAB to TetGen entities | 
| tetgen_moab_map | mapping TetGen to MoAB entities | 
| ents | rerun entities which are in TetGen data structure | 
| bit | set level to created entities | 
| error_if_created | throw error if node need to be created | 
Definition at line 439 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::outData | ( | tetgenio & | in, | 
| tetgenio & | out, | ||
| moabTetGen_Map & | moab_tetgen_map, | ||
| tetGenMoab_Map & | tetgen_moab_map, | ||
| Range * | ents = NULL, | ||
| bool | id_in_tags = false, | ||
| bool | error_if_created = false, | ||
| bool | assume_first_nodes_the_same = false, | ||
| Tag | th = nullptr | ||
| ) | 
get entities for TetGen data structure
| ents | range of entities (tetrahedrons or nodes) | 
| in | tetgen data structure (look to TetGen user manual) | 
| moab_tetgen_map | mapping MoAB to TetGen entities | 
| tetgen_moab_map | mapping TetGen to moab entities | 
| ents | rerun entities which are in TetGen Data structure | 
| id_in_tags | use tags as entity handles, if that is a case use tag to find MoAB vertex id | 
| error_if_created | throw error if node need to be created | 
Definition at line 246 of file TetGenInterface.cpp.
| 
 | virtual | 
Implements MoFEM::UnknownInterface.
Definition at line 31 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::setFaceData | ( | std::vector< std::pair< Range, int > > & | markers, | 
| tetgenio & | in, | ||
| moabTetGen_Map & | moab_tetgen_map, | ||
| tetGenMoab_Map & | tetgen_moab_map | ||
| ) | 
set markers to faces
| markers | data structure with markers | 
| in | tetgen data structure (look to TetGen user manual) | 
| moab_tetgen_map | mapping MoAB to TetGen entities | 
| tetgen_moab_map | mapping TetGen to MoAB entities | 
Definition at line 454 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::setGeomData | ( | tetgenio & | in, | 
| moabTetGen_Map & | moab_tetgen_map, | ||
| tetGenMoab_Map & | tetgen_moab_map, | ||
| std::map< int, Range > & | type_ents | ||
| ) | 
set point tags and type
Set type of entity, look in TetGen manual for details
Definition at line 197 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::setRegionData | ( | std::vector< std::pair< EntityHandle, int > > & | regions, | 
| tetgenio & | in, | ||
| Tag | th = NULL | ||
| ) | 
set region data to tetrahedral
Definition at line 556 of file TetGenInterface.cpp.
| MoFEMErrorCode MoFEM::TetGenInterface::tetRahedralize | ( | char | switches[], | 
| tetgenio & | in, | ||
| tetgenio & | out | ||
| ) | 
run tetgen
Definition at line 646 of file TetGenInterface.cpp.
| MoFEM::Core& MoFEM::TetGenInterface::cOre | 
Definition at line 28 of file TetGenInterface.hpp.
