DOLFIN-X
DOLFIN-X C++ interface
|
22 class BoundingBoxTree;
33 std::vector<std::array<int, 2>>
41 const Eigen::Vector3d& p);
46 const Eigen::Vector3d& p);
50 std::pair<int, double>
52 const BoundingBoxTree& tree_midpoint,
53 const Eigen::Vector3d& p,
const mesh::Mesh& mesh);
61 const Eigen::Vector3d& p);
66 const Eigen::Array<double, 2, 3, Eigen::RowMajor>& b,
67 const Eigen::Vector3d& x);
83 const Eigen::Vector3d& p);
94 const std::vector<int>& candidate_cells,
95 const Eigen::Vector3d& point,
int n);
BoundingBoxTree create_midpoint_tree(const mesh::Mesh &mesh)
Create a boundary box tree for cell midpoints.
Definition: utils.cpp:223
std::pair< int, double > compute_closest_point(const BoundingBoxTree &tree, const Eigen::Vector3d &p)
Compute closest point and distance to a given point.
Definition: utils.cpp:316
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 topol...
Definition: utils.cpp:289
double squared_distance(const mesh::Mesh &mesh, int dim, std::int32_t index, const Eigen::Vector3d &p)
Compute squared distance from a given point to the nearest point on a cell (only first order convex c...
Definition: utils.cpp:342
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 in...
Definition: utils.cpp:279
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition: Mesh.h:47
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.
Definition: utils.cpp:265
std::vector< int > select_colliding_cells(const dolfinx::mesh::Mesh &mesh, const std::vector< int > &candidate_cells, const Eigen::Vector3d &point, int n)
From the given Mesh, select up to n cells from the list which actually collide with point p....
Definition: utils.cpp:394
std::vector< std::array< int, 2 > > compute_collisions(const BoundingBoxTree &tree0, const BoundingBoxTree &tree1)
Compute all collisions between two BoundingBoxTrees.
Definition: utils.cpp:246