org.apache.lucene.geo3d

## Class BaseXYZSolid

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

- All Implemented Interfaces:
    GeoArea, Membership, XYZSolid
  Direct Known Subclasses:
    dXdYdZSolid, dXdYZSolid, dXYdZSolid, dXYZSolid, StandardXYZSolid, XdYdZSolid, XdYZSolid, XYdZSolid

      public abstract class BaseXYZSolid
      extends BasePlanetObject
      implements XYZSolid

  Base class of a family of 3D rectangles, bounded on six sides by X,Y,Z limits
  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 static int` | `ALL_INSIDE` All edgepoints inside shape
    `protected static GeoPoint[]` | `EMPTY_POINTS` Empty point vector
    `protected static int` | `NO_EDGEPOINTS` No edgepoints at all (means a shape that is the whole world)
    `protected static int` | `NONE_INSIDE` No edgepoints inside shape
    `protected static int` | `SOME_INSIDE` Some edgepoints inside shape
    `protected static Vector` | `xUnitVector` Unit vector in x
    `protected static Plane` | `xVerticalPlane` Vertical plane normal to x unit vector passing through origin
    `protected static Vector` | `yUnitVector` Unit vector in y
    `protected static Plane` | `yVerticalPlane` Vertical plane normal to y unit vector passing through origin
    `protected static Vector` | `zUnitVector` Unit vector in z

    - ### 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
    `BaseXYZSolid(PlanetModel planetModel)` Base solid constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)`
    `protected abstract GeoPoint[]` | `getEdgePoints()` Get the edge points for this shape.
    `protected static GeoPoint[]` | `glueTogether(GeoPoint[]... pointArrays)` Construct a single array from a number of individual arrays.
    `int` | `hashCode()`
    `protected int` | `isAreaInsideShape(GeoShape path)` Determine the relationship between a shape and this area's edgepoints.
    `protected int` | `isShapeInsideArea(GeoShape path)` Determine the relationship between this area and the provided shape's edgepoints.
    `abstract boolean` | `isWithin(double x, double y, double z)` Check if a point is within this shape.
    `boolean` | `isWithin(Vector point)` Check if a point is within this shape.

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

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

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

      `getRelationship`

- - ### Field Detail

    - #### xUnitVector

          protected static final Vector xUnitVector

      Unit vector in x

    - #### yUnitVector

          protected static final Vector yUnitVector

      Unit vector in y

    - #### zUnitVector

          protected static final Vector zUnitVector

      Unit vector in z

    - #### xVerticalPlane

          protected static final Plane xVerticalPlane

      Vertical plane normal to x unit vector passing through origin

    - #### yVerticalPlane

          protected static final Plane yVerticalPlane

      Vertical plane normal to y unit vector passing through origin

    - #### EMPTY_POINTS

          protected static final GeoPoint[] EMPTY_POINTS

      Empty point vector

    - #### ALL_INSIDE

          protected static final int ALL_INSIDE

      All edgepoints inside shape
      See Also:
        Constant Field Values

    - #### SOME_INSIDE

          protected static final int SOME_INSIDE

      Some edgepoints inside shape
      See Also:
        Constant Field Values

    - #### NONE_INSIDE

          protected static final int NONE_INSIDE

      No edgepoints inside shape
      See Also:
        Constant Field Values

    - #### NO_EDGEPOINTS

          protected static final int NO_EDGEPOINTS

      No edgepoints at all (means a shape that is the whole world)
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BaseXYZSolid

          public BaseXYZSolid(PlanetModel planetModel)

      Base solid constructor.
      Parameters:
        `planetModel` - is the planet model.

  - ### Method Detail

    - #### glueTogether

          protected static GeoPoint[] glueTogether(GeoPoint[]... pointArrays)

      Construct a single array from a number of individual arrays.
      Parameters:
        `pointArrays` - is the array of point arrays.
      Returns:
        the single unified array.

    - #### isWithin

          public boolean isWithin(Vector point)

      Description copied from interface: `Membership`
      Check if a point is within this shape.
      Specified by:
        `isWithin` in interface `Membership`
      Parameters:
        `point` - is the point to check.
      Returns:
        true if the point is within this shape

    - #### isWithin

          public abstract 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

    - #### isShapeInsideArea

          protected int isShapeInsideArea(GeoShape path)

      Determine the relationship between this area and the provided shape's edgepoints.
      Parameters:
        `path` - is the shape.
      Returns:
        the relationship.

    - #### isAreaInsideShape

          protected int isAreaInsideShape(GeoShape path)

      Determine the relationship between a shape and this area's edgepoints.
      Parameters:
        `path` - is the shape.
      Returns:
        the relationship.

    - #### getEdgePoints

          protected abstract GeoPoint[] getEdgePoints()

      Get the edge points for this shape.
      Returns:
        the edge points.

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `BasePlanetObject`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `BasePlanetObject`

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