Package-level declarations

Types

Link copied to clipboard
data class AABB3D(val min: Vector3F = Vector3F(), val max: Vector3F = Vector3F()) : SimpleShape3D
Link copied to clipboard
typealias Anchor = Anchor2D
Link copied to clipboard
data class Anchor2D(val sx: Double, val sy: Double) : Interpolable<Anchor>
Link copied to clipboard
typealias Anchor3 = Anchor3F
Link copied to clipboard
data class Anchor3F(val sx: Float, val sy: Float, val sz: Float) : Interpolable<Anchor3F>
Link copied to clipboard

Represents an Angle, ratio is in 0, 1 range, radians is in 0, 2PI range, and degrees in 0, 360 range The internal representation is in 0, 1 range to reduce rounding errors, since floating points can represent a lot of values in that range.

Link copied to clipboard
inline class BoundsBuilder(val bounds: Rectangle)
Link copied to clipboard
data class Circle(val center: Point, val radius: Double) : SimpleShape2D
Link copied to clipboard
data class CylindricalVector(val radius: Double = 1.0, val angle: Angle = Angle.ZERO, val y: Double = 0.0)
Link copied to clipboard
data class Ellipse(val center: Point, val radius: Size) : SimpleShape2D
Link copied to clipboard

Rotations around Z axis, then X axis, then Y axis in that order.

Link copied to clipboard
class GenericDoubleVector(val dimensions: Int, val data: DoubleArray, val offset: Int = 0) : IGenericDoubleVector
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
typealias Line = Line2D
Link copied to clipboard
typealias Line2 = Line
Link copied to clipboard
data class Line2D(val a: Vector2D, val b: Vector2D) : SimpleShape2D
Link copied to clipboard
data class Margin(val top: Double, val right: Double, val bottom: Double, val left: Double) : IsAlmostEquals<Margin>

A top, right, bottom, left pack with FixedShort (16-bit) in the range of +-3275.9 (3.3 integer digits + 1 decimal digit)

Link copied to clipboard
data class MarginInt(val top: Int, val right: Int, val bottom: Int, val left: Int)

A top, right, bottom, left pack with Int)

Link copied to clipboard
data class Matrix(val a: Double, val b: Double, val c: Double, val d: Double, val tx: Double = 0.0, val ty: Double = 0.0) : IsAlmostEquals<Matrix>
Link copied to clipboard

Useful for representing rotations and scales.

Link copied to clipboard

Useful for representing complete transforms: rotations, scales, translations, projections, etc.

Link copied to clipboard
class MatrixComputed(val matrix: Matrix, val transform: MatrixTransform)
Link copied to clipboard
Link copied to clipboard
data class MatrixTransform(val x: Double = 0.0, val y: Double = 0.0, val scaleX: Double = 1.0, val scaleY: Double = 1.0, val skewX: Angle = Angle.ZERO, val skewY: Angle = Angle.ZERO, val rotation: Angle = Angle.ZERO) : IsAlmostEquals<MatrixTransform>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
typealias Point = Vector2D
Link copied to clipboard
typealias Point2 = Vector2D
Link copied to clipboard
typealias Point3 = Vector3D
Link copied to clipboard
typealias PointInt = Vector2I
Link copied to clipboard
data class Polygon(val points: IPointList)
Link copied to clipboard
data class Polyline(val points: IPointList)
Link copied to clipboard
data class Quaternion(val x: Float, val y: Float, val z: Float, val w: Float) : IsAlmostEqualsF<Quaternion>
Link copied to clipboard
typealias Ray = Ray2D
Link copied to clipboard
typealias Ray2 = Ray
Link copied to clipboard
data class Ray2D : IsAlmostEquals<Ray2D>

Represents an infinite Ray starting at point in the specified direction with an angle

Link copied to clipboard
typealias Ray3 = Ray3F
Link copied to clipboard
data class Ray3F(val pos: Vector3F, val dir: Vector3F)
Link copied to clipboard
data class Rectangle(val x: Double, val y: Double, val width: Double, val height: Double) : SimpleShape2D, IsAlmostEquals<Rectangle>
Link copied to clipboard
typealias RectangleD = Rectangle
Link copied to clipboard
Link copied to clipboard
data class RectangleInt(val x: Int, val y: Int, val width: Int, val height: Int)
Link copied to clipboard
data class RectCorners(val topLeft: Double, val topRight: Double, val bottomRight: Double, val bottomLeft: Double)
Link copied to clipboard
data class RoundRectangle(val rect: Rectangle, val corners: RectCorners)
Link copied to clipboard
data class Scale(val scaleX: Double, val scaleY: Double)
Link copied to clipboard
class ScaleMode(val name: String? = null, val transform: (Size, Size) -> Size)
Link copied to clipboard
typealias Size = Size2D
Link copied to clipboard
data class Size2D(val width: Double, val height: Double)

