Package org.apache.lucene.spatial3d.geom

## Interface GeoDistanceShape

- All Superinterfaces:
    `Bounded`, `GeoArea`, `GeoAreaShape`, `GeoDistance`, `GeoMembershipShape`, `GeoOutsideDistance`, `GeoShape`, `Membership`, `PlanetObject`, `SerializableObject`
  All Known Subinterfaces:
    `GeoCircle`, `GeoPath`, `GeoPointShape`
  All Known Implementing Classes:
    `GeoBaseDistanceShape`

      public interface GeoDistanceShape
      extends GeoAreaShape, GeoDistance

  Distance shapes have capabilities of both geohashing and distance computation (which also includes point membership determination).
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.lucene.spatial3d.geom.GeoArea

      `CONTAINS, DISJOINT, OVERLAPS, WITHIN`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `getDistanceBounds​(Bounds bounds, DistanceStyle distanceStyle, double distanceValue)` | Compute a bound based on a provided distance measure.

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.Bounded

      `getBounds`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoArea

      `getRelationship`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoAreaShape

      `intersects`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoDistance

      `computeDeltaDistance, computeDeltaDistance, computeDistance, computeDistance`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoOutsideDistance

      `computeOutsideDistance, computeOutsideDistance`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoShape

      `getEdgePoints, intersects`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.Membership

      `isWithin, isWithin`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.PlanetObject

      `getPlanetModel`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.SerializableObject

      `write`

- - ### Method Detail

    - #### getDistanceBounds

          void getDistanceBounds​(Bounds bounds,
                                 DistanceStyle distanceStyle,
                                 double distanceValue)

      Compute a bound based on a provided distance measure. This method takes an input distance and distance metric and provides bounds on the shape if reduced to match that distance. The method is allowed to return bounds that are larger than the distance would indicate, but never smaller.
      Parameters:
        `bounds` - is the bounds object to update.
        `distanceStyle` - describes the type of distance metric provided.
        `distanceValue` - is the distance metric to use. It is presumed that the distance metric was produced with the same distance style as is provided to this method.