Package-level declarations

The action tier for the composites: shape * versor moves a segment by its endpoints and a polyline or polygon vertex-by-vertex, with the same * Motor / * Flector / * Versor trio 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.

PairingResult
Segment * Motor
Segment * Flector
the segment of the moved endpoints
Polyline * Motor
Polyline * Flector
the polyline of the moved vertices
Polygon * Motor
Polygon * Flector
the polygon of the moved vertices; a flector reverses the winding

Degenerate inputs: a chain whose consecutive vertices lie within a SCALE quantum of each other can come back rounded-coincident, throwing DegeneratePolylineException or DegeneratePolygonException; Segment * versor never throws.

Functions

Link copied to clipboard
operator fun <T : Polygon> T.times(flector: Flector): T

Polygon * Flector => Polygon
Returns this polygon reflected by flector's mirror motion — same shape, reversed winding.

operator fun <T : Polygon> T.times(motor: Motor): T

Polygon * Motor => Polygon
Returns this polygon moved by motor's rigid motion.

operator fun <T : Polygon> T.times(versor: Versor): T

Polygon * Versor => Polygon
Returns this polygon moved by versor.

operator fun <T : Polyline> T.times(flector: Flector): T

Polyline * Flector => Polyline
Returns this polyline reflected by flector's mirror motion.

operator fun <T : Polyline> T.times(motor: Motor): T

Polyline * Motor => Polyline
Returns this polyline moved by motor's rigid motion.

operator fun <T : Polyline> T.times(versor: Versor): T

Polyline * Versor => Polyline
Returns this polyline moved by versor.

operator fun <T : Segment> T.times(flector: Flector): T

Segment * Flector => Segment
Returns this segment reflected by flector's mirror motion.

operator fun <T : Segment> T.times(motor: Motor): T

Segment * Motor => Segment
Returns this segment moved by motor's rigid motion.

operator fun <T : Segment> T.times(versor: Versor): T

Segment * Versor => Segment
Returns this segment moved by versor.