A class representing a size with a width and a height as Float.

Link copied to clipboard
data class Size2F(val width: Float, val height: Float)
Link copied to clipboard
typealias Size3 = Size2F
Link copied to clipboard
data class Size3D(val width: Double, val height: Double, val depth: Double)
Link copied to clipboard
data class Size3F(val width: Float, val height: Float, val depth: Float)
Link copied to clipboard
interface Sizeable
Link copied to clipboard
interface SizeableInt
Link copied to clipboard
typealias SizeI = SizeInt
Link copied to clipboard
data class SizeInt(val width: Int, val height: Int)
Link copied to clipboard
data class Spacing(val vertical: Double, val horizontal: Double)
Link copied to clipboard
data class Sphere3D(val center: Vector3F, val radius: Float) : SimpleShape3D
Link copied to clipboard
data class TRS4(val translation: Vector4F, val rotation: Quaternion, val scale: Vector4F)
Link copied to clipboard
typealias Vector2 = Vector2F
Link copied to clipboard
data class Vector2D(val x: Double, val y: Double) : IsAlmostEquals<Vector2D>
Link copied to clipboard
data class Vector2F(val x: Float, val y: Float)
Link copied to clipboard
data class Vector2I(val x: Int, val y: Int)
Link copied to clipboard
typealias Vector3 = Vector3F
Link copied to clipboard
data class Vector3D(val x: Double, val y: Double, val z: Double)
Link copied to clipboard
data class Vector3F(val x: Float, val y: Float, val z: Float) : IsAlmostEqualsF<Vector3F>
Link copied to clipboard
data class Vector3I(val x: Int, val y: Int, val z: Int)
Link copied to clipboard
typealias Vector4 = Vector4F
Link copied to clipboard
data class Vector4D(val x: Double, val y: Double, val z: Double, val w: Double)
Link copied to clipboard
data class Vector4F(val x: Float, val y: Float, val z: Float, val w: Float)
Link copied to clipboard
data class Vector4I(val x: Int, val y: Int, val z: Int, val w: Int)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
inline fun abs(angle: Angle): Angle
Link copied to clipboard
fun Size.applyScaleMode(container: Size, mode: ScaleMode): Size
fun Rectangle.applyScaleMode(container: Rectangle, mode: ScaleMode, anchor: Anchor): Rectangle
fun Size.applyScaleMode(container: Rectangle, mode: ScaleMode, anchor: Anchor): Rectangle
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
operator fun OpenRange<Angle>.contains(angle: Angle): Boolean
operator fun ClosedRange<Angle>.contains(angle: Angle): Boolean
Link copied to clipboard
inline fun cos(angle: Angle, up: Vector2D = Vector2D.UP): Double
Link copied to clipboard
inline fun cosf(angle: Angle, up: Vector2D = Vector2D.UP): Float
Link copied to clipboard
Link copied to clipboard
operator fun Vector2D.div(other: Scale): Vector2D
operator fun Vector2D.div(other: Size): Vector2D
operator fun Vector2D.div(other: SizeInt): Vector2D
operator fun Vector2F.div(other: Scale): Vector2F
operator fun Vector2F.div(other: Size): Vector2F
operator fun Vector2F.div(other: SizeInt): Vector2F
operator fun Vector2I.div(other: SizeInt): Vector2I
Link copied to clipboard
fun Size.fitTo(container: Size): Size
fun SizeInt.fitTo(container: SizeInt): SizeInt
Link copied to clipboard
fun Matrix4.Companion.frustum(rect: Rectangle, zNear: Double = 0.0, zFar: Double = 1.0): Matrix4
fun Matrix4.Companion.frustum(rect: Rectangle, zNear: Float = 0.0f, zFar: Float = 1.0f): Matrix4
fun Matrix4.Companion.frustum(rect: Rectangle, zNear: Int = 0, zFar: Int = 1): Matrix4
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun max(a: Angle, b: Angle): Angle
Link copied to clipboard
inline fun min(a: Angle, b: Angle): Angle
Link copied to clipboard
operator fun Vector2D.minus(other: Size): Vector2D
operator fun Vector2D.minus(other: SizeInt): Vector2D
operator fun Vector2F.minus(other: Size): Vector2F
operator fun Vector2F.minus(other: SizeInt): Vector2F
operator fun Vector2I.minus(other: SizeInt): Vector2I
Link copied to clipboard
fun Matrix4.Companion.ortho(rect: Rectangle, near: Double = 0.0, far: Double = 1.0): Matrix4
fun Matrix4.Companion.ortho(rect: Rectangle, near: Float = 0.0f, far: Float = 1.0f): Matrix4
fun Matrix4.Companion.ortho(rect: Rectangle, near: Int = 0, far: Int = 1): Matrix4
Link copied to clipboard

