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

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

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

    Subinterfaces of Membership in org.apache.lucene.spatial3d.geom
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `GeoArea` | A GeoArea represents a standard 2-D breakdown of a part of sphere.
    `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` | `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.
    `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` | `GeoOutsideDistance` | Implemented by Geo3D shapes that can compute the distance from a point to the closest outside edge.
    `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` | `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 Membership
    Modifier and Type | Class | Description
    --- | --- | ---
    `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` | `SidedPlane` | Combination of a plane, and a sign value indicating what evaluation values are on the correct side of the plane.

    Fields in org.apache.lucene.spatial3d.geom declared as Membership
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Membership[]` | Plane.`NO_BOUNDS` | An array with no bounds in it

    Methods in org.apache.lucene.spatial3d.geom with parameters of type Membership
    Modifier and Type | Method | Description
    --- | --- | ---
    `Bounds` | Bounds.`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` | XYZBounds.`addHorizontalPlane​(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)` | Add a horizontal plane to the bounds description.
    `Bounds` | Bounds.`addIntersection​(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)` | Add the intersection between two planes to the bounds description.
    `Bounds` | LatLonBounds.`addIntersection​(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)` |
    `Bounds` | XYZBounds.`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` | LatLonBounds.`addPlane​(PlanetModel planetModel, Plane plane, Membership... bounds)` |
    `Bounds` | XYZBounds.`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` | LatLonBounds.`addVerticalPlane​(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` |
    `Bounds` | XYZBounds.`addVerticalPlane​(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)` | Add a vertical plane to the bounds description.
    `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` | ArcDistance.`computeDistance​(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` |
    `double` | ArcDistance.`computeDistance​(PlanetModel planetModel, Plane plane, GeoPoint point, 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.
    `default double` | DistanceStyle.`computeDistance​(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` | Compute the distance from a plane to a point.
    `double` | LinearDistance.`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` | LinearSquaredDistance.`computeDistance​(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` |
    `double` | LinearSquaredDistance.`computeDistance​(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` |
    `double` | NormalDistance.`computeDistance​(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` |
    `double` | NormalDistance.`computeDistance​(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` |
    `double` | NormalSquaredDistance.`computeDistance​(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` |
    `double` | NormalSquaredDistance.`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[]` | ArcDistance.`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[]` | LinearDistance.`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[]` | NormalDistance.`findDistancePoints​(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)` |
    `GeoPoint[]` | NormalSquaredDistance.`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.
    `boolean` | GeoBaseCompositeShape.`intersects​(Plane p, GeoPoint[] notablePoints, Membership... bounds)` |
    `boolean` | GeoDegenerateVerticalLine.`intersects​(Plane p, GeoPoint[] notablePoints, Membership... bounds)` |
    `boolean` | GeoShape.`intersects​(Plane plane, GeoPoint[] notablePoints, Membership... bounds)` | Assess whether a plane, within the provided bounds, intersects with the shape's edges.
    `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` | Vector.`isWithin​(Membership[] bounds, Membership... moreBounds)` | Determine if this vector, taken from the origin, describes a point within a set of planes.
    `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.
    `double` | Plane.`normalDistance​(double x, double y, double z, Membership... bounds)` | Compute normal distance from plane to a vector.
    `double` | Plane.`normalDistance​(Vector v, Membership... bounds)` | Compute normal distance from plane to a vector.
    `double` | Plane.`normalDistanceSquared​(double x, double y, double z, Membership... bounds)` | Compute normal distance squared from plane to a vector.
    `double` | Plane.`normalDistanceSquared​(Vector v, Membership... bounds)` | Compute normal distance squared from plane to a vector.
    `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.