## Interface TransfiniteSet

• All Known Subinterfaces:
`Aggregate`, `Boundary`, `Complex`, `ComplexBoundary`, `Composite`, `CompositeCurve`, `CompositePoint`, `CompositeSolid`, `CompositeSurface`, `Curve`, `CurveBoundary`, `Geometry`, `MultiCurve`, `MultiPoint`, `MultiPrimitive`, `MultiSurface`, `OrientableCurve`, `OrientablePrimitive`, `OrientableSurface`, `Point`, `PolyhedralSurface`, `Primitive`, `PrimitiveBoundary`, `Ring`, `Shell`, `Solid`, `SolidBoundary`, `Surface`, `SurfaceBoundary`, `Tin`, `TriangulatedSurface`

```@UML(identifier="TransfiniteSet",
specification=ISO_19107)
public interface TransfiniteSet```
A possibly infinite set; restricted only to values. For example, the integers and the real numbers are transfinite sets. This is actually the usual definition of set in mathematics, but programming languages restrict the term set to mean finite set.
Since:
GeoAPI 1.0
Author:
Martin Desruisseaux (IRD)
• ### Method Summary

All Methods
Modifier and Type Method Description
`boolean` `contains​(DirectPosition point)`
Returns `true` if this `TransfiniteSet` contains a single point given by a coordinate.
`boolean` `contains​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` contains another `TransfiniteSet`.
`TransfiniteSet` `difference​(TransfiniteSet pointSet)`
Returns the set theoretic difference of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
`boolean` `equals​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` is equal to another ``` TransfiniteSet```.
`TransfiniteSet` `intersection​(TransfiniteSet pointSet)`
Returns the set theoretic intersection of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
`boolean` `intersects​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` intersects another ``` TransfiniteSet```.
`TransfiniteSet` `symmetricDifference​(TransfiniteSet pointSet)`
Returns the set theoretic symmetric difference of this `TransfiniteSet` and the passed `TransfiniteSet`.
`TransfiniteSet` `union​(TransfiniteSet pointSet)`
Returns the set theoretic union of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
• ### Method Detail

• #### contains

`boolean contains​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` contains another `TransfiniteSet`. If the passed `TransfiniteSet` is a point, then this operation is the equivalent of a set-element test for the direct position of that point within this `TransfiniteSet`.
NOTE: `contains` is strictly a set theoretic containment, and has no dimensionality constraint. In a complex, no primitive will contain another unless a dimension is skipped.
Parameters:
`pointSet` - The set to be checked for containment in this set.
Returns:
`true` if this set contains all of the elements of the specified set.
• #### contains

`boolean contains​(DirectPosition point)`
Returns `true` if this `TransfiniteSet` contains a single point given by a coordinate.
Parameters:
`point` - The point to be checked for containment in this set.
Returns:
`true` if this set contains the specified point.
• #### intersects

`boolean intersects​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` intersects another ``` TransfiniteSet```. Withing a complex, the primitives do not intersect one another. In general, topologically structured data uses shared geometric objects to capture intersection information.
NOTE: This intersect is strictly a set theoretic common containment of direct positions. Two curves do not intersect if they share a common end point because primitives are considered to be open (do not contain their boundary). If two composite curves share a common end point, then they intersect because complexes are considered to be closed (contain their boundary).
Parameters:
`pointSet` - The set to be checked for intersection with this set.
Returns:
`true` if this set intersects some of the elements of the specified set.
• #### equals

`boolean equals​(TransfiniteSet pointSet)`
Returns `true` if this `TransfiniteSet` is equal to another ``` TransfiniteSet```. Two different instances of `TransfiniteSet` are equal if they return the same boolean value for the operation `contains` for every tested direct position within the valid range of the coordinate reference system associated to the object.
NOTE: Since an infinite set of direct positions cannot be tested, the internal implementation of equal must test for equivalence between two, possibly quite different, representations. This test may be limited to the resolution of the coordinate system or the accuracy of the data. Implementations may define a tolerance that returns `true` if the two `TransfiniteSet` have the same dimension and each direct position in this `TransfiniteSet` is within a tolerance distance of a direct position in the passed `TransfiniteSet` and vice versa.
Parameters:
`pointSet` - The set to test for equality.
Returns:
`true` if the two set are equals.
• #### union

`TransfiniteSet union​(TransfiniteSet pointSet)`
Returns the set theoretic union of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
Parameters:
`pointSet` - The second set.
Returns:
The union of both sets.
• #### intersection

`TransfiniteSet intersection​(TransfiniteSet pointSet)`
Returns the set theoretic intersection of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
Parameters:
`pointSet` - The second set.
Returns:
The intersection of both sets.
• #### difference

`TransfiniteSet difference​(TransfiniteSet pointSet)`
Returns the set theoretic difference of this `TransfiniteSet` and the passed ``` TransfiniteSet```.
Parameters:
`pointSet` - The second set.
Returns:
The difference between both sets.
• #### symmetricDifference

`TransfiniteSet symmetricDifference​(TransfiniteSet pointSet)`
Returns the set theoretic symmetric difference of this `TransfiniteSet` and the passed `TransfiniteSet`.
Parameters:
`pointSet` - The second set.
Returns:
The symmetric difference between both sets.