Circle that touches or contains all the corners (Rectangle.topLeft, Rectangle.topRight, Rectangle.bottomLeft, Rectangle.bottomRight) of the rectangle.

Link copied to clipboard
fun Rectangle.place(item: Size, anchor: Anchor, scale: ScaleMode): Rectangle
Link copied to clipboard
operator fun Vector2D.plus(other: Size): Vector2D
operator fun Vector2D.plus(other: SizeInt): Vector2D
operator fun Vector2F.plus(other: Size): Vector2F
operator fun Vector2F.plus(other: SizeInt): Vector2F
operator fun Vector2I.plus(other: SizeInt): Vector2I
Link copied to clipboard
Link copied to clipboard
operator fun Vector2D.rem(other: Scale): Vector2D
operator fun Vector2D.rem(other: Size): Vector2D
operator fun Vector2D.rem(other: SizeInt): Vector2D
operator fun Vector2F.rem(other: Scale): Vector2F
operator fun Vector2F.rem(other: Size): Vector2F
operator fun Vector2F.rem(other: SizeInt): Vector2F
operator fun Vector2I.rem(other: SizeInt): Vector2I
Link copied to clipboard
fun Matrix.scaled(scale: Scale): Matrix
Link copied to clipboard
inline fun sin(angle: Angle, up: Vector2D = Vector2D.UP): Double
Link copied to clipboard
inline fun sinf(angle: Angle, up: Vector2D = Vector2D.UP): Float
Link copied to clipboard
inline fun tan(angle: Angle, up: Vector2D = Vector2D.UP): Double
Link copied to clipboard
inline fun tanf(angle: Angle, up: Vector2D = Vector2D.UP): Float
Link copied to clipboard
operator fun Size.times(anchor: Anchor): Point
operator fun Vector2D.times(other: Scale): Vector2D
operator fun Vector2D.times(other: Size): Vector2D
operator fun Vector2D.times(other: SizeInt): Vector2D
operator fun Vector2F.times(other: Scale): Vector2F
operator fun Vector2F.times(other: Size): Vector2F
operator fun Vector2F.times(other: SizeInt): Vector2F
operator fun Vector2I.times(other: SizeInt): Vector2I
operator fun Double.times(v: Vector2D): Vector2D
operator fun Double.times(v: Vector2F): Vector2F
operator fun Double.times(v: Vector3F): Vector3F
operator fun Float.times(v: Vector2D): Vector2D
operator fun Float.times(v: Vector2F): Vector2F
operator fun Float.times(v: Vector3F): Vector3F
operator fun Int.times(v: Vector2D): Vector2D
operator fun Int.times(v: Vector2F): Vector2F
operator fun Int.times(v: Vector3F): Vector3F
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun Matrix.transformRectangle(rectangle: Rectangle, delta: Boolean = false): Rectangle
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
infix fun Angle.until(other: Angle): OpenRange<Angle>
Link copied to clipboard
fun vec(x: Float, y: Float): Vector2F
fun vec(x: Float, y: Float, z: Float): Vector3F
fun vec(x: Float, y: Float, z: Float, w: Float): Vector4F
Link copied to clipboard
fun vec2(x: Float, y: Float): Vector2F
Link copied to clipboard
fun vec3(x: Float, y: Float, z: Float): Vector3F
Link copied to clipboard
fun vec4(x: Float, y: Float, z: Float, w: Float = 1.0f): Vector4F