## Uses of Interface
org.apache.lucene.spatial3d.geom.SerializableObject

- Packages that use SerializableObject
  Package | Description
  --- | ---
  org.apache.lucene.spatial3d.geom | Shapes implemented using 3D planar geometry.

- - ### Uses of SerializableObject in org.apache.lucene.spatial3d.geom

    Subinterfaces of SerializableObject in org.apache.lucene.spatial3d.geom
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `GeoAreaShape` | Shape that implements GeoArea.
    `interface` | `GeoBBox` | All bounding box shapes have this interface in common.
    `interface` | `GeoBounds` | Generic shape that supports bounds.
    `interface` | `GeoCircle` | Interface describing circular area with a center and radius.
    `interface` | `GeoDistanceShape` | Distance shapes have capabilities of both geohashing and distance computation (which also includes point membership determination).
    `interface` | `GeoMembershipShape` | Membership shapes have capabilities of both geohashing and membership determination.
    `interface` | `GeoPath` | Interface describing a path.
    `interface` | `GeoPointShape` | Interface describing a GeoPointShape shape.It may represents a degenerated bounding box or a degenerated circle, hence it extends such interfaces.
    `interface` | `GeoPolygon` | GeoPolygon interface description.
    `interface` | `GeoShape` | Generic shape.
    `interface` | `PlanetObject` | Relates all Geo3d shape with a specific `PlanetModel`.
    `interface` | `XYZSolid` | Interface for a family of 3D rectangles, bounded on six sides by X,Y,Z limits

    Classes in org.apache.lucene.spatial3d.geom that implement SerializableObject
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BasePlanetObject` | All Geo3D shapes can derive from this base class, which furnishes some common code
    `class` | `GeoBaseBounds` | Base object that supports bounds operations.
    `class` | `GeoBaseCompositeShape<T extends GeoShape>` | Base class to create a composite of GeoShapes.
    `class` | `GeoBaseDistanceShape` | Distance shapes have capabilities of both geohashing and distance computation (which also includes point membership determination).
    `class` | `GeoBaseMembershipShape` | Membership shapes have capabilities of both geohashing and membership determination.
    `class` | `GeoBaseShape` | Base extended shape object.
    `class` | `GeoCompositeAreaShape` | GeoCompositeAreaShape is a set of GeoAreaShape's, treated as a unit.
    `class` | `GeoCompositeMembershipShape` | GeoCompositeMembershipShape is a set of GeoMembershipShape's, treated as a unit.
    `class` | `GeoCompositePolygon` | GeoCompositePolygon is a specific implementation of GeoCompositeAreaShape, which implements GeoPolygon explicitly.
    `class` | `GeoDegenerateVerticalLine` | Degenerate bounding box limited on two sides (top lat, bottom lat).
    `class` | `GeoPoint` | This class represents a point on the surface of a sphere or ellipsoid.
    `class` | `PlanetModel` | Holds mathematical constants associated with the model of a planet.

    Methods in org.apache.lucene.spatial3d.geom with type parameters of type SerializableObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHeterogeneousArray​(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` | Read an array.
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHomogeneousArray​(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` | Read an array.

    Methods in org.apache.lucene.spatial3d.geom that return SerializableObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHeterogeneousArray​(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` | Read an array.
    `static <T extends SerializableObject> T[]` | SerializableObject.`readHomogeneousArray​(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` | Read an array.
    `static SerializableObject` | SerializableObject.`readObject​(InputStream inputStream)` | Read an object from a stream (for objects that do not need a PlanetModel).
    `static SerializableObject` | SerializableObject.`readObject​(InputStream inputStream, Class<?> clazz)` | Instantiate a serializable object from a stream without a planet model.
    `static SerializableObject` | SerializableObject.`readObject​(PlanetModel planetModel, InputStream inputStream)` | Read an object from a stream (for objects that need a PlanetModel).
    `static SerializableObject` | SerializableObject.`readObject​(PlanetModel planetModel, InputStream inputStream, Class<?> clazz)` | Instantiate a serializable object from a stream.

    Methods in org.apache.lucene.spatial3d.geom with parameters of type SerializableObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | SerializableObject.`writeHeterogeneousArray​(OutputStream outputStream, SerializableObject[] values)` | Write an array.
    `static void` | SerializableObject.`writeHomogeneousArray​(OutputStream outputStream, SerializableObject[] values)` | Write an array.
    `static void` | SerializableObject.`writeObject​(OutputStream outputStream, SerializableObject object)` | Write an object to a stream.

    Method parameters in org.apache.lucene.spatial3d.geom with type arguments of type SerializableObject
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | SerializableObject.`writeHeterogeneousArray​(OutputStream outputStream, List<? extends SerializableObject> values)` | Write an array.
    `static void` | SerializableObject.`writeHomogeneousArray​(OutputStream outputStream, List<? extends SerializableObject> values)` | Write an array.