times
FlatPoint * Motor => FlatPoint
Returns this flat point moved by motor's rigid motion.
The antiproduct sandwich M ⟇ p ⟇ M̰ in expanded form, raw at full Double precision. A finite point comes back at its rotated or translated position, weight untouched. A point at infinity — zero weight — is position-free: a translation fixes it, a rotation turns it as a free vector. The result is the receiver's own class: the moved geometry returns through FlatPoint.copy, preserving a subclass that overrides the hook.
Receiver
The FlatPoint to move.
Return
The moved point, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
FlatPoint * Flector => FlatPoint
Returns this flat point reflected by flector's mirror motion.
The antiproduct sandwich −F ⟇ p ⟇ F̰ in expanded form, raw at full Double precision. A finite point reflects across the mirror line and glides along it, weight untouched. A point at infinity — zero weight — reflects as a free vector: only the mirror's direction matters there; its placement and the glide have no effect. The result is the receiver's own class: the moved geometry returns through FlatPoint.copy, preserving a subclass that overrides the hook.
Receiver
The FlatPoint to reflect.
Return
The reflected point, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
FlatPoint * Versor => FlatPoint
Returns this flat point moved by versor.
The action for a versor typed only as Versor: it dispatches to the FlatPoint * Motor and FlatPoint * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The FlatPoint to move.
Return
The moved point, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Line * Motor => Line
Returns this line moved by motor's rigid motion.
The antiproduct sandwich M ⟇ l ⟇ M̰ in expanded form, raw at full Double precision: the normal turns with the rotation, the moment follows the translation, and orientation is carried — the moved line runs through the moved points of the original in the same sense. A line at infinity — zero normal — is fixed, weight included: a rigid motion leaves the horizon alone. The result is the receiver's own class: the moved geometry returns through Line.copy, preserving a subclass that overrides the hook.
Receiver
The Line to move.
Return
The moved line, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Line * Flector => Line
Returns this line reflected by flector's mirror motion.
The antiproduct sandwich −F ⟇ l ⟇ F̰ in expanded form, raw at full Double precision: the moved line runs through the reflected points of the original, and its orientation is the genuinely mirrored one — running direction and normal both reflect. A line at infinity — zero normal — keeps its point set and comes back with Line.gz negated: the horizon is fixed, its orientation reversed by the improper motion. The result is the receiver's own class: the moved geometry returns through Line.copy, preserving a subclass that overrides the hook.
Receiver
The Line to reflect.
Return
The reflected line, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Line * Versor => Line
Returns this line moved by versor.
The action for a versor typed only as Versor: it dispatches to the Line * Motor and Line * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Line to move.
Return
The moved line, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
RoundPoint * Motor => RoundPoint
Returns this round point moved by motor's rigid motion.
The antiproduct sandwich M ⟇ a ⟇ M̰ in expanded form, raw at full Double precision. The position moves, the weight RoundPoint.az is untouched, and the round bulk follows so the squared radius RoundPoint.radius2 is preserved, imaginary values included: the null lift of a position moves to the lift of the moved position, and a semantic RoundPoint.aw — a center, an attitude — keeps its radius reading. A point at infinity — zero weight — keeps that weight, its direction turned by the rotation. The result is the receiver's own class: the moved geometry returns through RoundPoint.copy, preserving a subclass that overrides the hook.
Receiver
The RoundPoint to move.
Return
The moved point, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
RoundPoint * Flector => RoundPoint
Returns this round point reflected by flector's mirror motion.
The antiproduct sandwich −F ⟇ a ⟇ F̰ in expanded form, raw at full Double precision. The position reflects across the mirror line and glides along it, the weight RoundPoint.az is untouched, and the round bulk follows so the squared radius RoundPoint.radius2 is preserved, imaginary values included: the null lift of a position moves to the lift of the reflected position, and a semantic RoundPoint.aw — a center, an attitude — keeps its radius reading. A point at infinity — zero weight — keeps that weight, its direction mirrored. The result is the receiver's own class: the moved geometry returns through RoundPoint.copy, preserving a subclass that overrides the hook.
Receiver
The RoundPoint to reflect.
Return
The reflected point, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
RoundPoint * Versor => RoundPoint
Returns this round point moved by versor.
The action for a versor typed only as Versor: it dispatches to the RoundPoint * Motor and RoundPoint * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The RoundPoint to move.
Return
The moved point, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Dipole * Motor => Dipole
Returns this dipole moved by motor's rigid motion.
The antiproduct sandwich M ⟇ d ⟇ M̰ in expanded form, raw at full Double precision. The result is the dipole of the moved endpoints, Dipole.start staying start, and the squared radius Dipole.radius2 is preserved, imaginary values included. An at-infinity dipole — zero gx and gy — stays at infinity, gz copied exactly. The result is the receiver's own class: the moved geometry returns through Dipole.copy, preserving a subclass that overrides the hook.
Receiver
The Dipole to move.
Return
The moved dipole, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Dipole * Flector => Dipole
Returns this dipole reflected by flector's mirror motion.
The antiproduct sandwich −F ⟇ d ⟇ F̰ in expanded form, raw at full Double precision. The result is the dipole of the reflected endpoints, Dipole.start staying start, and the squared radius Dipole.radius2 is preserved, imaginary values included. An at-infinity dipole — zero gx and gy — stays at infinity, gz negated exactly. The result is the receiver's own class: the moved geometry returns through Dipole.copy, preserving a subclass that overrides the hook.
Receiver
The Dipole to reflect.
Return
The reflected dipole, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Dipole * Versor => Dipole
Returns this dipole moved by versor.
The action for a versor typed only as Versor: it dispatches to the Dipole * Motor and Dipole * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Dipole to move.
Return
The moved dipole, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Circle * Motor => Circle
Returns this circle moved by motor's rigid motion.
The antiproduct sandwich M ⟇ c ⟇ M̰ in expanded form, raw at full Double precision. The center moves with the motion, the squared radius Circle.radius2 is preserved — imaginary values included — and the weight Circle.cw is untouched, so a classic circle stays classic and an inside-out one stays inside-out. The result is the receiver's own class: the moved geometry returns through Circle.copy, preserving a subclass that overrides the hook.
Receiver
The Circle to move.
Return
The moved circle, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Circle * Flector => Circle
Returns this circle reflected by flector's mirror motion — same radius, opposite orientation.
The antiproduct sandwich −F ⟇ c ⟇ F̰ in expanded form, raw at full Double precision. The center reflects across the mirror line and glides along it, the squared radius Circle.radius2 is preserved — imaginary values included — and the weight Circle.cw negates: a classic circle reflects to an inside-out one and back, the algebra's record that a mirror motion reverses orientation — first-class data, never an error. The result is the receiver's own class: the moved geometry returns through Circle.copy, preserving a subclass that overrides the hook.
Receiver
The Circle to reflect.
Return
The reflected circle, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Circle * Versor => Circle
Returns this circle moved by versor.
The action for a versor typed only as Versor: it dispatches to the Circle * Motor and Circle * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Circle to move.
Return
The moved circle, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.