Go to the source code of this file.
Namespaces | |
moab | |
Class representing axis-aligned bounding box. | |
moab::GeomUtil | |
Enumerations | |
enum | moab::GeomUtil::intersection_type { moab::GeomUtil::NONE = 0 , moab::GeomUtil::INTERIOR , moab::GeomUtil::NODE0 , moab::GeomUtil::NODE1 , moab::GeomUtil::NODE2 , moab::GeomUtil::EDGE0 , moab::GeomUtil::EDGE1 , moab::GeomUtil::EDGE2 } |
Plücker test for intersection between a ray and a triangle. More... | |
Functions | |
bool | moab::GeomUtil::segment_box_intersect (CartVect box_min, CartVect box_max, const CartVect &seg_pt, const CartVect &seg_unit_dir, double &seg_start, double &seg_end) |
bool | moab::GeomUtil::ray_tri_intersect (const CartVect vertices[3], const CartVect &ray_point, const CartVect &ray_unit_direction, double &t_out, const double *ray_length=0) |
Test for intersection between a ray and a triangle. More... | |
bool | moab::GeomUtil::plucker_ray_tri_intersect (const CartVect vertices[3], const CartVect &origin, const CartVect &direction, double &dist_out, const double *nonneg_ray_len, const double *neg_ray_len, const int *orientation, intersection_type *type) |
double | moab::GeomUtil::plucker_edge_test (const CartVect &vertexa, const CartVect &vertexb, const CartVect &ray, const CartVect &ray_normal) |
bool | moab::GeomUtil::ray_box_intersect (const CartVect &box_min, const CartVect &box_max, const CartVect &ray_pt, const CartVect &ray_dir, double &t_enter, double &t_exit) |
Find range of overlap between ray and axis-aligned box. More... | |
bool | moab::GeomUtil::box_plane_overlap (const CartVect &plane_normal, double plane_coeff, CartVect box_min_corner, CartVect box_max_corner) |
Test if plane intersects axis-aligned box. More... | |
bool | moab::GeomUtil::box_tri_overlap (const CartVect triangle_corners[3], const CartVect &box_min_corner, const CartVect &box_max_corner, double tolerance) |
Test if triangle intersects axis-aligned box. More... | |
bool | moab::GeomUtil::box_tri_overlap (const CartVect triangle_corners[3], const CartVect &box_center, const CartVect &box_half_dims) |
Test if triangle intersects axis-aligned box. More... | |
bool | moab::GeomUtil::box_point_overlap (const CartVect &box_min_corner, const CartVect &box_max_corner, const CartVect &point, double tolerance) |
bool | moab::GeomUtil::box_elem_overlap (const CartVect *elem_corners, EntityType elem_type, const CartVect &box_center, const CartVect &box_half_dims, int nodecount=0) |
Test if the specified element intersects an axis-aligned box. More... | |
bool | moab::GeomUtil::box_linear_elem_overlap (const CartVect *elem_corners, EntityType elem_type, const CartVect &box_center, const CartVect &box_half_dims) |
Test if the specified element intersects an axis-aligned box. More... | |
bool | moab::GeomUtil::box_linear_elem_overlap (const CartVect *elem_corners, EntityType elem_type, const CartVect &box_half_dims) |
Test if the specified element intersects an axis-aligned box. More... | |
void | moab::GeomUtil::closest_location_on_box (const CartVect &min, const CartVect &max, const CartVect &point, CartVect &closest) |
void | moab::GeomUtil::closest_location_on_tri (const CartVect &location, const CartVect *vertices, CartVect &closest_out) |
find closest location on triangle More... | |
void | moab::GeomUtil::closest_location_on_polygon (const CartVect &location, const CartVect *vertices, int num_vertices, CartVect &closest_out) |
find closest location on polygon More... | |
void | moab::GeomUtil::closest_location_on_tri (const CartVect &location, const CartVect *vertices, double tolerance, CartVect &closest_out, int &closest_topo) |
find closest topological location on triangle More... | |
bool | moab::GeomUtil::box_hex_overlap (const CartVect hexv[8], const CartVect &box_center, const CartVect &box_dims) |
bool | moab::GeomUtil::box_tet_overlap (const CartVect tet_corners[4], const CartVect &box_center, const CartVect &box_dims) |
bool | moab::GeomUtil::boxes_overlap (const CartVect &box_min1, const CartVect &box_max1, const CartVect &box_min2, const CartVect &box_max2, double tolerance) |
bool | moab::GeomUtil::bounding_boxes_overlap (const CartVect *list1, int num1, const CartVect *list2, int num2, double tolerance) |
bool | moab::GeomUtil::bounding_boxes_overlap_2d (const double *list1, int num1, const double *list2, int num2, double tolerance) |
bool | moab::GeomUtil::point_in_trilinear_hex (const CartVect *hex, const CartVect &xyz, double etol) |
bool | moab::GeomUtil::nat_coords_trilinear_hex (const CartVect *corner_coords, const CartVect &x, CartVect &xi, double tol) |
Variables | |
const intersection_type | moab::GeomUtil::type_list [] = { INTERIOR, EDGE0, EDGE1, NODE1, EDGE2, NODE0, NODE2 } |