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`

public class SidedPlane extends Plane implements 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

  Fields
  Modifier and Type
  Field
  Description
  `final double`
  `sigNum`
  The sign value for evaluation of a point on the correct side of the plane

  ### Fields 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

  Constructors
  Constructor
  Description
  `SidedPlane(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 Type
  Method
  Description
  `static 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.
  `static SidedPlane`
  `constructSidedPlaneFromOnePoint(Vector insidePoint, Plane plane, Vector intersectionPoint)`
  Construct sided plane from a plane and one point.
  `static SidedPlane`
  `constructSidedPlaneFromTwoPoints(Vector insidePoint, Vector upperPoint, Vector lowerPoint)`
  Construct sided plane from two points.
  `boolean`
  `equals(Object o)`
  `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`
  `strictlyWithin(Vector v)`
  Check whether a point is strictly within a plane.
  `String`
  `toString()`

  ### Methods inherited from class org.apache.lucene.spatial3d.geom.Plane

  `arcDistance, arcDistance, arePointsCoplanar, constructNormalizedXPlane, constructNormalizedXPlane, constructNormalizedYPlane, constructNormalizedYPlane, constructNormalizedZPlane, constructNormalizedZPlane, constructPerpendicularCenterPlaneOnePoint, constructPerpendicularCenterPlaneTwoPoints, 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 sigNum
    The sign value for evaluation of a point on the correct side of the plane

- ## Constructor Details

  - ### SidedPlane

    public SidedPlane(SidedPlane sidedPlane)
    Construct a SidedPlane identical to an existing one, but reversed.
    Parameters:
      `sidedPlane` - is the existing plane.

  - ### SidedPlane

    public 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.
    Parameters:
      `pX` - point X to evaluate
      `pY` - point Y to evaluate
      `pZ` - point Z to evaluate
      `A` - is the first in-plane point
      `B` - is the second in-plane point

  - ### SidedPlane

    public 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.
    Parameters:
      `p` - point to evaluate
      `A` - is the first in-plane point
      `B` - is the second in-plane point

  - ### SidedPlane

    public SidedPlane(Vector A, Vector B)
    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 point
      `B` - is the second in-plane point

  - ### SidedPlane

    public 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.
    Parameters:
      `p` - point to evaluate
      `A` - is the first in-plane point
      `BX` - is the X value of the second in-plane point
      `BY` - is the Y value of the second in-plane point
      `BZ` - is the Z value of the second in-plane point

  - ### SidedPlane

    public 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.
    Parameters:
      `p` - point to evaluate
      `onSide` - is true if the point is on the correct side of the plane, false otherwise.
      `A` - is the first in-plane point
      `B` - is the second in-plane point

  - ### SidedPlane

    public SidedPlane(Vector p, PlanetModel planetModel, double sinLat)
    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

    public SidedPlane(Vector p, double x, double y)
    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

    public SidedPlane(Vector p, double vX, double vY, double vZ, double D)
    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

    public SidedPlane(Vector p, Vector v, double D)
    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

    public SidedPlane(double pX, double pY, double pZ, Vector v, double D)
    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.

  - ### constructSidedPlaneFromTwoPoints

    public static SidedPlane constructSidedPlaneFromTwoPoints(Vector insidePoint, Vector upperPoint, Vector lowerPoint)
    Construct sided plane from two points. This first constructs a plane that goes through the center, then finds one that is perpendicular that goes through the same two points.

  - ### constructSidedPlaneFromOnePoint

    public static SidedPlane constructSidedPlaneFromOnePoint(Vector insidePoint, Plane plane, Vector intersectionPoint)
    Construct sided plane from a plane and one point. This finds a plane perpendicular to the passed-in plane, and goes through both the origin and the point.

  - ### 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 interface `Membership`
    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

    public boolean strictlyWithin(Vector v)
    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

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Plane`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Plane`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Plane`