#include <BoundBox.hpp>
Public Member Functions | |
BoundBox () | |
BoundBox (const CartVect &min, const CartVect &max) | |
BoundBox (const double *corners) | |
BoundBox (std::vector< CartVect > points) | |
BoundBox (const BoundBox &from) | |
~BoundBox () | |
bool | contains_point (const double *point, const double tol=0.0) const |
bool | intersects_box (const BoundBox &b, const double tol=0.0) const |
void | compute_center (CartVect ¢er) |
void | update (const BoundBox &other_box) |
void | update (const double *coords) |
ErrorCode | update (Interface &iface, const Range &elems, bool spherical=false, double radius=1.) |
ErrorCode | update (Interface &iface, const EntityHandle ent, bool spherical=false, double radius=1.) |
void | update_min (const BoundBox &other_box) |
void | update_min (const double *coords) |
void | update_max (const BoundBox &other_box) |
void | update_max (const double *coords) |
ErrorCode | get (double *coords) |
void | update_box_spherical_elem (const CartVect *coordverts, int len, double radius) |
double | diagonal_length () const |
Return the diagonal length of this box. More... | |
double | diagonal_squared () const |
Return the square of the diagonal length of this box. More... | |
double | distance_squared (const double *from_point) const |
Return square of distance from box, or zero if inside. More... | |
double | distance (const double *from_point) const |
Return distance from box, or zero if inside. More... | |
BoundBox & | operator= (const BoundBox &from) |
bool | operator== (const BoundBox &box) const |
Public Attributes | |
CartVect | bMin |
CartVect | bMax |
Definition at line 12 of file BoundBox.hpp.
|
inline |
Definition at line 15 of file BoundBox.hpp.
Definition at line 16 of file BoundBox.hpp.
|
inline |
|
inline |
|
inline |
Definition at line 27 of file BoundBox.hpp.
|
inline |
Definition at line 29 of file BoundBox.hpp.
|
inline |
|
inline |
Definition at line 87 of file BoundBox.hpp.
Referenced by moab::AdaptiveKDTree::distance_search(), moab::Element::Map::inside_box(), moab::AdaptiveKDTree::point_search(), and moab::BVHTree::point_search().
|
inline |
Return the diagonal length of this box.
Definition at line 192 of file BoundBox.hpp.
Referenced by moab::LloydSmoother::perform_smooth(), and moab::Coupler::test_local_box().
|
inline |
|
inline |
Return distance from box, or zero if inside.
from_point | Point from which you want distance |
Definition at line 186 of file BoundBox.hpp.
References distance_squared().
Referenced by moab::Coupler::locate_points().
|
inline |
Return square of distance from box, or zero if inside.
from_point | Point from which you want distance_sq |
Definition at line 173 of file BoundBox.hpp.
Referenced by distance(), and moab::BVHTree::distance_search().
|
inline |
Definition at line 146 of file BoundBox.hpp.
References bMax, bMin, moab::CartVect::get(), and MB_SUCCESS.
|
inline |
Definition at line 96 of file BoundBox.hpp.
Referenced by moab::BVHTree::build_tree(), moab::BVHTree::establish_buckets(), moab::BVHTree::find_split(), moab::BVHTree::initialize_splits(), moab::BVHTree::local_build_tree(), and moab::BVHTree::median_order().
|
inline |
|
inline |
Definition at line 106 of file BoundBox.hpp.
References update_max(), and update_min().
Referenced by moab::AdaptiveKDTree::build_tree(), moab::BVHTree::build_tree(), moab::BVHTree::construct_element_vec(), DeformMeshRemap::deform_master(), moab::BVHTree::establish_buckets(), moab::Tree::find_all_trees(), moab::ParallelMergeMesh::GetGlobalBox(), moab::BVHTree::initialize_splits(), moab::AdaptiveKDTree::intersect_children_with_elems(), moab::BVHTree::median_order(), moab::LloydSmoother::perform_smooth(), moab::BVHTree::set_interval(), and update().
|
inline |
Definition at line 112 of file BoundBox.hpp.
References update_max(), and update_min().
|
inline |
ErrorCode moab::BoundBox::update | ( | Interface & | iface, |
const Range & | elems, | ||
bool | spherical = false , |
||
double | radius = 1. |
||
) |
Definition at line 9 of file BoundBox.cpp.
References moab::CartVect::array(), moab::Range::begin(), bMax, bMin, moab::Range::end(), ErrorCode, iface, moab::Range::lower_bound(), MB_SUCCESS, MBEDGE, MBENTITYSET, MBPOLYHEDRON, update(), update_box_spherical_elem(), update_max(), and update_min().
void moab::BoundBox::update_box_spherical_elem | ( | const CartVect * | coordverts, |
int | len, | ||
double | radius | ||
) |
in case of spherical elements, account for curvature if needed
Definition at line 87 of file BoundBox.cpp.
References moab::CartVect::array(), moab::IntxUtils::decide_gnomonic_plane(), moab::IntxUtils::gnomonic_projection(), moab::R, moab::IntxUtils::reverse_gnomonic_projection(), update_max(), and update_min().
Referenced by update().
|
inline |
Definition at line 132 of file BoundBox.hpp.
References bMax.
Referenced by BoundBox(), update(), and update_box_spherical_elem().
|
inline |
|
inline |
Definition at line 118 of file BoundBox.hpp.
References bMin.
Referenced by BoundBox(), update(), and update_box_spherical_elem().
|
inline |
CartVect moab::BoundBox::bMax |
Definition at line 76 of file BoundBox.hpp.
Referenced by moab::BVHTree::Bucket::bucket_index(), moab::AdaptiveKDTree::build_tree(), moab::BVHTree::build_tree(), compute_center(), contains_point(), moab::Tree::create_root(), DeformMeshRemap::deform_master(), diagonal_length(), diagonal_squared(), moab::AdaptiveKDTree::distance_search(), distance_squared(), get(), moab::AdaptiveKDTree::get_info(), moab::ParallelMergeMesh::GetGlobalBox(), moab::BVHTree::initialize_splits(), moab::Coupler::initialize_tree(), moab::AdaptiveKDTree::intersect_children_with_elems(), intersects_box(), main(), moab::BVHTree::median_order(), moab::operator<<(), operator=(), operator==(), moab::AdaptiveKDTree::point_search(), moab::AdaptiveKDTree::print(), moab::AdaptiveKDTree::ray_intersect_triangles(), update(), and update_max().
CartVect moab::BoundBox::bMin |
Definition at line 76 of file BoundBox.hpp.
Referenced by BoundBox(), moab::BVHTree::Bucket::bucket_index(), moab::AdaptiveKDTree::build_tree(), moab::BVHTree::build_tree(), compute_center(), contains_point(), moab::Tree::create_root(), deform_func(), DeformMeshRemap::deform_master(), diagonal_length(), diagonal_squared(), moab::AdaptiveKDTree::distance_search(), distance_squared(), get(), moab::AdaptiveKDTree::get_info(), moab::BVHTree::initialize_splits(), moab::Coupler::initialize_tree(), moab::AdaptiveKDTree::intersect_children_with_elems(), intersects_box(), main(), moab::BVHTree::median_order(), moab::operator<<(), operator=(), operator==(), moab::AdaptiveKDTree::point_search(), moab::AdaptiveKDTree::print(), moab::AdaptiveKDTree::ray_intersect_triangles(), update(), and update_min().