Package-level declarations
The action tier for the primitives: shape * versor applies a versor's motion to each of the five primitives and returns the same primitive type — a * Motor form, a * Flector form, and a * Versor dispatch per shape. Results carry full raw Double precision, and each form is generic over the receiver's type — the moved geometry returns through the shape's copy hook, so a subclass overriding it comes back as its own class. A motor's rigid motion preserves orientation; a flector's mirror motion reverses it, and the oriented types — Line, Dipole, Circle — record the reversal in their own components. Imaginary and at-infinity operands transform faithfully — first-class data, never an error — and no action on a primitive throws.
| Pairing | Result |
|---|---|
FlatPoint * MotorFlatPoint * Flector | the moved FlatPoint; at infinity — zero weight — it turns as a free vector |
Line * MotorLine * Flector | the moved Line, orientation carried; a flector genuinely mirrors it |
RoundPoint * MotorRoundPoint * Flector | the moved RoundPoint, squared radius kept |
Dipole * MotorDipole * Flector | the dipole of the moved endpoints, start staying start |
Circle * MotorCircle * Flector | the moved Circle, radius kept; a flector flips classic ↔ inside-out |
Functions
Circle * Flector => Circle
Returns this circle reflected by flector's mirror motion — same radius, opposite orientation.
Circle * Motor => Circle
Returns this circle moved by motor's rigid motion.
Circle * Versor => Circle
Returns this circle moved by versor.
Dipole * Flector => Dipole
Returns this dipole reflected by flector's mirror motion.
Dipole * Motor => Dipole
Returns this dipole moved by motor's rigid motion.
Dipole * Versor => Dipole
Returns this dipole moved by versor.
FlatPoint * Flector => FlatPoint
Returns this flat point reflected by flector's mirror motion.
FlatPoint * Motor => FlatPoint
Returns this flat point moved by motor's rigid motion.
FlatPoint * Versor => FlatPoint
Returns this flat point moved by versor.
Line * Flector => Line
Returns this line reflected by flector's mirror motion.
Line * Motor => Line
Returns this line moved by motor's rigid motion.
Line * Versor => Line
Returns this line moved by versor.
RoundPoint * Flector => RoundPoint
Returns this round point reflected by flector's mirror motion.
RoundPoint * Motor => RoundPoint
Returns this round point moved by motor's rigid motion.
RoundPoint * Versor => RoundPoint
Returns this round point moved by versor.