upxo.meshing.gbconformant.d3v2p1.numba_intersections module
numba kernels for d3v2p0’s triangle intersection search.
pairs_intersect(points, triangles, pairs, tolerance) gives the same result as d3v2p0.surface_intersections._intersecting_pairs: the same predicates, tolerances and order of arithmetic, evaluated per pair in a compiled loop (threads over pairs) that stops at the first detected contact. Import this module only after backend.numba_available() is True.
find_pairs() runs the whole search (candidate grid, d3v2p0’s candidate rule and the pair test) in one parallel kernel, without candidate arrays.
- upxo.meshing.gbconformant.d3v2p1.numba_intersections.pairs_intersect(points, triangles, pairs, tolerance)
Boolean per candidate pair: True where the two triangles intersect other than at a shared vertex or along a shared edge.
- upxo.meshing.gbconformant.d3v2p1.numba_intersections.find_pairs(points, triangles, query_ids, full, tolerance, band_max)[source]
Intersecting pairs (smaller id, larger id), possibly repeated, for the query triangles: d3v2p0’s candidate rule and pair test, in numba. band_max: per triangle, the largest radius in its radius band.