S
- Type of the space.public interface Hyperplane<S extends Space>
The most prominent place where hyperplane appears in space partitioning is as cutters. Each partitioning node in a
BSP tree
has a cut sub-hyperplane
which is either an hyperplane or a part of an
hyperplane. In an n-dimensions euclidean space, an hyperplane is an (n-1)-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.
Modifier and Type | Method and Description |
---|---|
Hyperplane<S> |
copySelf()
Copy the instance.
|
double |
getOffset(Vector<S> point)
Get the offset (oriented distance) of a point.
|
boolean |
sameOrientationAs(Hyperplane<S> other)
Check if the instance has the same orientation as another hyperplane.
|
SubHyperplane<S> |
wholeHyperplane()
Build a sub-hyperplane covering the whole hyperplane.
|
Region<S> |
wholeSpace()
Build a region covering the whole space.
|
Hyperplane<S> copySelf()
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).
double getOffset(Vector<S> 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.
point
- point to checkboolean sameOrientationAs(Hyperplane<S> other)
This method is expected to be called on parallel hyperplanes. The method should not re-check for parallelism, only for orientation, typically by testing something like the sign of the dot-products of normals.
other
- other hyperplane to check against the instanceSubHyperplane<S> wholeHyperplane()
Copyright © 2023 CNES. All rights reserved.