# Package org.apache.lucene.spatial3d.geom

Shapes implemented using 3D planar geometry.

See: Description

Interface Summary
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.
GeoAreaShape: Shape that implements GeoArea.
GeoBBox: All bounding box shapes have this interface in common.
GeoCircle: Interface describing circular area with a center and radius.
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.
GeoPointShape: Interface describing a GeoPointShape shape.It may represents a degenerated bounding box or a degenerated circle, hence it extends such interfaces.
GeoPolygon: GeoPolygon interface description.
GeoShape: Generic shape.
GeoSizeable: Some shapes can compute radii of a geocircle in which they are inscribed.
Membership: Implemented by Geo3D shapes that can calculate if a point is within it or not.
PlanetObject: Relates all Geo3d shape with a specific `PlanetModel`.
SerializableObject: Indicates that a geo3d object can be serialized and deserialized.
XYZSolid: Interface for a family of 3D rectangles, bounded on six sides by X,Y,Z limits

Class Summary
ArcDistance: Arc distance computation style.
BasePlanetObject: All Geo3D shapes can derive from this base class, which furnishes some common code
GeoAreaFactory: Factory for `GeoArea`.
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.
GeoBBoxFactory: Factory for `GeoBBox`.
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).
GeoPathFactory: Class which constructs a GeoPath representing an arbitrary path.
GeoPoint: This class represents a point on the surface of a sphere or ellipsoid.
GeoPointShapeFactory: Class which constructs a GeoPointShape.
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.
LatLonBounds: An object for accumulating latitude/longitude bounds information.
LinearDistance: Linear distance computation style.
LinearSquaredDistance: Linear squared distance computation style.
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)
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.
XYZSolidFactory: Factory for `XYZSolid`.

## Package org.apache.lucene.spatial3d.geom Description

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