Class 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 Detail

      • sigNum

        public final double sigNum
        The sign value for evaluation of a point on the correct side of the plane
    • Constructor Detail

      • 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 Detail

      • 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 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.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Plane