times
Segment * Motor => Segment
Returns this segment moved by motor's rigid motion.
Moves the wrapped blade — Dipole * Motor carries the geometric contract — and wraps the result: the segment's endpoints move together, Segment.start staying start. The moved segment derives its endpoints from the moved blade; the endpoint instances a constructor-built segment shares by reference are not carried across the move. The result is the receiver's own class: the moved geometry returns through Segment.copy, preserving a subclass that overrides the hook.
Receiver
The Segment to move.
Return
The moved segment, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Segment * Flector => Segment
Returns this segment reflected by flector's mirror motion.
Reflects the wrapped blade — Dipole * Flector carries the geometric contract — and wraps the result: the segment's endpoints reflect together, Segment.start staying start. The reflected segment derives its endpoints from the moved blade; the endpoint instances a constructor-built segment shares by reference are not carried across the move. The result is the receiver's own class: the moved geometry returns through Segment.copy, preserving a subclass that overrides the hook.
Receiver
The Segment to reflect.
Return
The reflected segment, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Segment * Versor => Segment
Returns this segment moved by versor.
The action for a versor typed only as Versor: it dispatches to the Segment * Motor and Segment * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Segment to move.
Return
The moved segment, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Polyline * Motor => Polyline
Returns this polyline moved by motor's rigid motion.
Builds the polyline of the moved vertices, in order — every vertex carried by the same motion, so the chain's segment lengths and angles are preserved, raw at full Double precision. Consecutive vertices lying within a SCALE quantum of each other can land rounded-coincident after the move, and the moved chain is then rejected. The result is the receiver's own class: the moved geometry returns through Polyline.copy, preserving a subclass that overrides the hook.
Receiver
The Polyline to move.
Return
The moved polyline, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.
Polyline * Flector => Polyline
Returns this polyline reflected by flector's mirror motion.
Builds the polyline of the reflected vertices, in order — every vertex carried by the same motion, so the chain's segment lengths and angles are preserved, raw at full Double precision. Consecutive vertices lying within a SCALE quantum of each other can land rounded-coincident after the move, and the moved chain is then rejected. The result is the receiver's own class: the moved geometry returns through Polyline.copy, preserving a subclass that overrides the hook.
Receiver
The Polyline to reflect.
Return
The reflected polyline, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.
Polyline * Versor => Polyline
Returns this polyline moved by versor.
The action for a versor typed only as Versor: it dispatches to the Polyline * Motor and Polyline * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Polyline to move.
Return
The moved polyline, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.
Polygon * Motor => Polygon
Returns this polygon moved by motor's rigid motion.
Builds the polygon of the moved vertices, in order — every vertex carried by the same motion, so edge lengths, angles, and the winding are preserved, raw at full Double precision. Consecutive vertices lying within a SCALE quantum of each other can land rounded-coincident after the move, and the moved loop is then rejected. The result is the receiver's own class: the moved geometry returns through Polygon.copy, preserving a subclass that overrides the hook.
Receiver
The Polygon to move.
Return
The moved polygon, as the receiver's class.
Parameters
The rigid motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.
Polygon * Flector => Polygon
Returns this polygon reflected by flector's mirror motion — same shape, reversed winding.
Builds the polygon of the reflected vertices, in order — every vertex carried by the same motion, so edge lengths and angles are preserved, raw at full Double precision. A mirror motion reverses the winding: a counter-clockwise loop comes back clockwise — a valid polygon, with Polygon.signedArea's sign following the new winding. Consecutive vertices lying within a SCALE quantum of each other can land rounded-coincident after the move, and the moved loop is then rejected. The result is the receiver's own class: the moved geometry returns through Polygon.copy, preserving a subclass that overrides the hook.
Receiver
The Polygon to reflect.
Return
The reflected polygon, as the receiver's class.
Parameters
The mirror motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.
Polygon * Versor => Polygon
Returns this polygon moved by versor.
The action for a versor typed only as Versor: it dispatches to the Polygon * Motor and Polygon * Flector forms; a versor with a concrete static type resolves to those directly.
Receiver
The Polygon to move.
Return
The moved polygon, as the receiver's class.
Parameters
The motion to apply.
Type Parameters
The receiver's type, preserved in the result.
Throws
when the move lands two consecutive vertices rounded-coincident at the SCALE quantum.