MOAB: Mesh Oriented datABase  (version 5.1.1)
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

Definition at line 99 of file bvh_tree.hpp.

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

Definition at line 44 of file bvh_tree.hpp.

Referenced by moab::GeomTopoTool::add_geo_set(), moab::ParallelComm::assign_global_ids(), MBMesquite::AveragingQM::average_corner_gradients(), TopologyInfoTest::bad_type(), 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(), check_adj_ho_nodes(), moab::Core::check_adjacencies(), moab::AEntityFactory::check_equiv_entities(), check_geometric_set(), check_parallel_read(), check_range_set(), check_set_contents(), check_valid_connectivity(), MBMesquite::MsqIRel::closest_point(), geomObject::compute_projecterror(), 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(), MBMesquite::create_ideal_element_patch(), moab::ReadABAQUS::create_instance_of_part(), moab::ReadOBJ::create_new_object(), create_regular_mesh(), moab::ReadGmsh::create_sets(), moab::ReadCGM::create_topology(), moab::GeomTopoTool::delete_obb_tree(), moab::GeomTopoTool::dimension(), MBMesquite::dimension_sort_domains(), moab::BVHTree::distance_search(), do_file(), MBMesquite::MsqIGeom::domain_DoF(), dot_nodes(), moab::GeomTopoTool::duplicate_model(), moab::BVHTree::establish_buckets(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::establish_buckets(), moab::DualTool::face_shrink(), smoab::DataSetConverter::fill(), DeformMeshRemap::find_other_sets(), TopologyInfoTest::find_side(), MBMesquite::find_skin(), 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(), MBMesquite::geom_classify_vertices(), MBMesquite::MsqIRel::geom_from_mesh(), MBMesquite::TargetReader::get_2D_target(), MBMesquite::TargetReader::get_3D_target(), moab::ScdBox::get_adj_edge_or_face(), get_adjacent_elems(), MBMesquite::PatchData::get_adjacent_vertex_indices(), MBMesquite::ObjectiveFunction::get_eps(), 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(), MBMesquite::TargetReader::get_surface_target(), MBMesquite::TargetWriter::get_target_tag(), moab::DGMSolver::get_tri_natural_coords(), MBMesquite::PatchData::get_vertex_element_indices(), MBMesquite::MeshImplData::has_adjacent_elements(), moab::HDF5_can_append_hyperslabs(), TopologyInfoTest::higher_order_from_side(), moab::CN::HONodeParent(), iMesh_getEntArrAdj(), iMOAB_CreateVertices(), GaussIntegration::initialize(), moab::WriteHDF5::initialize_mesh(), MBMesquite::Instruction::initialize_vertex_byte(), 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(), MBMesquite::TargetWriter::loop_over_mesh(), MBMesquite::SlaveBoundaryVertices::loop_over_mesh(), main(), make_mesh(), mb_canon_number_test(), mb_mesh_sets_test(), mb_skin_reversed_common(), mb_skin_verts_common(), mb_upward_adjacencies_test(), moab::BVHTree::median_order(), moab::AEntityFactory::merge_adjust_adjacencies(), moab::MergeMesh::merge_higher_dimensions(), merge_with_tag_test(), mergesimple_test(), 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(), parse_options(), moab::LloydSmoother::perform_smooth(), moab::permute_this(), moab::ElemUtil::point_in_trilinear_hex(), moab::BVHTree::point_search(), print_partitioned_entities(), moab::print_type_sets(), sphere::project_points2geom(), quads_to_tris(), read_cube_curves_test(), read_cube_surfs_test(), read_cube_vols_test(), read_cylcube_curve_senses_test(), read_cylcube_surf_senses_test(), moab::ReadTetGen::read_elem_file(), MBMesquite::MeshImpl::read_exodus(), DeformMeshRemap::read_file(), moab::ReadTetGen::read_node_file(), moab::ReadHDF5::read_nodes(), refine_entities(), 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(), MBMesquite::MeshImpl::set_skin_flags(), moab::CN::setPermutation(), TopologyInfoTest::side_from_higher_order(), MBMesquite::MeshImplData::skin(), moab::Skinner::skin_box(), MBMesquite::MsqIRel::snap_to(), 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(), MsqMeshEntityTest::test_check_element_orientation(), test_check_meshsets(), test_elements_on_several_procs(), test_existinterface(), TopologyInfoTest::test_face_elem(), test_geometric_sets(), test_ghost_elements(), test_has_mid_nodes(), test_ho_node_index(), test_ho_node_parent(), test_opposite_side_hex(), test_opposite_side_quad(), test_opposite_side_tet(), test_opposite_side_tri(), test_read_geom_set(), test_read_side(), test_root_sets_resize(), SlaveBoundaryVerticesTest::test_slaved_common(), test_unitcircle(), MBMesquite::DomainClassifier::test_valid_classification(), TopologyInfoTest::test_vol_elem(), moab::DualTool::traverse_hyperplane(), geomObject::Twonorm(), umr_perf_test(), MBMesquite::MsqIRel::vertex_normal_at(), TreeValidator::visit(), moab::ReadVtk::vtk_read_texture_attrib(), MBMesquite::MeshImpl::vtk_read_texture_attrib(), write_id_test_file(), and moab::WriteHDF5::write_nodes().

Entities entities

Definition at line 47 of file bvh_tree.hpp.

Referenced by moab::ParallelComm::assign_global_ids(), moab::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(), coincident_counts(), moab::SmoothCurve::compute_tangents_for_each_edge(), moab::HigherOrderFactory::convert(), create_fine_mesh(), moab::ReadGmsh::create_sets(), moab::Skinner::deinitialize(), do_file(), entity_connectivity_test(), entity_sets_subtest(), moab::ParallelComm::exchange_tags(), moab::ElemEvaluator::find_containing_entity(), moab::BVHTree::find_point(), moab::TempestRemapper::GenerateMeshMetadata(), MBMesquite::MsqMOAB::get_all_elements(), moab::Core::get_coords(), EntityCount::get_counts(), moab::Tqdcfr::get_mesh_entities(), moab::ParallelComm::get_sharing_data(), moab::get_tagged(), moab::BitTag::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(), mb_bit_tags_test(), mb_common_tag_test(), mb_mesh_set_flag_test(), moab::FBEngine::measure(), merge_2D_elem(), merge_3D_elem(), moab::MergeMesh::merge_all(), merge_edges(), merge_top_down(), min_edge_length(), moab::Coupler::normalize_mesh(), ZoltanPartitioner::partition_mesh_and_geometry(), AssocPair::populate_recursive(), moab::Core::print(), print_partitioned_entities(), process_bu_auto_merge(), process_mo_auto_merge(), process_td_auto_merge(), moab::Tqdcfr::read_block(), moab::ParCommGraph::receive_mesh(), moab::ParallelComm::reduce_tags(), moab::ReorderTool::reorder_entities(), moab::ParallelComm::send_recv_entities(), moab::ParallelComm::settle_intersection_points(), moab::GeomTopoTool::setup_implicit_complement(), moab::FBEngine::split_surface_with_direction(), moab::ReadCGM::store_group_content(), tag_info_test(), test_clear_bit(), test_contains_entities(), test_coords_connect_iterate(), test_delete_bit_data(), test_get_by_tag(), test_get_by_tag_value(), test_get_entities(), test_get_entity_tags(), test_get_set(), test_get_set_bit(), test_get_set_variable_length(), test_ho_elements(), test_iterator(), moab::Coupler::test_local_box(), test_meshset_tags_1(), test_meshset_tags_2(), test_pack_set_contents(), test_pack_sets_simple(), ArrayMeshTest::test_tag_data(), test_tet_tags_1(), test_tet_tags_2(), test_tets_1(), test_tets_2(), test_triangles_1(), test_triangles_2(), test_triangles_tags_1(), test_triangles_tags_2(), test_var_length_data_common(), test_vertices_1(), test_vertices_2(), test_write_unbalanced(), topology_adjacency_test(), AssocPair::unpopulate_recursive(), verdict_test1(), moab::WriteSLAC::write_file(), moab::WriteNCDF::write_file(), and moab::WriteVtk::write_tag().

double Lmax

Definition at line 46 of file bvh_tree.hpp.

double Rmin

Definition at line 46 of file bvh_tree.hpp.

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

Definition at line 123 of file bvh_tree.hpp.

Referenced by moab::ReadUtil::assign_ids(), moab::MeshGeneration::BrickInstance(), PartMap::build_map(), build_mesh(), calculate_big_value(), MBMesquite::QualityAssessor::Assessor::calculate_histogram_range(), moab::FBEngine::chain_edges(), check_consistent_ids(), check_handle_tag_type(), moab::check_int_tag(), moab::WriteHDF5Parallel::check_serial_tag_data(), check_tag_values(), MBMesquite::MsqIMesh::check_valid_flag_tag(), MBMesquite::MsqMOAB::check_valid_flag_tag(), moab::TagInfo::check_valid_sizes(), check_valid_tag(), MBMesquite::DomainClassifier::classify_by_tag(), moab::BitTag::clear_data(), moab::NCWriteHelper::collect_variable_data(), moab::WriteHDF5Parallel::communicate_shared_set_data(), moab::WriteHDF5Parallel::communicate_shared_set_ids(), compare(), compare_conn(), compare_tags(), MBMesquite::ParallelHelperImpl::compute_independent_set(), 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(), create_shell_test(), moab::WriteHDF5Parallel::create_tag_tables(), moab::DeInitialize(), moab::FBEngine::delete_smooth_tags(), do_rank_subst(), duplicate_model_test(), entity_connectivity_test(), moab::BVHTree::establish_buckets(), MBMesquite::VertexMaxQM::evaluate_with_indices(), MBMesquite::ArrayMesh::fill(), moab::DualTool::foc_get_addl_ents(), moab::WriteNCDF::gather_mesh_information(), generate_mesh(), GenerateTestMatrixAndVectors(), moab::FileTokenizer::get_binary(), moab::BitTag::get_data(), get_entities(), moab::BitTag::get_entities_with_bits(), MBMesquite::MsqIMesh::get_flag_data(), get_itaps_domain(), 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(), hash_build_2(), hash_build_3(), hash_opt_size_2(), hash_opt_size_3(), MBMesquite::MappingFunction2D::ideal(), MBMesquite::MappingFunction3D::ideal(), iMesh_getAdjEntIndices(), iMesh_getTagHandle(), iMeshP_getAdjEntIndices(), MBMesquite::MsqIMesh::init_active_mesh(), MBMesquite::MsqMOAB::init_active_mesh(), moab::insert_in_vector(), moab::Intx2Mesh::intersect_meshes(), moab::is_zero_bytes(), moab::TempestOnlineMap::IsConservative(), MBMesquite::MeshUtil::lambda_distribution(), 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(), parallel_create_mesh(), parse_opaque_value(), parse_tag_spec(), parse_values(), moab::ParallelMergeMesh::PerformMerge(), moab::AdaptiveKDTree::print(), moab::print_buff(), print_partitioned_entities(), 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(), refine_entities(), moab::BitTag::remove_data(), moab::remove_from_vector(), moab::TempestOnlineMap::remove_ghosted_overlap_entities(), remove_var_len_tags(), report_iface_ents(), moab::SequenceManager::reserve_tag_array(), moab::DualTool::rev_atomic_pillow(), reverse(), run(), run_test(), moab::ReadHDF5::search_tag_values(), moab::BitTag::set_data(), moab::FBEngine::set_default_neumann_tags(), set_local_domain_bounds(), MeshAssocPairSide::set_relation_side(), GeomAssocPairSide::set_relation_side(), FBGeomAssocPairSide::set_relation_side(), moab::ReadHDF5::set_up_read(), shift(), MBMesquite::ParallelHelperImpl::smoothing_init(), moab::ParallelMergeMesh::SortMyMatches(), moab::MeshTopoUtil::split_entities_manifold(), string_tag_value(), smoab::detail::internal::SubsetArray::SubsetArray(), MBMesquite::ArrayMesh::tag_create(), MBMesquite::MeshImpl::tag_create(), MBMesquite::MsqIMesh::tag_get_data(), moab::Core::tag_get_handle(), MBMesquite::MsqMOAB::tag_properties(), MBMesquite::MsqIMesh::tag_set_data(), MBMesquite::MsqMOAB::tag_set_data(), tag_type_string(), test_assign_global_ids(), MsqHessianTest::test_axpy(), MsqHessianTest::test_cg_solver(), test_create_var_len_tag(), test_delete_type_tag(), test_entity_copies(), test_entity_copy_parts(), test_entity_owner(), test_entity_status(), test_eul_check_across_files(), test_eul_check_append(), test_eul_check_T(), test_eul_check_timestep(), test_exchange_ents(), test_fv_check_T(), test_get_ents_with_default_value(), test_get_neighbors(), test_get_partitions(), test_get_parts(), test_ghost_elements(), test_ghosted_entity_shared_data(), test_global_value_common(), QualityMetricTester::test_grad_transform_invariant(), QualityMetricTester::test_hessian_transform_invariant(), test_homme_check_T(), test_int_vect_opt(), test_interface_owners_common(), ObjectiveFunctionTests::test_negate_flag(), test_pack_bit_tag_data(), test_pack_tag_data_default_value(), test_pack_tag_data_dense(), test_pack_tag_data_sparse(), test_pack_tag_handle_data(), test_pack_variable_length_tag(), test_read_bit_tag(), test_read_handle_tag(), test_read_int_tag(), test_read_nodes_common(), test_read_non_adjs_side(), test_read_real_tag(), test_reduce_tag_explicit_dest(), test_reduce_tag_failures(), test_reduce_tags(), test_save(), test_spectral_quad(), test_string_rank_subst(), test_var_length_big_data(), test_var_length_data_common(), test_var_length_handle_tag(), test_var_length_parallel(), test_write_dense_tags(), test_write_read_many_tags(), test_write_shared_sets(), iMeshTest::testVertexAdjacency(), 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(), MBMesquite::MeshImpl::vtk_read_color_attrib(), moab::ReadVtk::vtk_read_polygons(), MBMesquite::MeshImpl::vtk_read_polygons(), moab::ReadVtk::vtk_read_scalar_attrib(), MBMesquite::MeshImpl::vtk_read_scalar_attrib(), moab::ReadVtk::vtk_read_tag_data(), MBMesquite::MeshImpl::vtk_read_unstructured_grid(), moab::WriteHDF5::write_sets(), write_svg(), and moab::TempestRemapper::WriteTempestIntersectionMesh().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines