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 final org.locationtech.spatial4j.context.SpatialContext`
  `spatialcontext`

- ## Constructor Summary

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

- ## Method Summary

  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 Details

  - ### 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 Details

  - ### Geo3dShape

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

- ## Method Details

  - ### 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`