invoke

abstract operator fun invoke(point: Point): Vector3D

Applies the transform to point. This operation treats point as a (3x1 or 4x1) Matrix (based on whether this is a 2D or 3D transform) and uses matrix multiplication to find a new 3x1 matrix to produce the result.

                 |a, b, c, d|
|x, y, 0, 1| |e, f, g, h| = |xa + ye, xb + yf, 1| -> [xa + ye, xb + ye]
|i, j, k, l|
|0, 0, 0, 1|

Return

a new, transformed point


abstract fun invoke(point: Vector3D): Vector3D

Applies the transform to point. This operation treats point as a (3x1 or 4x1) Matrix (based on whether this is a 2D or 3D transform) and uses matrix multiplication to find a new 3x1 matrix to produce the result.

                 |a, b, c, d|
|x, y, z, 1| |e, f, g, h| = |xa + ye + zi, xb + yf + zj, xc + yg + zk, 1|
|i, j, k, l|
|0, 0, 0, 1|

-> [xa + ye + zi, xb + yf + zj, xc + yg + zk]

Return

a new, transformed point


abstract operator fun invoke(vararg points: Vector3D): List<Vector3D>

Transforms the given points.

Return

a list of points transformed by this object

Parameters

points

that will be transformed

See also


operator fun invoke(polygon: ConvexPolygon): ConvexPolygon

Transforms the given polygon. Note that the resulting polygon is a 2D projection of the transformed points. That is because this transform may map the 2D points of polygon into a set of 3D points.

Return

a polygon transformed by this object

Parameters

polygon

that will be transformed