unaryMinus

operator fun <T : Line> T.unaryMinus(): T

-Line => Line
Returns this line with the opposite orientation — the same cut through the plane, positive side swapped.

Negates all three components, raw at full Double precision: for a finite line the unit Line.normal and the running Line.attitude both flip and the origin's signed distance changes sign; a line at infinity negates its raw magnitude, which is data. Identity is orientation-sensitive, so a line and its negation compare unequal (the all-zero line at infinity being its own negation); compare Line.canonical for unoriented equivalence — (-line).canonical == line.canonical. The result is the receiver's own class: the negated geometry returns through Line.copy, preserving a subclass that overrides the hook.

Receiver

The Line to negate.

Return

The negated line, as the receiver's class.

Type Parameters

T

The receiver's type, preserved in the result.


operator fun <T : Dipole> T.unaryMinus(): T

-Dipole => Dipole
Returns this dipole with its endpoints exchanged — the same point pair, opposite orientation.

Negates all six components, raw at full Double precision — exactly what swapping the wedge order does, so Dipole.start and Dipole.end exchange while Dipole.center and Dipole.radius2 are untouched; Dipole.attitude flips. A dipole at infinity negates its raw components, which are data. Identity is orientation-sensitive, so a dipole and its negation compare unequal; compare Dipole.canonical for unoriented equivalence — (-dipole).canonical == dipole.canonical. The result is the receiver's own class: the negated geometry returns through Dipole.copy, preserving a subclass that overrides the hook.

Receiver

The Dipole to negate.

Return

The negated dipole, as the receiver's class.

Type Parameters

T

The receiver's type, preserved in the result.


operator fun <T : Circle> T.unaryMinus(): T

-Circle => Circle
Returns this circle turned inside out — the same point set with the interior swapped.

Negates all four components: a classic circle comes back inside out and vice versa (Circle.isInsideOut flips), with center and radius untouched. Identity is orientation-sensitive, so a circle and its negation compare unequal; compare Circle.canonical for unoriented equivalence — (-circle).canonical == circle.canonical. The result is the receiver's own class: the negated geometry returns through Circle.copy, preserving a subclass that overrides the hook.

Receiver

The Circle to turn inside out.

Return

The negated circle, as the receiver's class.

Type Parameters

T

The receiver's type, preserved in the result.


-Direction => Direction
Returns the opposite free vector: the same length, reversed heading.

Component-wise negation, raw at full Double precision. The operand carries the exact zero weight, so the result is at infinity by construction — no finite position can leak in. The zero direction is its own negation.

Receiver

The direction to negate.

Return

The component-wise negation, as a Direction.


-RoundDirection => RoundDirection
Returns the opposite direction: the same magnitude, reversed heading.

Component-wise negation, raw at full Double precision — the conformal component RoundPoint.aw is live data and negates with the extents, so the whole at-infinity vector flips. The operand carries the exact zero round weight, so the result is at infinity by construction — no finite position can leak in. The zero direction is its own negation.

Receiver

The direction to negate.

Return

The component-wise negation, as a RoundDirection.