Interface Hyperplane<S extends Space>
 Type Parameters:
S
 Type of the space.
 All Known Implementing Classes:
Circle
,LimitAngle
,Line
,OrientedPoint
,Plane
The most prominent place where hyperplane appears in space
partitioning is as cutters. Each partitioning node in a BSP tree
has a cut subhyperplane
which is either an hyperplane or a part of an hyperplane. In an
ndimensions euclidean space, an hyperplane is an (n1)dimensions
hyperplane (for example a traditional plane in the 3D euclidean
space). They can be more exotic objects in specific fields, for
example a circle on the surface of the unit sphere.
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.

Method Summary
Modifier and TypeMethodDescriptioncopySelf()
Copy the instance.Build a subhyperplane covering nothing.double
Get the offset (oriented distance) of a point.double
Get the tolerance below which points are considered to belong to the hyperplane.Project a point to the hyperplane.boolean
sameOrientationAs
(Hyperplane<S> other) Check if the instance has the same orientation as another hyperplane.Build a subhyperplane covering the whole hyperplane.Build a region covering the whole space.

Method Details

copySelf
Hyperplane<S> copySelf()Copy the instance.The instance created is completely independant of the original one. A deep copy is used, none of the underlying objects are shared (except for immutable objects).
 Returns:
 a new hyperplane, copy of the instance

getOffset
Get the offset (oriented distance) of a point.The offset is 0 if the point is on the underlying hyperplane, it is positive if the point is on one particular side of the hyperplane, and it is negative if the point is on the other side, according to the hyperplane natural orientation.
 Parameters:
point
 point to check Returns:
 offset of the point

project
Project a point to the hyperplane. Parameters:
point
 point to project Returns:
 projected point

getTolerance
double getTolerance()Get the tolerance below which points are considered to belong to the hyperplane. Returns:
 tolerance below which points are considered to belong to the hyperplane

sameOrientationAs
Check if the instance has the same orientation as another hyperplane.This method is expected to be called on parallel hyperplanes. The method should not recheck for parallelism, only for orientation, typically by testing something like the sign of the dotproducts of normals.
 Parameters:
other
 other hyperplane to check against the instance Returns:
 true if the instance and the other hyperplane have the same orientation

wholeHyperplane
SubHyperplane<S> wholeHyperplane()Build a subhyperplane covering the whole hyperplane. Returns:
 a subhyperplane covering the whole hyperplane

emptyHyperplane
SubHyperplane<S> emptyHyperplane()Build a subhyperplane covering nothing. Returns:
 a subhyperplane covering nothing
 Since:
 1.4

wholeSpace
Build a region covering the whole space. Returns:
 a region containing the instance
