Package org.apache.lucene.spatial3d.geom
Class SidedPlane
java.lang.Object
org.apache.lucene.spatial3d.geom.Vector
org.apache.lucene.spatial3d.geom.Plane
org.apache.lucene.spatial3d.geom.SidedPlane
- All Implemented Interfaces:
Membership
Combination of a plane, and a sign value indicating what evaluation values are on the correct
side of the plane.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
Modifier and TypeFieldDescriptionfinal double
The sign value for evaluation of a point on the correct side of the planeFields inherited from class org.apache.lucene.spatial3d.geom.Plane
D, NO_BOUNDS, NO_POINTS, normalXPlane, normalYPlane, normalZPlane
Fields inherited from class org.apache.lucene.spatial3d.geom.Vector
MINIMUM_ANGULAR_RESOLUTION, MINIMUM_RESOLUTION, MINIMUM_RESOLUTION_CUBED, MINIMUM_RESOLUTION_SQUARED, x, y, z
-
Constructor Summary
ConstructorDescriptionSidedPlane
(double pX, double pY, double pZ, Vector v, double D) Construct a sided plane with a normal vector and offset.SidedPlane
(double pX, double pY, double pZ, Vector A, Vector B) Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.SidedPlane
(SidedPlane sidedPlane) Construct a SidedPlane identical to an existing one, but reversed.SidedPlane
(Vector p, boolean onSide, Vector A, Vector B) Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.SidedPlane
(Vector p, double x, double y) Construct a sided vertical plane from a point and specified x and y coordinates.SidedPlane
(Vector p, double vX, double vY, double vZ, double D) Construct a sided plane with a normal vector and offset.SidedPlane
(Vector p, PlanetModel planetModel, double sinLat) Construct a sided plane from a point and a Z coordinate.SidedPlane
(Vector A, Vector B) Construct a sided plane from a pair of vectors describing points, and including origin.SidedPlane
(Vector p, Vector v, double D) Construct a sided plane with a normal vector and offset.SidedPlane
(Vector p, Vector A, double BX, double BY, double BZ) Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.SidedPlane
(Vector p, Vector A, Vector B) Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side. -
Method Summary
Modifier and TypeMethodDescriptionstatic SidedPlane
constructNormalizedPerpendicularSidedPlane
(Vector insidePoint, Vector normalVector, Vector point1, Vector point2) Construct a sided plane from two points and a third normal vector.static SidedPlane
constructNormalizedThreePointSidedPlane
(Vector insidePoint, Vector point1, Vector point2, Vector point3) Construct a sided plane from three points.boolean
int
hashCode()
boolean
isWithin
(double x, double y, double z) Check if a point is within this shape.boolean
strictlyWithin
(double x, double y, double z) Check whether a point is strictly within a plane.boolean
Check whether a point is strictly within a plane.toString()
Methods inherited from class org.apache.lucene.spatial3d.geom.Plane
arcDistance, arcDistance, arePointsCoplanar, constructNormalizedXPlane, constructNormalizedXPlane, constructNormalizedYPlane, constructNormalizedYPlane, constructNormalizedZPlane, constructNormalizedZPlane, crosses, evaluate, evaluate, evaluateIsZero, evaluateIsZero, findArcDistancePoints, findCrossings, findCrossings, findIntersectionBounds, findIntersections, findIntersections, getSampleIntersectionPoint, interpolate, intersects, isFunctionallyIdentical, isNumericallyIdentical, linearDistance, linearDistance, linearDistanceSquared, linearDistanceSquared, modify, normalDistance, normalDistance, normalDistanceSquared, normalDistanceSquared, normalize, recordBounds, recordBounds, recordBounds, recordBounds, reverseModify
Methods inherited from class org.apache.lucene.spatial3d.geom.Vector
crossProductEvaluateIsZero, dotProduct, dotProduct, isNumericallyIdentical, isNumericallyIdentical, isParallel, isParallel, isWithin, linearDistance, linearDistance, linearDistanceSquared, linearDistanceSquared, magnitude, magnitude, normalDistance, normalDistance, normalDistanceSquared, normalDistanceSquared, rotateXY, rotateXY, rotateXZ, rotateXZ, rotateZY, rotateZY, translate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.lucene.spatial3d.geom.Membership
isWithin
-
Field Details
-
sigNum
public final double sigNumThe sign value for evaluation of a point on the correct side of the plane
-
-
Constructor Details
-
SidedPlane
Construct a SidedPlane identical to an existing one, but reversed.- Parameters:
sidedPlane
- is the existing plane.
-
SidedPlane
Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.- Parameters:
pX
- point X to evaluatepY
- point Y to evaluatepZ
- point Z to evaluateA
- is the first in-plane pointB
- is the second in-plane point
-
SidedPlane
Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.- Parameters:
p
- point to evaluateA
- is the first in-plane pointB
- is the second in-plane point
-
SidedPlane
Construct a sided plane from a pair of vectors describing points, and including origin. Choose the side arbitrarily.- Parameters:
A
- is the first in-plane pointB
- is the second in-plane point
-
SidedPlane
Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.- Parameters:
p
- point to evaluateA
- is the first in-plane pointBX
- is the X value of the second in-plane pointBY
- is the Y value of the second in-plane pointBZ
- is the Z value of the second in-plane point
-
SidedPlane
Construct a sided plane from a pair of vectors describing points, and including origin, plus a point p which describes the side.- Parameters:
p
- point to evaluateonSide
- is true if the point is on the correct side of the plane, false otherwise.A
- is the first in-plane pointB
- is the second in-plane point
-
SidedPlane
Construct a sided plane from a point and a Z coordinate.- Parameters:
p
- point to evaluate.planetModel
- is the planet model.sinLat
- is the sin of the latitude of the plane.
-
SidedPlane
Construct a sided vertical plane from a point and specified x and y coordinates.- Parameters:
p
- point to evaluate.x
- is the specified x.y
- is the specified y.
-
SidedPlane
Construct a sided plane with a normal vector and offset.- Parameters:
p
- point to evaluate.vX
- is the normal vector X.vY
- is the normal vector Y.vZ
- is the normal vector Z.D
- is the origin offset for the plan.
-
SidedPlane
Construct a sided plane with a normal vector and offset.- Parameters:
p
- point to evaluate.v
- is the normal vector.D
- is the origin offset for the plan.
-
SidedPlane
Construct a sided plane with a normal vector and offset.- Parameters:
pX
- X coord of point to evaluate.pY
- Y coord of point to evaluate.pZ
- Z coord of point to evaluate.v
- is the normal vector.D
- is the origin offset for the plan.
-
-
Method Details
-
constructNormalizedPerpendicularSidedPlane
public static SidedPlane constructNormalizedPerpendicularSidedPlane(Vector insidePoint, Vector normalVector, Vector point1, Vector point2) Construct a sided plane from two points and a third normal vector. -
constructNormalizedThreePointSidedPlane
public static SidedPlane constructNormalizedThreePointSidedPlane(Vector insidePoint, Vector point1, Vector point2, Vector point3) Construct a sided plane from three points. -
isWithin
public boolean isWithin(double x, double y, double z) Description copied from interface:Membership
Check if a point is within this shape.- Specified by:
isWithin
in interfaceMembership
- Parameters:
x
- is x coordinate of point to check.y
- is y coordinate of point to check.z
- is z coordinate of point to check.- Returns:
- true if the point is within this shape
-
strictlyWithin
Check whether a point is strictly within a plane.- Parameters:
v
- is the point.- Returns:
- true if within.
-
strictlyWithin
public boolean strictlyWithin(double x, double y, double z) Check whether a point is strictly within a plane.- Parameters:
x
- is the point x value.y
- is the point y value.z
- is the point z value.- Returns:
- true if within.
-
equals
-
hashCode
public int hashCode() -
toString
-