Package org.apache.lucene.spatial.spatial4j

# Class Geo3dShapeFactory

java.lang.Object
org.apache.lucene.spatial.spatial4j.Geo3dShapeFactory

All Implemented Interfaces:
  `S2ShapeFactory`, `org.locationtech.spatial4j.shape.ShapeFactory`

public class Geo3dShapeFactory extends Object implements S2ShapeFactory
Geo3d implementation of `S2ShapeFactory`

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.locationtech.spatial4j.shape.ShapeFactory

  `org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder, org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T extends org.locationtech.spatial4j.shape.Shape>, org.locationtech.spatial4j.shape.ShapeFactory.PointsBuilder<T>, org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Geo3dShapeFactory(org.locationtech.spatial4j.context.SpatialContext context, org.locationtech.spatial4j.context.SpatialContextFactory factory)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.locationtech.spatial4j.shape.Circle`
  `circle(double x, double y, double distance)`
  `org.locationtech.spatial4j.shape.Circle`
  `circle(org.locationtech.spatial4j.shape.Point point, double distance)`
  `org.locationtech.spatial4j.shape.Shape`
  `getS2CellShape(com.google.common.geometry.S2CellId cellId)`
  Factory method for S2 cell shapes.
  `org.locationtech.spatial4j.context.SpatialContext`
  `getSpatialContext()`
  `boolean`
  `isNormWrapLongitude()`
  `org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder`
  `lineString()`
  `org.locationtech.spatial4j.shape.Shape`
  `lineString(List<org.locationtech.spatial4j.shape.Point> list, double distance)`
  `org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder`
  `multiLineString()`
  `org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder`
  `multiPoint()`
  `org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder`
  `multiPolygon()`
  `<T extends org.locationtech.spatial4j.shape.Shape>
  org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T>`
  `multiShape(Class<T> aClass)`
  `<S extends org.locationtech.spatial4j.shape.Shape>
  org.locationtech.spatial4j.shape.ShapeCollection<S>`
  `multiShape(List<S> list)`
  `double`
  `normDist(double distance)`
  `double`
  `normX(double x)`
  `double`
  `normY(double y)`
  `double`
  `normZ(double z)`
  `org.locationtech.spatial4j.shape.Point`
  `pointXY(double x, double y)`
  `org.locationtech.spatial4j.shape.Point`
  `pointXYZ(double x, double y, double z)`
  `org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder`
  `polygon()`
  `org.locationtech.spatial4j.shape.Rectangle`
  `rect(double minX, double maxX, double minY, double maxY)`
  `org.locationtech.spatial4j.shape.Rectangle`
  `rect(org.locationtech.spatial4j.shape.Point point, org.locationtech.spatial4j.shape.Point point1)`
  `void`
  `setCircleAccuracy(double circleAccuracy)`
  Set the accuracy for circles in decimal degrees.
  `void`
  `verifyX(double x)`
  `void`
  `verifyY(double y)`
  `void`
  `verifyZ(double v)`

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

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

  ### Methods inherited from interface org.locationtech.spatial4j.shape.ShapeFactory

  `pointLatLon`

- ## Constructor Details

  - ### Geo3dShapeFactory

    public Geo3dShapeFactory(org.locationtech.spatial4j.context.SpatialContext context, org.locationtech.spatial4j.context.SpatialContextFactory factory)

- ## Method Details

  - ### getSpatialContext

    public org.locationtech.spatial4j.context.SpatialContext getSpatialContext()
    Specified by:
      `getSpatialContext` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### setCircleAccuracy

    public void setCircleAccuracy(double circleAccuracy)
    Set the accuracy for circles in decimal degrees. Note that accuracy has no effect when the planet model is a sphere. In that case, circles are always fully precise.
    Parameters:
      `circleAccuracy` - the provided accuracy in decimal degrees.

  - ### isNormWrapLongitude

    public boolean isNormWrapLongitude()
    Specified by:
      `isNormWrapLongitude` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### normX

    public double normX(double x)
    Specified by:
      `normX` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### normY

    public double normY(double y)
    Specified by:
      `normY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### normZ

    public double normZ(double z)
    Specified by:
      `normZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### normDist

    public double normDist(double distance)
    Specified by:
      `normDist` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### verifyX

    public void verifyX(double x)
    Specified by:
      `verifyX` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### verifyY

    public void verifyY(double y)
    Specified by:
      `verifyY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### verifyZ

    public void verifyZ(double v)
    Specified by:
      `verifyZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### pointXY

    public org.locationtech.spatial4j.shape.Point pointXY(double x, double y)
    Specified by:
      `pointXY` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### pointXYZ

    public org.locationtech.spatial4j.shape.Point pointXYZ(double x, double y, double z)
    Specified by:
      `pointXYZ` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### rect

    public org.locationtech.spatial4j.shape.Rectangle rect(org.locationtech.spatial4j.shape.Point point, org.locationtech.spatial4j.shape.Point point1)
    Specified by:
      `rect` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### rect

    public org.locationtech.spatial4j.shape.Rectangle rect(double minX, double maxX, double minY, double maxY)
    Specified by:
      `rect` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### circle

    public org.locationtech.spatial4j.shape.Circle circle(double x, double y, double distance)
    Specified by:
      `circle` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### circle

    public org.locationtech.spatial4j.shape.Circle circle(org.locationtech.spatial4j.shape.Point point, double distance)
    Specified by:
      `circle` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### lineString

    public org.locationtech.spatial4j.shape.Shape lineString(List<org.locationtech.spatial4j.shape.Point> list, double distance)
    Specified by:
      `lineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### multiShape

    public <S extends org.locationtech.spatial4j.shape.Shape> org.locationtech.spatial4j.shape.ShapeCollection<S> multiShape(List<S> list)
    Specified by:
      `multiShape` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### lineString

    public org.locationtech.spatial4j.shape.ShapeFactory.LineStringBuilder lineString()
    Specified by:
      `lineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### polygon

    public org.locationtech.spatial4j.shape.ShapeFactory.PolygonBuilder polygon()
    Specified by:
      `polygon` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### multiShape

    public <T extends org.locationtech.spatial4j.shape.Shape> org.locationtech.spatial4j.shape.ShapeFactory.MultiShapeBuilder<T> multiShape(Class<T> aClass)
    Specified by:
      `multiShape` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### multiPoint

    public org.locationtech.spatial4j.shape.ShapeFactory.MultiPointBuilder multiPoint()
    Specified by:
      `multiPoint` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### multiLineString

    public org.locationtech.spatial4j.shape.ShapeFactory.MultiLineStringBuilder multiLineString()
    Specified by:
      `multiLineString` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### multiPolygon

    public org.locationtech.spatial4j.shape.ShapeFactory.MultiPolygonBuilder multiPolygon()
    Specified by:
      `multiPolygon` in interface `org.locationtech.spatial4j.shape.ShapeFactory`

  - ### getS2CellShape

    public org.locationtech.spatial4j.shape.Shape getS2CellShape(com.google.common.geometry.S2CellId cellId)
    Description copied from interface: `S2ShapeFactory`
    Factory method for S2 cell shapes.
    Specified by:
      `getS2CellShape` in interface `S2ShapeFactory`
    Parameters:
      `cellId` - The S2 cell id
    Returns:
      the shape representing the cell.