Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
This class implements a (distributed) axis aligned bounding box tree (AABB tree). Bounding box trees can be created from meshes and [other data structures, to be filled in].
Create empty bounding box tree
Build bounding box tree for cells of mesh.
Build bounding box tree for mesh entities of given dimension.
Build bounding box tree for point cloud.
Compute all collisions between bounding boxes and Point.
Compute all collisions between bounding boxes and BoundingBoxTree.
The two lists have equal length and contain matching entities, such that entity i in the first list collides with entity i in the second list.
Note that this means that the entity lists may contain duplicate entities since a single entity may collide with several different entities.
Note that this function only checks collisions between bounding boxes of entities. It does not check that the entities themselves actually collide. To compute entity collisions, use the function compute_entity_collisions.
Compute all collisions between entities and Point.
Compute all collisions between entities and BoundingBoxTree.
The two lists have equal length and contain matching entities, such that entity i in the first list collides with entity i in the second list.
Note that this means that the entity lists may contain duplicate entities since a single entity may collide with several different entities.
Compute first collision between bounding boxes and Point.
Compute first collision between entities and Point.
Compute closest entity to Point.
Compute closest point to Point. This function assumes that the tree has been built for a point cloud.
Developer note: This function should not be confused with computing the closest point in all entities of a mesh. That function could be added with relative ease since we actually compute the closest points to get the distance in the above function (compute_closest_entity) inside the specialized implementations in TetrahedronCell.cpp etc.
Check whether given point collides with the bounding box tree. This is equivalent to calling compute_first_collision and checking whether any collision was detected.
Check whether given point collides with any entity contained in the bounding box tree. This is equivalent to calling compute_first_entity_collision and checking whether any collision was detected.