Package-level declarations

Types

Link copied to clipboard

An abstract ConvexPolygon providing a convexity test.

Link copied to clipboard

Base class for Transformation providing a standard implementation for GeometricShapeFactory.adimensional.

Link copied to clipboard

MutableConvexPolygon partly delegated to AwtEuclidean2DShape and java.awt.geom. Each modification operation on this object has a time complexity of O(n), where n is the number of vertices/edges. Collinear points are allowed.

Link copied to clipboard

Anything which can be represented as a java.awt.Shape.

Link copied to clipboard

A simple polygon (i.e. not self-intersecting and without holes) in which no line segment between two points on the boundary ever goes outside the polygon.

Link copied to clipboard
interface ConvexShape<V : Vector<V>, A : Transformation<V>> : Shape<V, A>

A convex Shape.

Link copied to clipboard

A convex euclidean shape in a bidimensional environment.

Link copied to clipboard

Defines an euclidean shape in a bidimensional space.

Link copied to clipboard

Defines a factory of Shape for a bidimensional euclidean space.

Link copied to clipboard

Defines the possible Transformations for a GeometricShape in a bidimensional Euclidean space.

Link copied to clipboard
Link copied to clipboard

Generic factory for Shape.

Link copied to clipboard
sealed class Intersection2D<out V>

Describes the result an intersection operation in an euclidean 2D space. Type V must extend Vector2D. The requirement is not explicitly enforced to allow the class to work covariantly.

Link copied to clipboard
interface Line2D<P : Vector2D<P>>

Defines a straight line in a cartesian plane.

Link copied to clipboard
Link copied to clipboard
interface Segment2D<P : Vector2D<P>>

Defines a line segment in a cartesian plane, endpoints are included.

Link copied to clipboard
data class Segment2DImpl<P : Vector2D<P>>(val first: P, val second: P) : Segment2D<P>

Implementation of a Segment2D.

Link copied to clipboard

Models a generic shape.

Link copied to clipboard

A Line2D represented in the slope-intercept form: y = slope * x + yIntercept. Doubles are only compared with fuzzyEquals.

Link copied to clipboard
interface Transformation<S : Vector<S>>

Defines a generic transformation of a generic shape. The operations allowed depend on the space the shape belongs to. This interface is meant to be extended.

Link copied to clipboard
interface Vector<S : Vector<S>>

A generic vector in a multidimensional space.

Link copied to clipboard
interface Vector2D<P : Vector2D<P>> : Vector<P>

Bidimensional vector with x and y coordinates.