## com.vividsolutions.jts.geom.prep
Class PreparedPolygonContainsProperly

    java.lang.Object
      com.vividsolutions.jts.geom.prep.PreparedPolygonPredicate
          com.vividsolutions.jts.geom.prep.PreparedPolygonContainsProperly

public class PreparedPolygonContainsProperly
extends PreparedPolygonPredicate

Computes the `containsProperly` spatial relationship predicate for `PreparedPolygon`s relative to all other `Geometry` classes. Uses short-circuit tests and indexing to improve performance.

A Geometry A `containsProperly` another Geometry B iff all points of B are contained in the Interior of A. Equivalently, B is contained in A AND B does not intersect the Boundary of A.

The advantage to using this predicate is that it can be computed efficiently, with no need to compute topology at individual points. In a situation with many geometries intersecting the boundary of the target geometry, this can make a performance difference.

Author:
  Martin Davis

Field Summary

Fields inherited from class com.vividsolutions.jts.geom.prep.PreparedPolygonPredicate
`prepPoly`

Constructor Summary
`PreparedPolygonContainsProperly(PreparedPolygon prepPoly)` Creates an instance of this operation.

Method Summary
`boolean` `containsProperly(Geometry geom)` Tests whether this PreparedPolygon containsProperly a given geometry.
`static boolean` `containsProperly(PreparedPolygon prep, Geometry geom)` Computes the containsProperly predicate between a `PreparedPolygon` and a `Geometry`.

Methods inherited from class com.vividsolutions.jts.geom.prep.PreparedPolygonPredicate
`isAllTestComponentsInTarget, isAllTestComponentsInTargetInterior, isAnyTargetComponentInAreaTest, isAnyTestComponentInTarget, isAnyTestComponentInTargetInterior`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PreparedPolygonContainsProperly

    public PreparedPolygonContainsProperly(PreparedPolygon prepPoly)

  Creates an instance of this operation.

Parameters:
  `prepPoly` - the PreparedPolygon to evaluate

Method Detail

### containsProperly

    public static boolean containsProperly(PreparedPolygon prep,
                                           Geometry geom)

  Computes the containsProperly predicate between a `PreparedPolygon` and a `Geometry`.

  Parameters:
    `prep` - the prepared polygon
    `geom` - a test geometry
  Returns:
    true if the polygon properly contains the geometry

### containsProperly

    public boolean containsProperly(Geometry geom)

  Tests whether this PreparedPolygon containsProperly a given geometry.

  Parameters:
    `geom` - the test geometry
  Returns:
    true if the test geometry is contained properly