RoundDirection
A direction with magnitude — the RoundPoint refinement guaranteed to lie at infinity; the round-point counterpart of Direction.
The at-infinity round point dx·e1 + dy·e2 + aw·e4, its round weight stored as exact 0.0 — not merely a value that rounds to zero at the SCALE quantum. The guarantee covers only the weight: the conformal component aw is live data — a computed at-infinity point can carry meaning there (a dipole's attitude does), and the operations that move round points move it honestly. RoundPoint.toRoundDirection converts a computed round point, admitting exactly the points at infinity. The refinement adds no data, only the guarantee: a round direction and a plain RoundPoint carrying the same components are the same value and compare equal, in both directions (see RoundPoint.equals).
Parameters
The e1 component: the vector's x-extent.
The e2 component: the vector's y-extent.
The e4 conformal component; defaults to 0.0.
Properties
Whether this point lies at infinity — a direction with magnitude rather than a position.
Whether this point is imaginary — a negative squared radius, no real locus.
This direction as a RoundDirection — the refinement carrying the at-infinity guarantee.
Functions
Returns this object rebuilt around the replacement geometry roundPoint — the hook the shape-preserving operations return through, re-establishing the at-infinity guarantee.
RoundPoint distanceTo FlatPoint => Double
Returns the raw Euclidean distance between the round point's position and the flat point.
RoundPoint distanceTo Line => Double
Returns the raw perpendicular distance from the point's position to the line.
RoundPoint distanceTo RoundPoint => Double
Returns the raw Euclidean distance between the two points' positions.
RoundPoint dot Circle => Double
Returns the raw point-against-circle probe: positive inside, zero on the circle, negative outside, for a finite point and a classic circle.
RoundPoint dot Line => Double
Returns the line's equation evaluated at the point: zero when the point lies on the line, the raw signed distance to it otherwise.
RoundPoint dot RoundPoint => Double
Returns the raw inner product of two round points — zero when two finite positions coincide, −½·d² when they sit d apart.
RoundPoint expand Circle => Dipole
Returns the dipole holding the point and its inversion through the circle.
RoundPoint expand Dipole => Circle
Returns the circle through the point whose inversion swaps the dipole's endpoints.
RoundPoint expand FlatPoint => Circle
Returns the circle through the round point centered at the flat point.
RoundPoint expand Line => Dipole
Returns the dipole holding the point and its mirror image across the line.
RoundPoint join Segment => Circle
Returns the circle through the segment's endpoints and this point.
RoundPoint join Dipole => Circle
Returns the circle through the point and the dipole's endpoints.
RoundPoint join FlatPoint => Line
Returns the line through both points.
RoundPoint join RoundPoint => Dipole
Returns the dipole holding both points — this point as Dipole.start, other as Dipole.end.
RoundPoint on Polygon => Boolean
Returns whether the point lies on the polygon's boundary.
RoundPoint on Segment => Boolean
Returns whether the point lies on the segment itself, endpoints included.
RoundPoint on Circle => Boolean
Returns whether the point lies on the circle.
RoundPoint on Line => Boolean
Returns whether the point lies on the line.
RoundPoint project Circle => RoundPoint
Returns the round point that pairs the point into the circle: on the radial line through the point, incident with the circle.
RoundPoint project Dipole => RoundPoint
Returns the point of the dipole's carrier dividing the endpoints in the ratio of their squared distances from the given point.
RoundPoint project Line => RoundPoint
Returns the point's perpendicular foot on the line, sized by the squared distance to it.
Returns the components rounded at the SCALE quantum — the debug-output convention of every primitive.
-RoundDirection => RoundDirection
Returns the opposite direction: the same magnitude, reversed heading.