Package org.apache.commons.geometry.core.partitioning
This package contains code related to partitioning of spaces by hyperplanes.
A hyperplane is a subspace of dimension one less than its surrounding space. In Euclidean 3D space, the hyperplanes are 2-dimensional planes, while in Euclidean 2D space, the hyperplanes are 1-dimensional lines. Hyperplanes have the property that they partition the entire surrounding space into 3 distinct sets of points: (1) points lying on one side of the hyperplane, (2) points lying on the opposite side, and (3) points lying directly on the hyperplane itself. In order to differentiate between the two sides of the hyperplane, one side is labeled as the plus side and the other as the minus side. The plus side of a Euclidean plane, for example, lies in the direction of the plane normal.
-
Interface Summary Interface Description BoundarySource<C extends HyperplaneConvexSubset<? extends Point<?>>> Interface representing an object that can produce region boundaries as a stream of hyperplane convex subsets.EmbeddingHyperplane<P extends Point<P>,S extends Point<S>> Hyperplane that also embeds a subspace.Hyperplane<P extends Point<P>> Interface representing a hyperplane, which in a space of dimensionn
is a subspace of dimensionn - 1
.HyperplaneBoundedRegion<P extends Point<P>> Interface representing regions with boundaries defined by hyperplanes or portions of hyperplanes.HyperplaneConvexSubset<P extends Point<P>> Extension of theHyperplaneSubset
interface with the additional restriction that instances represent convex regions of space.HyperplaneSubset<P extends Point<P>> Interface representing a subset of the points lying in a hyperplane.Splittable<P extends Point<P>,S extends Splittable<P,S>> Interface representing objects that can be split byHyperplane
s. -
Class Summary Class Description AbstractConvexHyperplaneBoundedRegion<P extends Point<P>,S extends HyperplaneConvexSubset<P>> Base class for convex hyperplane-bounded regions.AbstractConvexHyperplaneBoundedRegion.ConvexRegionBoundaryBuilder<P extends Point<P>,S extends HyperplaneConvexSubset<P>> Internal class encapsulating the logic for building convex region boundaries from collections of hyperplanes.AbstractHyperplane<P extends Point<P>> Base class for hyperplane implementations.BoundaryList<P extends Point<P>,S extends HyperplaneConvexSubset<P>> Simple implementation ofBoundarySource
containing boundaries stored in a list.Split<T> Class containing the result of splitting an object with a hyperplane. -
Enum Summary Enum Description HyperplaneLocation Enumeration containing possible locations of a point with respect to a hyperplane.SplitLocation Enumeration representing the location of a split object with respect to its splittinghyperplane
.