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

Packages that use SerializableObject
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
`interface` `GeoAreaShape` Shape that implements GeoArea.
`interface` `GeoBBox` All bounding box shapes have this interface in common.
`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
`class` `BasePlanetObject` All Geo3D shapes can derive from this base class, which furnishes some common code
`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
`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
`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
`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
`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.