org.apache.lucene.geo3d

## Class dXYZSolid

- java.lang.Object
- - org.apache.lucene.geo3d.BasePlanetObject
  - - org.apache.lucene.geo3d.BaseXYZSolid
    - - org.apache.lucene.geo3d.dXYZSolid

- All Implemented Interfaces:
    GeoArea, Membership, XYZSolid

      public class dXYZSolid
      extends BaseXYZSolid

  3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in X.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected GeoPoint[]` | `edgePoints` These are the edge points of the shape, which are defined to be at least one point on each surface area boundary.
    `protected SidedPlane` | `maxYPlane` Max-Y plane
    `protected SidedPlane` | `maxZPlane` Max-Z plane
    `protected SidedPlane` | `minYPlane` Min-Y plane
    `protected SidedPlane` | `minZPlane` Min-Z plane
    `protected GeoPoint[]` | `notableXPoints` Notable points for XPlane
    `protected Plane` | `xPlane` X plane

    - ### Fields inherited from class org.apache.lucene.geo3d.BaseXYZSolid

      `ALL_INSIDE, EMPTY_POINTS, NO_EDGEPOINTS, NONE_INSIDE, SOME_INSIDE, xUnitVector, xVerticalPlane, yUnitVector, yVerticalPlane, zUnitVector`

    - ### Fields inherited from class org.apache.lucene.geo3d.BasePlanetObject

      `planetModel`

    - ### Fields inherited from interface org.apache.lucene.geo3d.GeoArea

      `CONTAINS, DISJOINT, OVERLAPS, WITHIN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `dXYZSolid(PlanetModel planetModel, double X, double minY, double maxY, double minZ, double maxZ)` Sole constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)`
    `protected GeoPoint[]` | `getEdgePoints()` Get the edge points for this shape.
    `int` | `getRelationship(GeoShape path)` Find the spatial relationship between a shape and the current geo area.
    `int` | `hashCode()`
    `boolean` | `isWithin(double x, double y, double z)` Check if a point is within this shape.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.lucene.geo3d.BaseXYZSolid

      `glueTogether, isAreaInsideShape, isShapeInsideArea, isWithin`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### xPlane

          protected final Plane xPlane

      X plane

    - #### minYPlane

          protected final SidedPlane minYPlane

      Min-Y plane

    - #### maxYPlane

          protected final SidedPlane maxYPlane

      Max-Y plane

    - #### minZPlane

          protected final SidedPlane minZPlane

      Min-Z plane

    - #### maxZPlane

          protected final SidedPlane maxZPlane

      Max-Z plane

    - #### edgePoints

          protected final GeoPoint[] edgePoints

      These are the edge points of the shape, which are defined to be at least one point on each surface area boundary. In the case of a solid, this includes points which represent the intersection of XYZ bounding planes and the planet, as well as points representing the intersection of single bounding planes with the planet itself.

    - #### notableXPoints

          protected final GeoPoint[] notableXPoints

      Notable points for XPlane

  - ### Constructor Detail

    - #### dXYZSolid

          public dXYZSolid(PlanetModel planetModel,
                   double X,
                   double minY,
                   double maxY,
                   double minZ,
                   double maxZ)

      Sole constructor
      Parameters:
        `planetModel` - is the planet model.
        `X` - is the X value.
        `minY` - is the minimum Y value.
        `maxY` - is the maximum Y value.
        `minZ` - is the minimum Z value.
        `maxZ` - is the maximum Z value.

  - ### Method Detail

    - #### getEdgePoints

          protected GeoPoint[] getEdgePoints()

      Description copied from class: `BaseXYZSolid`
      Get the edge points for this shape.
      Specified by:
        `getEdgePoints` in class `BaseXYZSolid`
      Returns:
        the edge 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`
      Specified by:
        `isWithin` in class `BaseXYZSolid`
      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

    - #### getRelationship

          public int getRelationship(GeoShape path)

      Description copied from interface: `GeoArea`
      Find the spatial relationship between a shape and the current geo area. Note: return value is how the GeoShape relates to the GeoArea, not the other way around. For example, if this GeoArea is entirely within the shape, then CONTAINS should be returned. If the shape is entirely enclosed by this GeoArea, then WITHIN should be returned. It is permissible to return OVERLAPS instead of WITHIN if the shape intersects with the area at even a single point. So, a circle inscribed in a rectangle could return either OVERLAPS or WITHIN, depending on implementation. It is not permissible to return CONTAINS or DISJOINT in this circumstance, however. Similarly, it is permissible to return OVERLAPS instead of CONTAINS under conditions where the shape consists of multiple independent overlapping subshapes, and the area overlaps one of the subshapes. It is not permissible to return WITHIN or DISJOINT in this circumstance, however.
      Parameters:
        `path` - is the shape to consider.
      Returns:
        the relationship, from the perspective of the shape.

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `BaseXYZSolid`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `BaseXYZSolid`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.