Arrangement

data class Arrangement(val shapes: List<ShapeProvider>, val maxIters: Int = 1000, val epsilon: Double? = null)(source)

Create an arrangement of a list of ShapeProvider objects, like Shapes or ShapeContours.

Constructors

Link copied to clipboard
constructor(shapes: List<ShapeProvider>, maxIters: Int = 1000, epsilon: Double? = null)
constructor(vararg shapes: ShapeProvider)

Properties

Link copied to clipboard
val boundaries: List<ShapeContour>

The outer boundary contours of each connected component.

Link copied to clipboard
Link copied to clipboard

A list containing an arbitrary half-edge for each connected component.

Link copied to clipboard

Maps a contour to the vertices incident to it.

Link copied to clipboard

All edges of the arrangement.

Link copied to clipboard

Distance below which intersection points are considered to be the same vertex. When null it is derived from the size of the input, see vertexEpsilon.

Link copied to clipboard

All faces of the arrangement.

Link copied to clipboard

All half-edges of the arrangement.

Link copied to clipboard
val hEdgesMap: MutableMap<ShapeProvider, MutableList<XEdge>>

Maps a shape to the edges incident to it.

Link copied to clipboard
val hFacesMap: MutableMap<ShapeProvider, MutableList<XFace>>

Maps a shape to the faces that it is a superset of.

Link copied to clipboard

The bounded faces that are not a subset of any input shape.

Link copied to clipboard

The maximum number of edges incident to a face, used to detect infinite loops so that an error is thrown instead.

Link copied to clipboard

The faces that are a subset of some input shape.

Link copied to clipboard
val shapes: List<ShapeProvider>
Link copied to clipboard
Link copied to clipboard

The distance below which points are merged into a single vertex. Kartifex finds intersections with an absolute tolerance of 1e-5, so this never goes below that; otherwise it scales with the input.

Link copied to clipboard

All vertices of the arrangement.