Package org.apache.lucene.spatial.spatial4j

## Class Geo3dShape<T extends GeoAreaShape>

- java.lang.Object
- - org.apache.lucene.spatial.spatial4j.Geo3dShape<T>

- Type Parameters:
    `T` - is the type of `GeoAreaShape`
  All Implemented Interfaces:
    `org.locationtech.spatial4j.shape.Shape`
  Direct Known Subclasses:
    `Geo3dCircleShape`, `Geo3dPointShape`, `Geo3dRectangleShape`

      public class Geo3dShape<T extends GeoAreaShape>
      extends Object
      implements org.locationtech.spatial4j.shape.Shape

  A Spatial4j Shape wrapping a `GeoAreaShape` ("Geo3D") -- a 3D planar geometry based Spatial4j Shape implementation. Geo3D implements shapes on the surface of a sphere or ellipsoid.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected org.locationtech.spatial4j.shape.Rectangle` | `boundingBox` |
    `protected org.locationtech.spatial4j.shape.Point` | `center` |
    `protected T` | `shape` |
    `protected org.locationtech.spatial4j.context.SpatialContext` | `spatialcontext` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Geo3dShape​(T shape, org.locationtech.spatial4j.context.SpatialContext spatialcontext)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object o)` |
    `double` | `getArea​(org.locationtech.spatial4j.context.SpatialContext spatialContext)` |
    `org.locationtech.spatial4j.shape.Rectangle` | `getBoundingBox()` |
    `org.locationtech.spatial4j.shape.Shape` | `getBuffered​(double distance, org.locationtech.spatial4j.context.SpatialContext spatialContext)` |
    `org.locationtech.spatial4j.shape.Point` | `getCenter()` |
    `org.locationtech.spatial4j.context.SpatialContext` | `getContext()` |
    `boolean` | `hasArea()` |
    `int` | `hashCode()` |
    `boolean` | `isEmpty()` |
    `org.locationtech.spatial4j.shape.SpatialRelation` | `relate​(org.locationtech.spatial4j.shape.Shape other)` |
    `String` | `toString()` |

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

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

- - ### Field Detail

    - #### spatialcontext

          protected final org.locationtech.spatial4j.context.SpatialContext spatialcontext

    - #### shape

          protected T extends GeoAreaShape shape

    - #### boundingBox

          protected volatile org.locationtech.spatial4j.shape.Rectangle boundingBox

    - #### center

          protected volatile org.locationtech.spatial4j.shape.Point center

  - ### Constructor Detail

    - #### Geo3dShape

          public Geo3dShape​(T shape,
                            org.locationtech.spatial4j.context.SpatialContext spatialcontext)

  - ### Method Detail

    - #### relate

          public org.locationtech.spatial4j.shape.SpatialRelation relate​(org.locationtech.spatial4j.shape.Shape other)

      Specified by:
        `relate` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### getBoundingBox

          public org.locationtech.spatial4j.shape.Rectangle getBoundingBox()

      Specified by:
        `getBoundingBox` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### hasArea

          public boolean hasArea()

      Specified by:
        `hasArea` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### getArea

          public double getArea​(org.locationtech.spatial4j.context.SpatialContext spatialContext)

      Specified by:
        `getArea` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### getCenter

          public org.locationtech.spatial4j.shape.Point getCenter()

      Specified by:
        `getCenter` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### getBuffered

          public org.locationtech.spatial4j.shape.Shape getBuffered​(double distance,
                                                                    org.locationtech.spatial4j.context.SpatialContext spatialContext)

      Specified by:
        `getBuffered` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### getContext

          public org.locationtech.spatial4j.context.SpatialContext getContext()

      Specified by:
        `getContext` in interface `org.locationtech.spatial4j.shape.Shape`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Specified by:
        `equals` in interface `org.locationtech.spatial4j.shape.Shape`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`