Interface PlaneConvexSubset
- All Superinterfaces:
HyperplaneConvexSubset<Vector3D>
,HyperplaneSubset<Vector3D>
,PlaneSubset
,Sized
,Splittable<Vector3D,
HyperplaneSubset<Vector3D>>
- All Known Subinterfaces:
ConvexPolygon3D
,Triangle3D
- All Known Implementing Classes:
AbstractConvexPolygon3D
,EmbeddedAreaPlaneConvexSubset
,SimpleTriangle3D
,VertexListConvexPolygon3D
Interface representing a finite or infinite convex subset of points in a plane in Euclidean 3D
space.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
Interface used to represent plane convex subsets as embedded 2D subspace regions. -
Method Summary
Modifier and TypeMethodDescriptionReturn an object containing the plane subset as an embedded 2D subspace region.Get the vertices for the convex subset in a counter-clockwise order as viewed looking down the plane normal.reverse()
Reverse the orientation of the hyperplane for this instance, returning the result as a new instance.split
(Hyperplane<Vector3D> splitter) Split this instance with the given hyperplane.default List
<PlaneConvexSubset> toConvex()
Convert this instance into a list of convex child subsets representing the same region.Return a new hyperplane subset resulting from the application of the given transform.Methods inherited from interface org.apache.commons.geometry.core.partitioning.HyperplaneSubset
classify, closest, contains, getCentroid, isEmpty, isFull
Methods inherited from interface org.apache.commons.geometry.euclidean.threed.PlaneSubset
getBounds, getHyperplane, getPlane, intersection, intersection, toTriangles
Methods inherited from interface org.apache.commons.geometry.core.Sized
getSize, isFinite, isInfinite
-
Method Details
-
reverse
PlaneConvexSubset reverse()Reverse the orientation of the hyperplane for this instance, returning the result as a new instance. The returned subset contains the same points but has a reversed orientation.- Specified by:
reverse
in interfaceHyperplaneConvexSubset<Vector3D>
- Returns:
- a hyperplane convex subset representing the same region but with the opposite orientation.
-
transform
Return a new hyperplane subset resulting from the application of the given transform. The current instance is not modified.- Specified by:
transform
in interfaceHyperplaneConvexSubset<Vector3D>
- Specified by:
transform
in interfaceHyperplaneSubset<Vector3D>
- Parameters:
transform
- the transform instance to apply- Returns:
- new transformed hyperplane subset
-
split
Split this instance with the given hyperplane.- Specified by:
split
in interfaceHyperplaneConvexSubset<Vector3D>
- Specified by:
split
in interfaceSplittable<Vector3D,
HyperplaneSubset<Vector3D>> - Parameters:
splitter
- the hyperplane to split this object with.- Returns:
- result of the split operation
-
getEmbedded
PlaneConvexSubset.Embedded getEmbedded()Return an object containing the plane subset as an embedded 2D subspace region.- Specified by:
getEmbedded
in interfacePlaneSubset
- Returns:
- an object containing the plane subset as an embedded 2D subspace region
-
getVertices
Get the vertices for the convex subset in a counter-clockwise order as viewed looking down the plane normal. Each vertex in the returned list is unique. If the boundary of the subset is closed, the start vertex is not repeated at the end of the list.It is important to note that, in general, the list of vertices returned by this method is not sufficient to completely characterize the subset. For example, a simple triangle has 3 vertices, but an infinite area constructed from two parallel lines and two lines that intersect between them will also have 3 vertices. It is also possible for non-empty subsets to contain no vertices at all. For example, a subset with no boundaries (representing the full plane), a subset with a single boundary (ie, a half-plane), or a subset with two parallel boundaries will not contain any vertices.
- Returns:
- the list of vertices for the plane convex subset in a counter-clockwise order as viewed looking down the plane normal
-
toConvex
Convert this instance into a list of convex child subsets representing the same region. Implementations are not required to return an optimal convex subdivision of the current instance. They are free to return whatever subdivision is readily available.This method simply returns a singleton list containing this object.
- Specified by:
toConvex
in interfaceHyperplaneSubset<Vector3D>
- Specified by:
toConvex
in interfacePlaneSubset
- Returns:
- a list of hyperplane convex subsets representing the same subspace region as this instance
-