RoundedRectangle

Represents a transformable rounded rectangle in a two-dimensional Euclidean space.

Implementations that use default-implemented members of this interface must make sure that the properties center, orientation, width, height, cornerRadius and the copy method are independent of other members and the computational complexity of these members is trivial.

Inheritors

Properties

Link copied to clipboard
open override val area: Float

Returns the area of this shape.

Link copied to clipboard
abstract val center: Vector2F

Returns the center of this rounded rectangle.

Link copied to clipboard

Returns the corner center A of this rounded rectangle.

Link copied to clipboard

Returns the corner center B of this rounded rectangle.

Link copied to clipboard

Returns the corner center C of this rounded rectangle.

Link copied to clipboard

Returns the corner center D of this rounded rectangle.

Link copied to clipboard
abstract val cornerRadius: Float

Returns the corner radius of this rounded rectangle.

Link copied to clipboard
abstract val height: Float

Returns the height of this rounded rectangle.

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
open override val perimeter: Float

Returns the perimeter of this shape.

Link copied to clipboard
open val pointA: Vector2F

Returns the point A of this rounded rectangle.

Link copied to clipboard
open val pointB: Vector2F

Returns the point B of this rounded rectangle.

Link copied to clipboard
open val pointC: Vector2F

Returns the point C of this rounded rectangle.

Link copied to clipboard
open val pointD: Vector2F

Returns the point D of this rounded rectangle.

Link copied to clipboard
open val pointE: Vector2F

Returns the point E of this rounded rectangle.

Link copied to clipboard
open val pointF: Vector2F

Returns the point F of this rounded rectangle.

Link copied to clipboard
open val pointG: Vector2F

Returns the point G of this rounded rectangle.

Link copied to clipboard
open val pointH: Vector2F

Returns the point H of this rounded rectangle.

Link copied to clipboard
open override val position: Vector2F

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

Link copied to clipboard
abstract val width: Float

Returns the width of this rounded rectangle.

Functions

Link copied to clipboard
open fun closestPointTo(point: Vector2F): Vector2F

Returns the closest point on this rounded rectangle to the given point.

Link copied to clipboard
open operator fun component1(): Vector2F

Returns the center of this rounded rectangle.

Link copied to clipboard
open operator fun component2(): ComplexF

Returns the orientation of this rounded rectangle.

Link copied to clipboard
open operator fun component3(): Float

Returns the width of this rounded rectangle.

Link copied to clipboard
open operator fun component4(): Float

Returns the height of this rounded rectangle.

Link copied to clipboard
open operator fun component5(): Float

Returns the cornerRadius of this rounded rectangle.

Link copied to clipboard
open operator fun contains(point: Vector2F): Boolean

Returns true if this rounded rectangle contains the given point.

Link copied to clipboard
abstract fun copy(center: Vector2F = this.center, orientation: ComplexF = this.orientation, width: Float = this.width, height: Float = this.height, cornerRadius: Float = this.cornerRadius): RoundedRectangle

Returns a copy of this instance with specified properties changed.

Link copied to clipboard

Creates an iterator over the corner centers of this rounded rectangle.

Link copied to clipboard
open override fun dilatedBy(point: Vector2F, factor: Float): RoundedRectangle

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

Link copied to clipboard

Returns a copy of this rounded rectangle interpolated to other rounded rectangle by a factor.

Link copied to clipboard
open fun intersects(ray: Ray): Boolean

Returns true if this rounded rectangle intersects the given ray.

Link copied to clipboard
open override fun movedBy(displacement: Vector2F): RoundedRectangle

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

Link copied to clipboard
open override fun movedTo(position: Vector2F): RoundedRectangle

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

Link copied to clipboard

Creates an iterator over the points of this rounded rectangle.

Link copied to clipboard
open override fun rotatedAroundPointBy(point: Vector2F, rotation: AngleF): RoundedRectangle
open override fun rotatedAroundPointBy(point: Vector2F, rotation: ComplexF): RoundedRectangle

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

Link copied to clipboard
open override fun rotatedAroundPointTo(point: Vector2F, orientation: AngleF): RoundedRectangle
open override fun rotatedAroundPointTo(point: Vector2F, orientation: ComplexF): RoundedRectangle

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

Link copied to clipboard
open override fun rotatedBy(rotation: AngleF): RoundedRectangle
open override fun rotatedBy(rotation: ComplexF): RoundedRectangle

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

Link copied to clipboard
open override fun rotatedTo(orientation: AngleF): RoundedRectangle
open override fun rotatedTo(orientation: ComplexF): RoundedRectangle

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

Link copied to clipboard
open override fun scaledBy(factor: Float): RoundedRectangle

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

Link copied to clipboard
open override fun transformedBy(displacement: Vector2F, rotation: AngleF): RoundedRectangle
open override fun transformedBy(displacement: Vector2F, rotation: ComplexF): RoundedRectangle

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

open override fun transformedBy(displacement: Vector2F, rotation: AngleF, scaleFactor: Float): RoundedRectangle
open override fun transformedBy(displacement: Vector2F, rotation: ComplexF, scaleFactor: Float): RoundedRectangle

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
open override fun transformedTo(position: Vector2F, orientation: AngleF): RoundedRectangle
open override fun transformedTo(position: Vector2F, orientation: ComplexF): RoundedRectangle

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