Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
bvh_tree.hpp File Reference
#include <vector>
#include <set>
#include <iostream>
#include <map>
#include <algorithm>
#include <bitset>
#include <numeric>
#include <cmath>
#include <tr1/unordered_map>
#include <limits>
#include "common_tree.hpp"
+ Include dependency graph for bvh_tree.hpp:

Go to the source code of this file.

Classes

class  moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >

Namespaces

namespace  moab
 

Class representing axis-aligned bounding box.


namespace  moab::_bvh

Defines

#define BVH_TREE_HPP
#define NUM_SPLITS   4
#define NUM_BUCKETS   ( NUM_SPLITS + 1 )
#define SMAX   5

Define Documentation

#define BVH_TREE_HPP

bvh_tree.hpp Ryan H. Lewis (C) 2012

An element tree partitions a mesh composed of elements. We subdivide the bounding box of a me, by putting boxes on the left if there center is on the left of a split line and vice versa.

Definition at line 25 of file bvh_tree.hpp.

#define SMAX   5

Variable Documentation

ct::Box< double > bounding_box

Definition at line 115 of file bvh_tree.hpp.

std::size_t dim
Examples:
DeformMeshRemap.cpp, LaplacianSmoother.cpp, ReduceExchangeTags.cpp, and StructuredMeshSimple.cpp.

Definition at line 45 of file bvh_tree.hpp.

