|
void | exactinit () |
| Initialize tolerances for exact arithmetic.
|
|
double | orient1d (double a, double b, double x) |
| Compute relative orientation of point x wrt segment [a, b].
|
|
double | orient2d (const Eigen::Vector3d &a, const Eigen::Vector3d &b, const Eigen::Vector3d &c) |
| Convenience function using Eigen.
|
|
double | orient3d (const Eigen::Vector3d &a, const Eigen::Vector3d &b, const Eigen::Vector3d &c, const Eigen::Vector3d &d) |
| Convenience function using Eigen.
|
|
BoundingBoxTree | create_midpoint_tree (const mesh::Mesh &mesh) |
| Create a boundary box tree for cell midpoints. More...
|
|
std::pair< std::vector< int >, std::vector< int > > | compute_collisions (const BoundingBoxTree &tree0, const BoundingBoxTree &tree1) |
| Compute all collisions between bounding boxes and BoundingBoxTree.
|
|
std::pair< std::vector< int >, std::vector< int > > | compute_entity_collisions (const BoundingBoxTree &tree0, const BoundingBoxTree &tree1, const mesh::Mesh &mesh0, const mesh::Mesh &mesh1) |
| Compute all collisions between entities and BoundingBoxTree.
|
|
std::vector< int > | compute_collisions (const BoundingBoxTree &tree, const Eigen::Vector3d &p) |
| Compute all collisions between bounding boxes and point. More...
|
|
std::vector< int > | compute_entity_collisions (const BoundingBoxTree &tree, const Eigen::Vector3d &p, const mesh::Mesh &mesh) |
| Compute all collisions between mesh entities and point. More...
|
|
int | compute_first_collision (const BoundingBoxTree &tree, const Eigen::Vector3d &p) |
| Compute first collision between bounding boxes and point. More...
|
|
int | compute_first_entity_collision (const BoundingBoxTree &tree, const Eigen::Vector3d &p, const mesh::Mesh &mesh) |
| Compute first collision between entities and point. More...
|
|
std::vector< int > | compute_process_collisions (const BoundingBoxTree &tree, const Eigen::Vector3d &p) |
| Compute all collisions between processes and Point returning a list of process ranks.
|
|
bool | bbox_in_bbox (const Eigen::Array< double, 2, 3, Eigen::RowMajor > &a, const Eigen::Array< double, 2, 3, Eigen::RowMajor > &b, double rtol=1e-14) |
| Check whether bounding box a collides with bounding box (b)
|
|
std::pair< int, double > | compute_closest_entity (const BoundingBoxTree &tree, const BoundingBoxTree &tree_midpoint, const Eigen::Vector3d &p, const mesh::Mesh &mesh) |
| Compute closest mesh entity and distance to the point. The tree must have been initialised with topological co-dimension 0.
|
|
std::pair< int, double > | compute_closest_point (const BoundingBoxTree &tree, const Eigen::Vector3d &p) |
| Compute closest point and distance to a given point. More...
|
|
bool | point_in_bbox (const Eigen::Array< double, 2, 3, Eigen::RowMajor > &b, const Eigen::Vector3d &x, double rtol=1e-14) |
| Check whether point (x) is in bounding box. More...
|
|
double | compute_squared_distance_bbox (const Eigen::Array< double, 2, 3, Eigen::RowMajor > &b, const Eigen::Vector3d &x) |
| Compute squared distance between point and bounding box wih index "node". Returns zero if point is inside box.
|
|
double | squared_distance (const mesh::MeshEntity &entity, const Eigen::Vector3d &p) |
| Compute squared distance from a given point to the nearest point on a cell (only simplex cells are supported at this stage)
|
|
double | squared_distance_triangle (const Eigen::Vector3d &point, const Eigen::Vector3d &a, const Eigen::Vector3d &b, const Eigen::Vector3d &c) |
| Compute squared distance to given point. This version takes the three vertex coordinates as 3D points. This makes it possible to reuse this function for computing the (squared) distance to a tetrahedron.
|
|
double | squared_distance_interval (const Eigen::Vector3d &point, const Eigen::Vector3d &a, const Eigen::Vector3d &b) |
| Compute squared distance to given point. This version takes the two vertex coordinates as 3D points. This makes it possible to reuse this function for computing the (squared) distance to a triangle.
|
|
Geometry data structures and algorithms.
Tools for geometric data structures and operations, e.g. searching.