Class FindIntersections
Defined in File mesh_intersection.hpp
Class Documentation
-
class FindIntersections
Public Functions
-
inline FindIntersections(Omega_h::Mesh &source_mesh, Omega_h::Mesh &target_mesh)
-
template<int Dim>
void adjBasedIntersectSearch(const Kokkos::View<const LO*> &start_elements, const Omega_h::LOs &tgt2src_offsets, Omega_h::Write<Omega_h::LO> &nIntersections, Omega_h::Write<Omega_h::LO> &tgt2src_indices, bool is_count_only, bool use_prefilter = true) Performs adjacency-based intersection search between target and source elements.
For each target element, starting from the source element that contains its centroid, a queue-based BFS traversal is used over the adjacency graph of source elements. If an element intersects the target triangle (based on area tolerance), it is included.
See also
r3d::intersect_simplices, intersectTargets
Note
Templated on spatial dimension
Dim: linear triangles (Dim==2) or linear tetrahedra (Dim==3), usingr3d::intersect_simplicesfor geometric intersection.- Parameters:
start_elements – For each target element, the source element containing its centroid (from a point search over the source mesh)
tgt2src_offsets – Offsets array (only used when writing indices).
nIntersections – [out] Number of intersecting source elements per target element.
tgt2src_indices – [out] Indices of intersecting source elements.
is_count_only – If true, only counts intersections; if false, also fills tgt2src_indices.
use_prefilter – if true, skip degenerate clips
-
inline FindIntersections(Omega_h::Mesh &source_mesh, Omega_h::Mesh &target_mesh)