#include <MergeMesh.hpp>
Public Member Functions | |
MergeMesh (Interface *mbImpl, bool printErrorIn=true) | |
virtual | ~MergeMesh () |
ErrorCode | merge_entities (EntityHandle *elems, int elems_size, const double merge_tol, const int do_merge=true, const int update_sets=false, Tag merge_tag=0, bool do_higher_dim=true) |
ErrorCode | merge_entities (Range &elems, const double merge_tol, const int do_merge=true, const int update_sets=false, Tag merge_tag=0, bool do_higher_dim=true) |
ErrorCode | merge_higher_dimensions (Range &elems) |
ErrorCode | merge_using_integer_tag (Range &verts, Tag user_tag, Tag merge_tag=0) |
ErrorCode | perform_merge (Tag merged_to) |
ErrorCode | merge_all (EntityHandle meshset, const double merge_tol) |
Private Member Functions | |
ErrorCode | find_merged_to (EntityHandle &tree_root, AdaptiveKDTree &tree, Tag merged_to) |
Private Attributes | |
Interface * | mbImpl |
Tag | mbMergeTag |
double | mergeTol |
double | mergeTolSq |
std::set< EntityHandle > | deadEnts |
std::set< EntityHandle > | mergedToVertices |
bool | printError |
Definition at line 13 of file MergeMesh.hpp.
moab::MergeMesh::MergeMesh | ( | Interface * | mbImpl, |
bool | printErrorIn = true |
||
) |
Definition at line 22 of file MergeMesh.cpp.
|
virtual |
Definition at line 27 of file MergeMesh.cpp.
References mbImpl, mbMergeTag, and moab::Interface::tag_delete().
|
private |
Definition at line 265 of file MergeMesh.cpp.
References moab::CartVect::array(), moab::Range::begin(), moab::Range::clear(), deadEnts, moab::AdaptiveKDTree::distance_search(), moab::Range::empty(), ErrorCode, moab::Interface::get_coords(), moab::Interface::get_entities_by_handle(), moab::AdaptiveKDTree::get_tree_iterator(), moab::AdaptiveKDTreeIter::handle(), length_squared(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, mbImpl, mergeTol, mergeTolSq, moab::Range::size(), moab::AdaptiveKDTreeIter::step(), moab::Interface::tag_get_data(), moab::Interface::tag_set_data(), and moab::Interface::UNION.
Referenced by merge_all(), and merge_entities().
ErrorCode moab::MergeMesh::merge_all | ( | EntityHandle | meshset, |
const double | merge_tol | ||
) |
Definition at line 118 of file MergeMesh.cpp.
References moab::AdaptiveKDTree::build_tree(), deadEnts, entities, ErrorCode, find_merged_to(), moab::Interface::get_connectivity(), moab::Interface::get_entities_by_handle(), MB_CHK_ERR, MB_SUCCESS, MB_TAG_DENSE, MB_TAG_EXCL, MB_TYPE_HANDLE, MBENTITYSET, mbImpl, mbMergeTag, merge_higher_dimensions(), mergeTol, mergeTolSq, perform_merge(), moab::subtract(), and moab::Interface::tag_get_handle().
Referenced by main(), and moab::IntxUtils::remove_duplicate_vertices().
ErrorCode moab::MergeMesh::merge_entities | ( | EntityHandle * | elems, |
int | elems_size, | ||
const double | merge_tol, | ||
const int | do_merge = true , |
||
const int | update_sets = false , |
||
Tag | merge_tag = 0 , |
||
bool | do_higher_dim = true |
||
) |
Definition at line 33 of file MergeMesh.cpp.
References ErrorCode, moab::Range::insert(), mergeTol, and mergeTolSq.
Referenced by moab::MeshGeneration::BrickInstance(), main(), and moab::ParallelMergeMesh::PopulateMySkinEnts().
ErrorCode moab::MergeMesh::merge_entities | ( | Range & | elems, |
const double | merge_tol, | ||
const int | do_merge = true , |
||
const int | update_sets = false , |
||
Tag | merge_tag = 0 , |
||
bool | do_higher_dim = true |
||
) |
Definition at line 60 of file MergeMesh.cpp.
References moab::AdaptiveKDTree::build_tree(), deadEnts, ErrorCode, find_merged_to(), moab::Skinner::find_skin(), MB_SUCCESS, MB_TAG_DENSE, MB_TAG_EXCL, MB_TYPE_HANDLE, mbImpl, mbMergeTag, merge_higher_dimensions(), mergeTol, mergeTolSq, perform_merge(), and moab::Interface::tag_get_handle().
Definition at line 371 of file MergeMesh.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::Interface::delete_entities(), dim, moab::Range::end(), moab::Range::erase(), ErrorCode, moab::Skinner::find_skin(), moab::Interface::get_adjacencies(), moab::Interface::get_connectivity(), moab::Range::insert(), moab::intersect(), moab::Interface::INTERSECT, MB_SUCCESS, mbImpl, moab::Interface::merge_entities(), mergedToVertices, moab::Range::size(), and moab::Interface::UNION.
Referenced by merge_all(), and merge_entities().
ErrorCode moab::MergeMesh::merge_using_integer_tag | ( | Range & | verts, |
Tag | user_tag, | ||
Tag | merge_tag = 0 |
||
) |
Definition at line 215 of file MergeMesh.cpp.
References moab::Range::begin(), moab::compare_handle_id(), deadEnts, moab::Range::end(), ErrorCode, moab::GeomUtil::first(), MB_SUCCESS, MB_TAG_DENSE, MB_TAG_EXCL, MB_TYPE_HANDLE, MB_TYPE_INTEGER, mbImpl, mbMergeTag, perform_merge(), moab::Range::size(), moab::Interface::tag_get_data(), moab::Interface::tag_get_data_type(), moab::Interface::tag_get_handle(), and moab::Interface::tag_set_data().
Referenced by moab::MeshGeneration::BrickInstance(), and main().
Definition at line 157 of file MergeMesh.cpp.
References deadEnts, moab::Interface::delete_entities(), ErrorCode, MB_SUCCESS, mbImpl, MBVERTEX, moab::Interface::merge_entities(), mergedToVertices, printError, moab::Interface::tag_get_data(), moab::Interface::type_from_handle(), and moab::TYPE_FROM_HANDLE().
Referenced by merge_all(), merge_entities(), and merge_using_integer_tag().
|
private |
Definition at line 69 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), merge_entities(), merge_using_integer_tag(), and perform_merge().
|
private |
Definition at line 61 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), merge_entities(), merge_higher_dimensions(), merge_using_integer_tag(), perform_merge(), and ~MergeMesh().
|
private |
Definition at line 64 of file MergeMesh.hpp.
Referenced by merge_all(), merge_entities(), merge_using_integer_tag(), and ~MergeMesh().
|
private |
Definition at line 72 of file MergeMesh.hpp.
Referenced by merge_higher_dimensions(), and perform_merge().
|
private |
Definition at line 66 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), and merge_entities().
|
private |
Definition at line 66 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), and merge_entities().
|
private |
Definition at line 75 of file MergeMesh.hpp.
Referenced by perform_merge().