ConvexShape

interface ConvexShape<V : Vector<V>, A : Transformation<V>> : Shape<V, A> (source)

A convex Shape.

This interface models a property instead of an object, this may be unusual but consider it as a contract: interfaces are often said to be contracts the implementor has to comply, the contract defined by this interface implies convexity.

Inheritors

Properties

Link copied to clipboard
abstract val centroid: V
Link copied to clipboard
abstract val diameter: Double
Link copied to clipboard
open val radius: Double

Functions

Link copied to clipboard
abstract fun contains(vector: V): Boolean
Link copied to clipboard
abstract fun intersects(other: Shape<V, A>): Boolean
Link copied to clipboard
abstract fun transformed(transformation: A.() -> Unit): Shape<V, A>