Skip to main content

Module predicates

Module predicates 

Source
Expand description

Public predicate dispatch over ImplicitPoint configurations.

Implements every explicit/implicit orient3d/orient2d configuration the arrangement pipeline produces, each first through the fast interval and fixed-width tiers and escalating to the exact (BigRational) tier on a straddling filter — every fast tier verified the exact tier here.

Functions§

cmp_lex
Exact lexicographic total order on points — the interner’s comparison (cascade).
orient2d
Exact orient2d(a, b, c) projected on the two axes remaining after dropping axis (the in-plane predicate for re-triangulation). Same cascade as orient3d; the indirect 1-implicit case shares the sign(d) flip.
orient2d_2i
orient2d with two implicit points (a,b) + one explicit (c) — cascade.
orient2d_3i
orient2d with three implicit points (a,b,c) — cascade.
orient2d_any
orient2d over ANY mix of explicit/implicit points in ANY argument position (the predicate the re-triangulation’s point location needs). orient2d is antisymmetric, so we canonicalise the args to implicit-first (stable, to keep it a pure function), dispatch to the 0I/1I/2I/3I config, and flip the result once per transposition (the permutation parity).
orient3d
Exact orient3d over a mix of explicit + implicit points.