pub enum ContainmentLane {
SeamBand,
SphereCap,
WrappedHorizon {
loops: Vec<Vec<Vec2>>,
u_period: f64,
cross_frame: bool,
},
CoveringRimStrip,
Generic {
sphere_chart: bool,
},
}Expand description
The lane containment_lane finds a face in.
Variants§
SeamBand
The doubly-periodic seam-band lane: answers every point of the face.
SphereCap
The winding sphere-cap lane: answers every point within the query’s tolerance of a chord of the rim or whose u meets one; any other point goes on to the lanes after it.
WrappedHorizon
The wrapped-horizon lane: answers every point. Within the query’s
tolerance of a chord of loops at u − u_period, u or u + u_period
it is Boundary; otherwise, with cross_frame, each loop’s even-odd
count (crossings of +u, half-open in v) at the three images summed mod
2, odd being Inside; without it (HORIZON_CROSS_FRAME_SWITCH = "0"
when this was called), Inside when some image counts an odd total.
Fields
CoveringRimStrip
The covering-rim-strip lane: answers every point.
Generic
The generic scan: Boundary within the tolerance of a chord; otherwise
the side of the nearest pcurve where the nearest chord’s foot lands
inside it and the point is no farther from that chord than the chord is
long; otherwise the even-odd count over every loop — for which, with
sphere_chart, the sphere-chart lane substitutes where it can decide.
Fields
sphere_chart: boolAn analytic sphere with the sphere-chart trim lane on
(NO_SPHERE_CHART_TRIM_SWITCH), read when this was called.