org.apache.lucene.geo3d

## Class dXdYZSolid

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

- All Implemented Interfaces:
    GeoArea, Membership, XYZSolid

      public class dXdYZSolid
      extends BaseXYZSolid

  3D rectangle, bounded on six sides by X,Y,Z limits, degenerate in X and Y. This figure, in fact, represents either zero, one, or two points, so the actual data stored is minimal.
  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[]` | `surfacePoints` The points in this figure on the planet surface; also doubles for edge points

    - ### 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
    `dXdYZSolid(PlanetModel planetModel, double X, double Y, 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

    - #### surfacePoints

          protected final GeoPoint[] surfacePoints

      The points in this figure on the planet surface; also doubles for edge points

  - ### Constructor Detail

    - #### dXdYZSolid

          public dXdYZSolid(PlanetModel planetModel,
                    double X,
                    double Y,
                    double minZ,
                    double maxZ)

      Sole constructor
      Parameters:
        `planetModel` - is the planet model.
        `X` - is the X value.
        `Y` - is the 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.