MutableTransformable

Represents a mutable transformable object in a two-dimensional Euclidean space.

Direct implementations of this interface must consider that new interface members may be added in the next versions of the library. Implementations that are safe to use from a compatibility perspective are those that are defined in the library, like MutableSquare.

Inheritors

Properties

Link copied to clipboard
abstract val orientation: ComplexF

Returns the orientation of this object in reference to the origin of ComplexF.ONE.

Link copied to clipboard
abstract val position: Vector2F

Returns the position of this object in reference to the origin of Vector2F.ZERO.

Functions

Link copied to clipboard
abstract fun dilateBy(point: Vector2F, factor: Float)

Dilates this object around the point by a factor.

Link copied to clipboard
abstract fun dilatedBy(point: Vector2F, factor: Float): Transformable

Returns a copy of this object that is dilated around the point by a factor.

Link copied to clipboard
abstract fun moveBy(displacement: Vector2F)

Moves this object by a displacement.

Link copied to clipboard
abstract fun movedBy(displacement: Vector2F): Transformable

Returns a copy of this object that is moved by a displacement.

Link copied to clipboard
abstract fun movedTo(position: Vector2F): Transformable

Returns a copy of this object that is moved to the position.

Link copied to clipboard
abstract fun moveTo(position: Vector2F)

Moves this object to the position.

Link copied to clipboard
abstract fun rotateAroundPointBy(point: Vector2F, rotation: AngleF)
abstract fun rotateAroundPointBy(point: Vector2F, rotation: ComplexF)

Rotates this object around the point by a rotation.

Link copied to clipboard
abstract fun rotateAroundPointTo(point: Vector2F, orientation: AngleF)
abstract fun rotateAroundPointTo(point: Vector2F, orientation: ComplexF)

Rotates this object around the point to the orientation.

Link copied to clipboard
abstract fun rotateBy(rotation: AngleF)
abstract fun rotateBy(rotation: ComplexF)

Rotates this object by a rotation.

Link copied to clipboard
abstract fun rotatedAroundPointBy(point: Vector2F, rotation: AngleF): Transformable
abstract fun rotatedAroundPointBy(point: Vector2F, rotation: ComplexF): Transformable

Returns a copy of this object that is rotated around the point by a rotation.

Link copied to clipboard
abstract fun rotatedAroundPointTo(point: Vector2F, orientation: AngleF): Transformable
abstract fun rotatedAroundPointTo(point: Vector2F, orientation: ComplexF): Transformable

Returns a copy of this object that is rotated around the point to the orientation.

Link copied to clipboard
abstract fun rotatedBy(rotation: AngleF): Transformable
abstract fun rotatedBy(rotation: ComplexF): Transformable

Returns a copy of this object that is rotated by a rotation.

Link copied to clipboard
abstract fun rotatedTo(orientation: AngleF): Transformable
abstract fun rotatedTo(orientation: ComplexF): Transformable

Returns a copy of this object that is rotated to the orientation.

Link copied to clipboard
abstract fun rotateTo(orientation: AngleF)
abstract fun rotateTo(orientation: ComplexF)

Rotates this object to the orientation.

Link copied to clipboard
abstract fun scaleBy(factor: Float)

Scales this object by a factor.

Link copied to clipboard
abstract fun scaledBy(factor: Float): Transformable

Returns a copy of this object that is scaled by a factor.

Link copied to clipboard
abstract fun transformBy(displacement: Vector2F, rotation: AngleF)
abstract fun transformBy(displacement: Vector2F, rotation: ComplexF)

Transforms this object by moving by a displacement and rotating by a rotation.

abstract fun transformBy(displacement: Vector2F, rotation: AngleF, scaleFactor: Float)
abstract fun transformBy(displacement: Vector2F, rotation: ComplexF, scaleFactor: Float)

Transforms this object by moving by a displacement, rotating by a rotation, and scaling by a scaleFactor.

Link copied to clipboard
abstract fun transformedBy(displacement: Vector2F, rotation: AngleF): Transformable
abstract fun transformedBy(displacement: Vector2F, rotation: ComplexF): Transformable

Returns a copy of this object that is moved by a displacement and rotated by a rotation.

abstract fun transformedBy(displacement: Vector2F, rotation: AngleF, scaleFactor: Float): Transformable
abstract fun transformedBy(displacement: Vector2F, rotation: ComplexF, scaleFactor: Float): Transformable

Returns a copy of this object that is moved by a displacement, rotated by a rotation, and scaled by a scaleFactor.

Link copied to clipboard
abstract fun transformedTo(position: Vector2F, orientation: AngleF): Transformable
abstract fun transformedTo(position: Vector2F, orientation: ComplexF): Transformable

Returns a copy of this object that is moved to the position and rotated to the orientation.

Link copied to clipboard
abstract fun transformTo(position: Vector2F, orientation: AngleF)
abstract fun transformTo(position: Vector2F, orientation: ComplexF)

Transforms this object by moving to the position and rotating to the orientation.