# Package org.apache.lucene.spatial3d.geom

package org.apache.lucene.spatial3d.geom
Shapes implemented using 3D planar geometry. This package has no dependencies aside from Java. This code was contributed under the name "Geo3D".

- Related Packages
  Package
  Description
  org.apache.lucene.spatial3d
  Lucene field & query support for the spatial geometry implemented in `org.apache.lucene.spatial3d.geom`.
- Class
  Description
  ArcDistance
  Arc distance computation style.
  BasePlanetObject
  All Geo3D shapes can derive from this base class, which furnishes some common code
  Bounded
  This interface describes methods that determine what the bounds are for a shape.
  Bounds
  An interface for accumulating bounds information.
  DistanceStyle
  Distance computation styles, supporting various ways of computing distance to shapes.
  GeoArea
  A GeoArea represents a standard 2-D breakdown of a part of sphere.
  GeoAreaFactory
  Factory for `GeoArea`.
  GeoAreaShape
  Shape that implements GeoArea.
  GeoBaseBounds
  Base object that supports bounds operations.
  GeoBaseCompositeShape<T extends GeoShape>
  Base class to create a composite of GeoShapes.
  GeoBaseDistanceShape
  Distance shapes have capabilities of both geohashing and distance computation (which also includes point membership determination).
  GeoBaseMembershipShape
  Membership shapes have capabilities of both geohashing and membership determination.
  GeoBaseShape
  Base extended shape object.
  GeoBBox
  All bounding box shapes have this interface in common.
  GeoBBoxFactory
  Factory for `GeoBBox`.
  GeoBounds
  Generic shape that supports bounds.
  GeoCircle
  Interface describing circular area with a center and radius.
  GeoCircleFactory
  Class which constructs a GeoCircle representing an arbitrary circle.
  GeoCompositeAreaShape
  GeoCompositeAreaShape is a set of GeoAreaShape's, treated as a unit.
  GeoCompositeMembershipShape
  GeoCompositeMembershipShape is a set of GeoMembershipShape's, treated as a unit.
  GeoCompositePolygon
  GeoCompositePolygon is a specific implementation of GeoCompositeAreaShape, which implements GeoPolygon explicitly.
  GeoDegenerateVerticalLine
  Degenerate bounding box limited on two sides (top lat, bottom lat).
  GeoDistance
  An implementer of this interface is capable of computing the described "distance" values, which are meant to provide both actual distance values, as well as distance estimates that can be computed more cheaply.
  GeoDistanceShape
  Distance shapes have capabilities of both geohashing and distance computation (which also includes point membership determination).
  GeoMembershipShape
  Membership shapes have capabilities of both geohashing and membership determination.
  GeoOutsideDistance
  Implemented by Geo3D shapes that can compute the distance from a point to the closest outside edge.
  GeoPath
  Interface describing a path.
  GeoPathFactory
  Class which constructs a GeoPath representing an arbitrary path.
  GeoPoint
  This class represents a point on the surface of a sphere or ellipsoid.
  GeoPointShape
  Interface describing a GeoPointShape shape.It may represents a degenerated bounding box or a degenerated circle, hence it extends such interfaces.
  GeoPointShapeFactory
  Class which constructs a GeoPointShape.
  GeoPolygon
  GeoPolygon interface description.
  GeoPolygonFactory
  Class which constructs a GeoMembershipShape representing an arbitrary polygon.
  GeoPolygonFactory.PolygonDescription
  Use this class to specify a polygon with associated holes.
  GeoS2ShapeFactory
  Class which constructs a GeoPolygon representing S2 google pixel.
  GeoShape
  Generic shape.
  GeoSizeable
  Some shapes can compute radii of a geocircle in which they are inscribed.
  LatLonBounds
  An object for accumulating latitude/longitude bounds information.
  LinearDistance
  Linear distance computation style.
  LinearSquaredDistance
  Linear squared distance computation style.
  Membership
  Implemented by Geo3D shapes that can calculate if a point is within it or not.
  NormalDistance
  Normal distance computation style.
  NormalSquaredDistance
  Normal squared distance computation style.
  Plane
  We know about three kinds of planes.
  PlanetModel
  Holds mathematical constants associated with the model of a planet.
  PlanetModel.DocValueEncoder
  Utility class for encoding / decoding from lat/lon (decimal degrees) into sortable doc value numerics (integers)
  PlanetObject
  Relates all Geo3d shape with a specific `PlanetModel`.
  SerializableObject
  Indicates that a geo3d object can be serialized and deserialized.
  SidedPlane
  Combination of a plane, and a sign value indicating what evaluation values are on the correct side of the plane.
  Tools
  Static methods globally useful for 3d geometric work.
  Vector
  A 3d vector in space, not necessarily going through the origin.
  XYZBounds
  An object for accumulating XYZ bounds information.
  XYZSolid
  Interface for a family of 3D rectangles, bounded on six sides by X,Y,Z limits
  XYZSolidFactory
  Factory for `XYZSolid`.