#include <MergeMesh.hpp>
Collaboration diagram for moab::MergeMesh: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 264 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, 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::Range::subset_by_type(), 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 370 of file MergeMesh.cpp.
References moab::Range::begin(), moab::Range::clear(), moab::Interface::delete_entities(), 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 214 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(), iMOAB_ReceiveMesh(), and main().
Definition at line 156 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 67 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), merge_entities(), merge_using_integer_tag(), and perform_merge().
|
private |
Definition at line 59 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 62 of file MergeMesh.hpp.
Referenced by merge_all(), merge_entities(), merge_using_integer_tag(), and ~MergeMesh().
|
private |
Definition at line 70 of file MergeMesh.hpp.
Referenced by merge_higher_dimensions(), and perform_merge().
|
private |
Definition at line 64 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), and merge_entities().
|
private |
Definition at line 64 of file MergeMesh.hpp.
Referenced by find_merged_to(), merge_all(), and merge_entities().
|
private |
Definition at line 73 of file MergeMesh.hpp.
Referenced by perform_merge().