## com.vividsolutions.jts.algorithm
Interface BoundaryNodeRule

All Known Implementing Classes:
  BoundaryNodeRule.EndPointBoundaryNodeRule, BoundaryNodeRule.Mod2BoundaryNodeRule, BoundaryNodeRule.MonoValentEndPointBoundaryNodeRule, BoundaryNodeRule.MultiValentEndPointBoundaryNodeRule

public interface BoundaryNodeRule

An interface for rules which determine whether node points which are in boundaries of `Lineal` geometry components are in the boundary of the parent geometry collection. The SFS specifies a single kind of boundary node rule, the `BoundaryNodeRule.Mod2BoundaryNodeRule` rule. However, other kinds of Boundary Node Rules are appropriate in specific situations (for instance, linear network topology usually follows the `BoundaryNodeRule.EndPointBoundaryNodeRule`.) Some JTS operations allow the BoundaryNodeRule to be specified, and respect this rule when computing the results of the operation.

Version:
  1.7
Author:
  Martin Davis
See Also:
  `RelateOp`, `IsSimpleOp`, `PointLocator`

Nested Class Summary
`static class` `BoundaryNodeRule.EndPointBoundaryNodeRule` A `BoundaryNodeRule` which specifies that any points which are endpoints of lineal components are in the boundary of the parent geometry.
`static class` `BoundaryNodeRule.Mod2BoundaryNodeRule` A `BoundaryNodeRule` specifies that points are in the boundary of a lineal geometry iff the point lies on the boundary of an odd number of components.
`static class` `BoundaryNodeRule.MonoValentEndPointBoundaryNodeRule` A `BoundaryNodeRule` which determines that only endpoints with valency of exactly 1 are on the boundary.
`static class` `BoundaryNodeRule.MultiValentEndPointBoundaryNodeRule` A `BoundaryNodeRule` which determines that only endpoints with valency greater than 1 are on the boundary.

Field Summary
`static BoundaryNodeRule` `ENDPOINT_BOUNDARY_RULE` The Endpoint Boundary Node Rule.
`static BoundaryNodeRule` `MOD2_BOUNDARY_RULE` The Mod-2 Boundary Node Rule (as used in the OGC SFS).
`static BoundaryNodeRule` `MONOVALENT_ENDPOINT_BOUNDARY_RULE` The Monovalent Endpoint Boundary Node Rule.
`static BoundaryNodeRule` `MULTIVALENT_ENDPOINT_BOUNDARY_RULE` The MultiValent Endpoint Boundary Node Rule.
`static BoundaryNodeRule` `OGC_SFS_BOUNDARY_RULE` The Boundary Node Rule specified by the OGC Simple Features Specification, equal to the Mod-2 rule.

Method Summary
`boolean` `isInBoundary(int boundaryCount)` Tests whether a point that lies in `boundaryCount` geometry component boundaries is considered to form part of the boundary of the parent geometry.

Field Detail

### MOD2_BOUNDARY_RULE

    public static final BoundaryNodeRule MOD2_BOUNDARY_RULE

  The Mod-2 Boundary Node Rule (as used in the OGC SFS).

### ENDPOINT_BOUNDARY_RULE

    public static final BoundaryNodeRule ENDPOINT_BOUNDARY_RULE

  The Endpoint Boundary Node Rule.

### MULTIVALENT_ENDPOINT_BOUNDARY_RULE

    public static final BoundaryNodeRule MULTIVALENT_ENDPOINT_BOUNDARY_RULE

  The MultiValent Endpoint Boundary Node Rule.

### MONOVALENT_ENDPOINT_BOUNDARY_RULE

    public static final BoundaryNodeRule MONOVALENT_ENDPOINT_BOUNDARY_RULE

  The Monovalent Endpoint Boundary Node Rule.

### OGC_SFS_BOUNDARY_RULE

    public static final BoundaryNodeRule OGC_SFS_BOUNDARY_RULE

  The Boundary Node Rule specified by the OGC Simple Features Specification, equal to the Mod-2 rule.

Method Detail

### isInBoundary

    public boolean isInBoundary(int boundaryCount)

  Tests whether a point that lies in `boundaryCount` geometry component boundaries is considered to form part of the boundary of the parent geometry.

  Parameters:
    `boundaryCount` - the number of component boundaries that this point occurs in
  Returns:
    true if points in this number of boundaries lie in the parent boundary