Interface SubHyperplane<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>>
- Type Parameters:
S
- Type of the space.P
- Type of the points in space.H
- Type of the hyperplane.I
- Type of the sub-hyperplane.
- All Known Implementing Classes:
AbstractSubHyperplane
,SubCircle
,SubLimitAngle
,SubLine
,SubOrientedPoint
,SubPlane
sub-hyperplanes are obtained when parts of an hyperplane
are chopped off by other hyperplanes that
intersect it. The remaining part is a convex region. Such objects
appear in BSP trees
as the intersection of a cut
hyperplane with the convex region which it splits, the chopping
hyperplanes are the cut hyperplanes closer to the tree root.
Note that this interface is not intended to be implemented by Hipparchus users, it is only intended to be implemented within the library itself. New methods may be added even for minor versions, which breaks compatibility for external implementations.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptioncopySelf()
Copy the instance.Get the underlying hyperplane.Get an interior point.double
getSize()
Get the size of the instance.boolean
isEmpty()
Check if the instance is empty.Compute the union of the instance and another sub-hyperplane.Split the instance in two parts by an hyperplane.
-
Method Details
-
copySelf
I copySelf()Copy the instance.The instance created is completely independent from the original one. A deep copy is used, none of the underlying objects are shared (except for the nodes attributes and immutable objects).
- Returns:
- a new sub-hyperplane, copy of the instance
-
getHyperplane
H getHyperplane()Get the underlying hyperplane.- Returns:
- underlying hyperplane
-
isEmpty
boolean isEmpty()Check if the instance is empty.- Returns:
- true if the instance is empty
-
getSize
double getSize()Get the size of the instance.- Returns:
- the size of the instance (this is a length in 1D, an area in 2D, a volume in 3D ...)
-
split
Split the instance in two parts by an hyperplane.- Parameters:
hyperplane
- splitting hyperplane- Returns:
- an object containing both the part of the instance on the plus side of the hyperplane and the part of the instance on the minus side of the hyperplane
-
reunite
Compute the union of the instance and another sub-hyperplane.- Parameters:
other
- other sub-hyperplane to union (must be in the same hyperplane as the instance)- Returns:
- a new sub-hyperplane, union of the instance and other
-
getInteriorPoint
P getInteriorPoint()Get an interior point.- Returns:
- an arbitrary interior point, or null if sub-hyperplane is empty
- Since:
- 4.0
-