## Uses of Class
org.apache.lucene.spatial3d.geom.PlanetModel

Packages that use PlanetModel
org.apache.lucene.spatial3d.geom: Shapes implemented using 3D planar geometry.

### Uses of PlanetModel in org.apache.lucene.spatial3d.geom

Fields in org.apache.lucene.spatial3d.geom declared as PlanetModel
`protected PlanetModel` BasePlanetObject.`planetModel` This is the planet model embedded in all objects derived from this class.
`static PlanetModel` PlanetModel.`SPHERE` Planet model corresponding to sphere.
`static PlanetModel` PlanetModel.`WGS84` Planet model corresponding to WGS84

Methods in org.apache.lucene.spatial3d.geom that return PlanetModel
`PlanetModel` BasePlanetObject.`getPlanetModel()`
`PlanetModel` PlanetObject.`getPlanetModel()` Returns the `PlanetModel` provided when this shape was created.

Methods in org.apache.lucene.spatial3d.geom with parameters of type PlanetModel
`Bounds` Bounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)` Add a horizontal plane to the bounds description.
`Bounds` XYZBounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)` Add a horizontal plane to the bounds description.
`Bounds` LatLonBounds.`addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)`
`Bounds` Bounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)` Add the intersection between two planes to the bounds description.
`Bounds` XYZBounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)`
`Bounds` LatLonBounds.`addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)`
`Bounds` Bounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)` Add a general plane to the bounds description.
`Bounds` XYZBounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)`
`Bounds` LatLonBounds.`addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)`
`Bounds` Bounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` Add a vertical plane to the bounds description.
`Bounds` XYZBounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` Add a vertical plane to the bounds description.
`Bounds` LatLonBounds.`addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)`
`double` Plane.`arcDistance(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute arc distance from plane to a vector.
`double` Plane.`arcDistance(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute arc distance from plane to a vector expressed with a `GeoPoint`.
`double` LinearDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
`double` NormalDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
`double` LinearSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
`double` DistanceStyle.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` Compute the distance from a plane to a point.
`double` NormalSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
`double` ArcDistance.`computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)`
`double` LinearDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
`double` NormalDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
`double` LinearSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
`default double` DistanceStyle.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` Compute the distance from a plane to a point.
`double` NormalSquaredDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
`double` ArcDistance.`computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)`
`boolean` Plane.`crosses(PlanetModel planetModel, Plane q, GeoPoint[] notablePoints, GeoPoint[] moreNotablePoints, Membership[] bounds, Membership... moreBounds)` Determine whether the plane crosses another plane within the bounds provided.
`GeoPoint[]` Plane.`findArcDistancePoints(PlanetModel planetModel, double arcDistanceValue, GeoPoint startPoint, Membership... bounds)` Locate a point that is within the specified bounds and on the specified plane, that has an arcDistance as specified from the startPoint.
`GeoPoint[]` Plane.`findCrossings(PlanetModel planetModel, Plane q, Membership... bounds)` Find the points between two planes, where one plane crosses the other, given a set of bounds.
`protected GeoPoint[]` Plane.`findCrossings(PlanetModel planetModel, Plane q, Membership[] bounds, Membership[] moreBounds)` Find the points between two planes, where one plane crosses the other, given a set of bounds.
`GeoPoint[]` LinearDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
`GeoPoint[]` NormalDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
`GeoPoint[]` LinearSquaredDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
`GeoPoint[]` DistanceStyle.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)` Find a GeoPoint, at a specified distance from a starting point, within the specified bounds.
`GeoPoint[]` NormalSquaredDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
`GeoPoint[]` ArcDistance.`findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)`
`protected void` Plane.`findIntersectionBounds(PlanetModel planetModel, Bounds boundsInfo, Plane q, Membership... bounds)` Record intersection points for planes with error bounds.
`GeoPoint[]` Plane.`findIntersections(PlanetModel planetModel, Plane q, Membership... bounds)` Find the intersection points between two planes, given a set of bounds.
`protected GeoPoint[]` Plane.`findIntersections(PlanetModel planetModel, Plane q, Membership[] bounds, Membership[] moreBounds)` Find the intersection points between two planes, given a set of bounds.
`double` LinearDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` NormalDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` LinearSquaredDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` DistanceStyle.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the maximum arc distance represented by the distance metric.
`double` NormalSquaredDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` ArcDistance.`findMaximumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` LinearDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` NormalDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` LinearSquaredDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` DistanceStyle.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the minimum arc distance represented by that distance metric.
`double` NormalSquaredDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
`double` ArcDistance.`findMinimumArcDistance(PlanetModel planetModel, double distanceValue)`
`GeoPoint` Plane.`getSampleIntersectionPoint(PlanetModel planetModel, Plane q)` Find a sample point on the intersection between two planes and the world.
`GeoPoint[]` Plane.`interpolate(PlanetModel planetModel, GeoPoint start, GeoPoint end, double[] proportions)` Find points on the boundary of the intersection of a plane and the unit sphere, given a starting point, and ending point, and a list of proportions of the arc (e.g.
`boolean` Plane.`intersects(PlanetModel planetModel, Plane q, GeoPoint[] notablePoints, GeoPoint[] moreNotablePoints, Membership[] bounds, Membership... moreBounds)` Determine whether the plane intersects another plane within the bounds provided.
`boolean` XYZBounds.`isLargestMaxX(PlanetModel planetModel)` Return true if maxX is as large as the planet model allows.
`boolean` XYZBounds.`isLargestMaxY(PlanetModel planetModel)` Return true if maxY is as large as the planet model allows.
`boolean` XYZBounds.`isLargestMaxZ(PlanetModel planetModel)` Return true if maxZ is as large as the planet model allows.
`boolean` XYZBounds.`isSmallestMinX(PlanetModel planetModel)` Return true if minX is as small as the planet model allows.
`boolean` XYZBounds.`isSmallestMinY(PlanetModel planetModel)` Return true if minY is as small as the planet model allows.
`boolean` XYZBounds.`isSmallestMinZ(PlanetModel planetModel)` Return true if minZ is as small as the planet model allows.
`double` Plane.`linearDistance(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute linear distance from plane to a vector.
`double` Plane.`linearDistance(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute linear distance from plane to a vector.
`double` Plane.`linearDistanceSquared(PlanetModel planetModel, double x, double y, double z, Membership... bounds)` Compute linear distance squared from plane to a vector.
`double` Plane.`linearDistanceSquared(PlanetModel planetModel, GeoPoint v, Membership... bounds)` Compute linear distance squared from plane to a vector.
`static GeoCircle` GeoCircleFactory.`makeExactGeoCircle(PlanetModel planetModel, double latitude, double longitude, double radius, double accuracy)` Create an GeoCircle from a center, a radius and a desired accuracy.
`static GeoArea` GeoAreaFactory.`makeGeoArea(PlanetModel planetModel, double topLat, double bottomLat, double leftLon, double rightLon)` Create a GeoArea of the right kind given the specified bounds.
`static GeoArea` GeoAreaFactory.`makeGeoArea(PlanetModel planetModel, double minX, double maxX, double minY, double maxY, double minZ, double maxZ)` Create a GeoArea of the right kind given (x,y,z) bounds.
`static GeoBBox` GeoBBoxFactory.`makeGeoBBox(PlanetModel planetModel, double topLat, double bottomLat, double leftLon, double rightLon)` Create a geobbox of the right kind given the specified bounds.
`static GeoBBox` GeoBBoxFactory.`makeGeoBBox(PlanetModel planetModel, LatLonBounds bounds)` Create a geobbox of the right kind given the specified `LatLonBounds`.
`static GeoCircle` GeoCircleFactory.`makeGeoCircle(PlanetModel planetModel, double latitude, double longitude, double cutoffAngle)` Create a GeoCircle from a center and a cutoff angle.
`static GeoPolygon` GeoPolygonFactory.`makeGeoConcavePolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoConcavePolygon using the specified points.
`static GeoPolygon` GeoPolygonFactory.`makeGeoConcavePolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoConcavePolygon using the specified points and holes.
`static GeoPolygon` GeoPolygonFactory.`makeGeoConvexPolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoConvexPolygon using the specified points.
`static GeoPolygon` GeoPolygonFactory.`makeGeoConvexPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoConvexPolygon using the specified points and holes.
`static GeoPath` GeoPathFactory.`makeGeoPath(PlanetModel planetModel, double maxCutoffAngle, GeoPoint[] pathPoints)` Create a GeoPath of the right kind given the specified information.
`static GeoPointShape` GeoPointShapeFactory.`makeGeoPointShape(PlanetModel planetModel, double lat, double lon)` Create a GeoPointShape with the provided information.
`static GeoPolygon` GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, GeoPolygonFactory.PolygonDescription description)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
`static GeoPolygon` GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, GeoPolygonFactory.PolygonDescription description, double leniencyValue)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
`static GeoPolygon` GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
`static GeoPolygon` GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
`static GeoPolygon` GeoPolygonFactory.`makeGeoPolygon(PlanetModel planetModel, List<GeoPoint> pointList, List<GeoPolygon> holes, double leniencyValue)` Create a GeoPolygon using the specified points and holes, using order to determine siding of the polygon.
`static GeoPolygon` GeoS2ShapeFactory.`makeGeoS2Shape(PlanetModel planetModel, GeoPoint point1, GeoPoint point2, GeoPoint point3, GeoPoint point4)` Creates a convex polygon with 4 planes by providing 4 points in CCW.
`static GeoPolygon` GeoPolygonFactory.`makeLargeGeoPolygon(PlanetModel planetModel, List<GeoPolygonFactory.PolygonDescription> shapesList)` Create a large GeoPolygon.
`static XYZSolid` XYZSolidFactory.`makeXYZSolid(PlanetModel planetModel, double minX, double maxX, double minY, double maxY, double minZ, double maxZ)` Create a XYZSolid of the right kind given (x,y,z) bounds.
`static XYZSolid` XYZSolidFactory.`makeXYZSolid(PlanetModel planetModel, XYZBounds bounds)` Create a XYZSolid of the right kind given (x,y,z) bounds.
`Bounds` Bounds.`noBound(PlanetModel planetModel)` Signal that there is no bound whatsoever.
`Bounds` XYZBounds.`noBound(PlanetModel planetModel)`
`Bounds` LatLonBounds.`noBound(PlanetModel planetModel)`
`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(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.
`static GeoPoint[]` SerializableObject.`readPointArray(PlanetModel planetModel, InputStream inputStream)` Read a point array.
`static GeoPolygon[]` SerializableObject.`readPolygonArray(PlanetModel planetModel, InputStream inputStream)` Read a polygon array.
`void` Plane.`recordBounds(PlanetModel planetModel, LatLonBounds boundsInfo, Membership... bounds)` Accumulate bounds information for this plane, intersected with the unit sphere.
`void` Plane.`recordBounds(PlanetModel planetModel, LatLonBounds boundsInfo, Plane p, Membership... bounds)` Accumulate bounds information for this plane, intersected with another plane and the world.
`void` Plane.`recordBounds(PlanetModel planetModel, XYZBounds boundsInfo, Membership... bounds)` Accumulate (x,y,z) bounds information for this plane, intersected with the unit sphere.
`void` Plane.`recordBounds(PlanetModel planetModel, XYZBounds boundsInfo, Plane p, Membership... bounds)` Accumulate (x,y,z) bounds information for this plane, intersected with another and the world.
`protected static GeoPoint` Plane.`reverseModify(PlanetModel planetModel, Vector point, double transX, double transY, double transZ, double sinRA, double cosRA, double sinHA, double cosHA)` Reverse modify a point to produce a GeoPoint in normal space.

Constructors in org.apache.lucene.spatial3d.geom with parameters of type PlanetModel
Constructor and Description
`BasePlanetObject(PlanetModel planetModel)` Constructor creating class instance given a planet model.
`GeoBaseCompositeShape(PlanetModel planetModel)` Constructor.
`GeoBaseCompositeShape(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)` Constructor for deserialization.
`GeoBaseDistanceShape(PlanetModel planetModel)` Constructor.
`GeoBaseMembershipShape(PlanetModel planetModel)` Constructor.
`GeoBaseShape(PlanetModel planetModel)` Constructor.
`GeoCompositeAreaShape(PlanetModel planetModel)` Constructor.
`GeoCompositeAreaShape(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
`GeoCompositeMembershipShape(PlanetModel planetModel)` Constructor.
`GeoCompositeMembershipShape(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
`GeoCompositePolygon(PlanetModel planetModel)` Constructor.
`GeoCompositePolygon(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
`GeoDegenerateVerticalLine(PlanetModel planetModel, double topLat, double bottomLat, double longitude)` Accepts only values in the following ranges: lat: `-PI/2 -> PI/2`, longitude: `-PI -> PI`
`GeoDegenerateVerticalLine(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.
`GeoPoint(PlanetModel planetModel, double lat, double lon)` Construct a GeoPoint from a latitude/longitude pair.
`GeoPoint(PlanetModel planetModel, double sinLat, double sinLon, double cosLat, double cosLon)` Construct a GeoPoint from the trig functions of a lat and lon pair.
`GeoPoint(PlanetModel planetModel, double sinLat, double sinLon, double cosLat, double cosLon, double lat, double lon)` Construct a GeoPoint from the trig functions of a lat and lon pair.
`GeoPoint(PlanetModel planetModel, InputStream inputStream)` Construct a GeoPoint from an input stream.
`Plane(PlanetModel planetModel, double sinLat)` Construct a horizontal plane at a specified Z.
`SidedPlane(Vector p, PlanetModel planetModel, double sinLat)` Construct a sided plane from a point and a Z coordinate.