org.apache.lucene.spatial3d.geom

## Class GeoCompositeMembershipShape

- java.lang.Object
- - org.apache.lucene.spatial3d.geom.BasePlanetObject
  - - org.apache.lucene.spatial3d.geom.GeoBaseCompositeShape<T>
    - - org.apache.lucene.spatial3d.geom.GeoCompositeMembershipShape

All Implemented Interfaces:
  Bounded, GeoMembershipShape, GeoOutsideDistance, GeoShape, Membership, PlanetObject, SerializableObject

    public class GeoCompositeMembershipShape
    extends GeoBaseCompositeShape<T>
    implements GeoMembershipShape

GeoCompositeMembershipShape is a set of GeoMembershipShape's, treated as a unit.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

### Fields inherited from class org.apache.lucene.spatial3d.geom.GeoBaseCompositeShape

`shapes`

### Fields inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject

`planetModel`

### Constructor Summary

Constructors
Constructor and Description
`GeoCompositeMembershipShape(PlanetModel planetModel)` Constructor.
`GeoCompositeMembershipShape(PlanetModel planetModel, InputStream inputStream)` Constructor for deserialization.

### Method Summary

All Methods Instance Methods Concrete Methods
`double` `computeOutsideDistance(DistanceStyle distanceStyle, double x, double y, double z)` Compute this shape's distance to the GeoPoint.
`double` `computeOutsideDistance(DistanceStyle distanceStyle, GeoPoint point)` Compute this shape's distance to the GeoPoint.
`boolean` `equals(Object o)`
`String` `toString()`

### Methods inherited from class org.apache.lucene.spatial3d.geom.GeoBaseCompositeShape

`addShape, getBounds, getEdgePoints, getShape, hashCode, intersects, isWithin, isWithin, size, write`

### Methods inherited from class org.apache.lucene.spatial3d.geom.BasePlanetObject

`getPlanetModel`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoShape

`getEdgePoints, intersects`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.Bounded

`getBounds`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.PlanetObject

`getPlanetModel`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.SerializableObject

`readBitSet, readBoolean, readByteArray, readClass, readDouble, readHeterogeneousArray, readHomogeneousArray, readInt, readLong, readObject, readObject, readObject, readObject, readPlanetObject, readPointArray, readPolygonArray, readString, write, writeBitSet, writeBoolean, writeByteArray, writeClass, writeDouble, writeHeterogeneousArray, writeHeterogeneousArray, writeHomogeneousArray, writeHomogeneousArray, writeInt, writeLong, writeObject, writePlanetObject, writePointArray, writePointArray, writePolygonArray, writePolygonArray, writeString`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.GeoOutsideDistance

`computeOutsideDistance, computeOutsideDistance`

### Methods inherited from interface org.apache.lucene.spatial3d.geom.Membership

`isWithin, isWithin`

### Constructor Detail

#### GeoCompositeMembershipShape

    public GeoCompositeMembershipShape(PlanetModel planetModel)

Constructor.

#### GeoCompositeMembershipShape

    public GeoCompositeMembershipShape(PlanetModel planetModel,
                                       InputStream inputStream)
                                throws IOException

Constructor for deserialization.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
Throws:
  `IOException`

### Method Detail

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `GeoBaseCompositeShape<GeoMembershipShape>`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### computeOutsideDistance

    public double computeOutsideDistance(DistanceStyle distanceStyle,
                                         GeoPoint point)

Description copied from interface: `GeoOutsideDistance`
Compute this shape's distance to the GeoPoint. A return value of 0.0 should be returned for points inside of the shape.

Specified by:
  `computeOutsideDistance` in interface `GeoOutsideDistance`
Parameters:
  `distanceStyle` - is the distance style.
  `point` - is the point to compute the distance to.
Returns:
  the distance.

#### computeOutsideDistance

    public double computeOutsideDistance(DistanceStyle distanceStyle,
                                         double x,
                                         double y,
                                         double z)

Description copied from interface: `GeoOutsideDistance`
Compute this shape's distance to the GeoPoint. A return value of 0.0 should be returned for points inside of the shape.

Specified by:
  `computeOutsideDistance` in interface `GeoOutsideDistance`
Parameters:
  `distanceStyle` - is the distance style.
  `x` - is the point's unit x coordinate (using U.S. convention).
  `y` - is the point's unit y coordinate (using U.S. convention).
  `z` - is the point's unit z coordinate (using U.S. convention).
Returns:
  the distance.