Referenced by moab::GeomTopoTool::add_geo_set(), moab::ParallelComm::assign_global_ids(), moab::BVHTree::bruteforce_find(), moab::BVHTree::Bucket::bucket_index(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bucket_index(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), moab::SweptElementData::calc_num_entities(), moab::ScdElementData::calc_num_entities(), moab::Core::check_adjacencies(), moab::AEntityFactory::check_equiv_entities(), check_valid_connectivity(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::compute_split(), moab::NestedRefine::construct_hm_1D(), moab::GeomTopoTool::construct_obb_tree(), moab::ReadCGM::create_entity_sets(), moab::ReadABAQUS::create_instance_of_part(), moab::ReadOBJ::create_new_object(), moab::ReadGmsh::create_sets(), moab::ReadCGM::create_topology(), moab::GeomTopoTool::delete_obb_tree(), moab::GeomTopoTool::dimension(), moab::BVHTree::distance_search(), dot_nodes(), moab::GeomTopoTool::duplicate_model(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::establish_buckets(), moab::BVHTree::establish_buckets(), moab::DualTool::face_shrink(), smoab::DataSetConverter::fill(), DeformMeshRemap::find_other_sets(), moab::Skinner::find_skin_vertices(), smoab::Interface::findHighestDimensionEntities(), moab::DualTool::foc_delete_dual(), moab::ParallelComm::gather_data(), moab::WriteHDF5::gather_mesh_info(), moab::ReadUtil::gather_related_ents(), moab::ReadRTT::generate_topology(), moab::ScdBox::get_adj_edge_or_face(), get_adjacent_elems(), moab::GeomTopoTool::get_gsets_by_dimension(), moab::Core::get_number_entities_by_dimension(), moab::ParallelComm::get_pstatus_entities(), moab::ReadABAQUS::get_set_elements(), moab::ReadABAQUS::get_set_nodes(), moab::ParallelComm::get_shared_entities(), moab::DGMSolver::get_tri_natural_coords(), moab::HDF5_can_append_hyperslabs(), moab::CN::HONodeParent(), iMesh_getEntArrAdj(), iMOAB_CreateVertices(), GaussIntegration::initialize(), moab::WriteHDF5::initialize_mesh(), moab::ReorderTool::int_order_from_sets_and_adj(), moab::AdaptiveKDTree::intersect_children_with_elems(), iRel_inferArrArrRelations(), moab::Core::list_entity(), moab::Tqdcfr::load_file(), moab::ReadHDF5::load_file_partial(), main(), moab::BVHTree::median_order(), moab::AEntityFactory::merge_adjust_adjacencies(), moab::MergeMesh::merge_higher_dimensions(), mhdf_createAdjacency(), mhdf_createPolyConnectivity(), mhdf_createSetChildren(), mhdf_createSetData(), mhdf_createSetParents(), mhdf_openAdjacency(), mhdf_openSetChildren(), mhdf_openSetData(), mhdf_openSetParents(), mhdf_readHistory(), mhdf_writeHistory(), moab::AEntityFactory::notify_delete_entity(), moab::GeomTopoTool::num_ents_of_dim(), moab::LloydSmoother::perform_smooth(), moab::permute_this(), moab::ElemUtil::point_in_trilinear_hex(), moab::BVHTree::point_search(), moab::print_type_sets(), quads_to_tris(), moab::ReadTetGen::read_elem_file(), DeformMeshRemap::read_file(), moab::ReadTetGen::read_node_file(), moab::ReadHDF5::read_nodes(), relate_geom_mesh(), relate_geom_mesh_test(), moab::GeomTopoTool::remove_root(), moab::CN::resetPermutation(), moab::GeomTopoTool::restore_obb_index(), moab::GeomTopoTool::restore_topology_from_adjacency(), SphereDecomp::retrieve_subdiv_verts(), moab::DualTool::rev_atomic_pillow(), moab::DualTool::rev_face_shrink(), moab::rev_permute_this(), moab::Core::set_dimension(), moab::CN::setPermutation(), moab::Skinner::skin_box(), moab::FBEngine::split_bedge_at_new_mesh_node(), moab::FBEngine::split_edge_at_mesh_node(), moab::FBEngine::split_edge_at_point(), moab::MeshTopoUtil::split_entities_manifold(), moab::MeshTopoUtil::star_next_entity(), moab::ReadCGM::store_group_content(), SphereDecomp::subdivide_tet(), moab::CN::SubEntityNodeIndices(), tag_depth(), tag_get_set_test(), test_existinterface(), moab::DualTool::traverse_hyperplane(), moab::ReadVtk::vtk_read_texture_attrib(), and moab::WriteHDF5::write_nodes().

Entities entities

Definition at line 48 of file bvh_tree.hpp.

Referenced by moab::ParallelComm::assign_global_ids(), moab::TempestRemapper::assign_vertex_element_IDs(), moab::AdaptiveKDTree::best_subdivision_plane(), moab::AdaptiveKDTree::best_subdivision_snap_plane(), moab::AdaptiveKDTree::best_vertex_median_plane(), moab::AdaptiveKDTree::best_vertex_sample_plane(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), AssocPair::change_status(), moab::SmoothCurve::compute_tangents_for_each_edge(), moab::TempestOnlineMap::ComputeMetrics(), moab::HigherOrderFactory::convert(), create_fine_mesh(), moab::ReadGmsh::create_sets(), moab::TempestOnlineMap::DefineAnalyticalSolution(), moab::Skinner::deinitialize(), entity_connectivity_test(), entity_sets_subtest(), moab::ParallelComm::exchange_tags(), moab::ElemEvaluator::find_containing_entity(), moab::BVHTree::find_point(), moab::TempestRemapper::GenerateMeshMetadata(), moab::Core::get_coords(), moab::Tqdcfr::get_mesh_entities(), moab::ParallelComm::get_sharing_data(), moab::BitTag::get_tagged(), moab::get_tagged(), moab::BitTag::get_tagged_entities(), moab::DenseTag::get_tagged_entities(), moab::FBEngine::get_vert_edges(), moab::FBEngine::getEgVtxSense(), moab::FBEngine::getVtxCoord(), moab::ReorderTool::handle_order_from_int_tag(), iMesh_intersect(), iMesh_subtract(), iMesh_unite(), iMeshP_getNumOfTopoAll(), iMeshP_getNumOfTypeAll(), iMeshP_getNumPartBdryEnts(), iMeshP_getPartBdryEnts(), iMeshP_pushTags(), iMeshP_pushTagsEnt(), moab::Skinner::initialize(), iRel_inferArrRelations(), moab::ReadParallel::load_file(), moab::BVHTree::local_build_tree(), main(), moab::FBEngine::measure(), moab::MergeMesh::merge_all(), min_edge_length(), moab::Coupler::normalize_mesh(), ZoltanPartitioner::partition_mesh_and_geometry(), AssocPair::populate_recursive(), moab::Core::print(), moab::Tqdcfr::read_block(), moab::ParCommGraph::receive_mesh(), moab::ParallelComm::reduce_tags(), moab::ReorderTool::reorder_entities(), moab::ParallelComm::send_recv_entities(), moab::TempestRemapper::SetMeshSet(), moab::ParallelComm::settle_intersection_points(), moab::GeomTopoTool::setup_implicit_complement(), moab::FBEngine::split_surface_with_direction(), moab::ReadCGM::store_group_content(), tag_info_test(), moab::Coupler::test_local_box(), topology_adjacency_test(), AssocPair::unpopulate_recursive(), moab::WriteSLAC::write_file(), moab::WriteNCDF::write_file(), and moab::WriteVtk::write_tag().

double Lmax

Definition at line 47 of file bvh_tree.hpp.

double Rmin

Definition at line 47 of file bvh_tree.hpp.

std::size_t size
Examples:
CrystalRouterExample.cpp, and GenLargeMesh.cpp.

Definition at line 139 of file bvh_tree.hpp.

Referenced by moab::ReadUtil::assign_ids(), moab::MeshGeneration::BrickInstance(), PartMap::build_map(), moab::FBEngine::chain_edges(), check_handle_tag_type(), moab::check_int_tag(), moab::WriteHDF5Parallel::check_serial_tag_data(), moab::TagInfo::check_valid_sizes(), check_valid_tag(), moab::BitTag::clear_data(), moab::NCWriteHelper::collect_variable_data(), moab::WriteHDF5Parallel::communicate_shared_set_data(), moab::WriteHDF5Parallel::communicate_shared_set_ids(), moab::ReadHDF5::convert_id_to_handle(), smoab::detail::MixedCellConnectivity::copyConnectivity(), moab::WriteHDF5Parallel::create_adjacency_tables(), moab::NCHelper::create_dummy_variables(), moab::SequenceManager::create_element(), moab::WriteHDF5Parallel::create_element_tables(), moab::ReadMCNP5::create_elements(), moab::NCHelperMPAS::create_local_cells(), moab::WriteHDF5Parallel::create_meshset_tables(), moab::WriteHDF5Parallel::create_tag_tables(), moab::DeInitialize(), moab::FBEngine::delete_smooth_tags(), do_rank_subst(), entity_connectivity_test(), moab::BVHTree::establish_buckets(), moab::DualTool::foc_get_addl_ents(), moab::WriteNCDF::gather_mesh_information(), moab::FileTokenizer::get_binary(), moab::BitTag::get_data(), get_entities(), moab::BitTag::get_entities_with_bits(), get_local_parts(), get_max_volume(), get_num_adj_all(), moab::ReadSms::get_set(), get_tag_desc(), moab::WriteUtil::get_tag_list(), moab::BitTag::get_tagged(), moab::get_tagged(), moab::ReadHDF5::get_tagged_entities(), moab::ParallelMergeMesh::GetGlobalBox(), moab::TempestRemapper::GetOverlapAugmentedEntities(), hash_build_2(), hash_build_3(), hash_opt_size_2(), hash_opt_size_3(), iMesh_getAdjEntIndices(), iMesh_getTagHandle(), iMeshP_getAdjEntIndices(), iMOAB_WriteLocalMesh(), moab::insert_in_vector(), moab::Intx2Mesh::intersect_meshes(), moab::is_zero_bytes(), moab::TempestOnlineMap::IsConservative(), moab::ReadCGNS::load_file(), moab::ReadTetGen::load_file(), moab::ReadMCNP5::load_one_file(), main(), mesh_size_test(), mhdf_createDenseTagData(), mhdf_getFileSummary(), mhdf_getTagInfo(), mhdf_getTagNames(), mhdf_name_to_path_cat(), mhdf_name_to_path_copy(), mhdf_openDenseTagData(), parse_opaque_value(), parse_tag_spec(), parse_values(), moab::ParallelMergeMesh::PerformMerge(), moab::AdaptiveKDTree::print(), moab::print_buff(), moab::ErrorOutput::print_real(), moab::DebugOutput::print_real(), moab::print_type_sets(), moab::ProcConfig::ProcConfig(), moab::ReadHDF5::read_all_set_meta(), moab::ReadMCNP5::read_element_values_and_errors(), moab::Tqdcfr::read_nodes(), moab::ReadNCDF::read_nodesets(), moab::ReadNCDF::read_qa_records(), moab::ReadNCDF::read_sidesets(), smoab::DataSetConverter::readDenseTags(), moab::TempestOnlineMap::ReadParallelMap(), moab::BitTag::remove_data(), moab::remove_from_vector(), remove_var_len_tags(), moab::SequenceManager::reserve_tag_array(), moab::DualTool::rev_atomic_pillow(), run_test(), moab::ReadHDF5::search_tag_values(), moab::BitTag::set_data(), moab::FBEngine::set_default_neumann_tags(), MeshAssocPairSide::set_relation_side(), FBGeomAssocPairSide::set_relation_side(), GeomAssocPairSide::set_relation_side(), moab::ReadHDF5::set_up_read(), moab::ParallelMergeMesh::SortMyMatches(), moab::MeshTopoUtil::split_entities_manifold(), string_tag_value(), smoab::detail::internal::SubsetArray::SubsetArray(), moab::Core::tag_get_handle(), tag_type_string(), test_entity_copies(), test_entity_copy_parts(), test_entity_owner(), test_entity_status(), test_exchange_ents(), test_get_neighbors(), test_get_partitions(), test_get_parts(), test_spectral_quad(), topology_adjacencies_test(), v_hex_relative_size_squared(), v_hex_shape_and_size(), v_hex_shear_and_size(), v_quad_shape_and_size(), v_quad_shear_and_size(), v_set_hex_size(), v_set_quad_size(), v_set_tet_size(), v_set_tri_size(), v_tet_relative_size_squared(), v_tet_shape_and_size(), v_tri_quality(), v_tri_relative_size_squared(), v_tri_shape_and_size(), moab::ReadVtk::vtk_read_color_attrib(), moab::ReadVtk::vtk_read_polygons(), moab::ReadVtk::vtk_read_scalar_attrib(), moab::ReadVtk::vtk_read_tag_data(), moab::WriteHDF5::write_sets(), write_svg(), moab::TempestOnlineMap::WriteHDF5MapFile(), moab::TempestOnlineMap::WriteSCRIPMapFile(), and moab::TempestRemapper::WriteTempestIntersectionMesh().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines