|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@UML(identifier="GM_Complex", specification=ISO_19107) public interface Complex
A collection of geometrically disjoint, simple primitives. If a
primitive (other than a point is in a particular
Complex
, then there exists a set of primitives of lower dimension in the same complex
that form the boundary of this primitive.
A geometric complex can be thought of as a set in two distinct ways. First, it is a finite set
of objects (via delegation to its elements member) and, second, it is an infinite set of point
values as a subtype of geometric object. The dual use of delegation and subtyping is to
disambiguate the two types of set interface. To determine if a primitive
P is an element of a Complex
C,
call: C.element().contains(P)
.
The "elements" attribute allows Complex
to inherit the
behavior of Set<Primitive>
without confusing the same sort of behavior
inherited from TransfiniteSet<DirectPosition>
inherited through Geometry
. Complexes shall be used in application schemas where
the sharing of geometry is important, such as in the use of computational topology. In a
complex, primitives may be aggregated many-to-many into composites for use as attributes
of features.
Method Summary | |
---|---|
Collection<? extends Primitive> |
getElements()
Returns the collection of primitives contained in this complex. |
Complex[] |
getSubComplexes()
Returns a subset of the primitives of that complex that is, in its own right, a geometric complex. |
Complex[] |
getSuperComplexes()
Returns a superset of primitives that is also a complex. |
boolean |
isMaximal()
Returns true if and only if this Complex is maximal. |
Methods inherited from interface Geometry |
---|
clone, distance, getBoundary, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getDistance, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform |
Methods inherited from interface TransfiniteSet |
---|
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union |
Method Detail |
---|
@UML(identifier="isMaximal", obligation=MANDATORY, specification=ISO_19107) boolean isMaximal()
true
if and only if this Complex
is maximal.
A complex is maximal if it is a subcomplex of no larger complex.
true
if this complex is maximal.@UML(identifier="superComplex", obligation=MANDATORY, specification=ISO_19107) Complex[] getSuperComplexes()
@UML(identifier="subComplex", obligation=MANDATORY, specification=ISO_19107) Complex[] getSubComplexes()
@UML(identifier="element", obligation=MANDATORY, specification=ISO_19107) Collection<? extends Primitive> getElements()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |