@UML(identifier="GM_Primitive", specification=ISO_19107) public interface Primitive extends Geometry
Any geometric object that is used to describe a feature is a collection of geometric
primitives. A collection of geometric primitives may or may not be a geometric complex. Geometric
complexes have additional properties such as closure by boundary operations and mutually
exclusive component parts. Primitive and Complex share most semantics, in the
meaning of operations and attributes. There is an exception in that a Primitive shall not
contain its boundary (except in the trivial case of point where the boundary
is empty), while a complex shall contain its boundary in all cases.
PrimitiveFactory.createPrimitive(org.opengis.geometry.Envelope)| Modifier and Type | Method and Description |
|---|---|
PrimitiveBoundary |
getBoundary()
Returns the boundary of a
Primitive as a set of Primitives. |
Set<Complex> |
getComplexes()
Returns the set of complexes which contains this primitive.
|
Composite |
getComposite()
Returns the owner of this primitive.
|
Set<Primitive> |
getContainedPrimitives()
Returns the
Primitives which are by definition coincident with this one. |
Set<Primitive> |
getContainingPrimitives()
Returns the
Primitives which are by definition coincident with this one. |
OrientablePrimitive[] |
getProxy()
Returns the orientable primitives associated with this primitive.
|
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transformcontains, contains, difference, equals, intersection, intersects, symmetricDifference, union@UML(identifier="boundary", obligation=MANDATORY, specification=ISO_19107) PrimitiveBoundary getBoundary()
Primitive as a set of Primitives. This is a
specialization of the operation at Geometry, which does not restrict the class of the
returned collection. The organization of the boundary set of a Primitive depends on
the type of the primitive.getBoundary in interface GeometryGeometry.getMbRegion(),
Geometry.getClosure(),
Geometry.getBuffer(double),
#getDistance@UML(identifier="containedPrimitive", obligation=MANDATORY, specification=ISO_19107) Set<Primitive> getContainedPrimitives()
Primitives which are by definition coincident with this one. This allows
applications to override the TransfiniteSet<DirectPosition> interpretation and its associated computational
geometry, and declare one Primitive to be "interior to" another.
This set should normally be empty when the Primitives are within a complex, since in that case the boundary information is sufficient for most cases.
This association should not be used when the two Primitives are not close to one
another. The intent is to allow applications to compensate for inherent and unavoidable round
off, truncation, and other mathematical problems indigenous to computer calculations.
getContainingPrimitives()@UML(identifier="containingPrimitive", obligation=MANDATORY, specification=ISO_19107) Set<Primitive> getContainingPrimitives()
Primitives which are by definition coincident with this one.getContainedPrimitives()@UML(identifier="complex", obligation=MANDATORY, specification=ISO_19107) Set<Complex> getComplexes()
Primitive may be in
several complexes. This association may not be navigable in this
direction (from primitive to complex), depending on the implementation.@Association(value="Composition") @UML(identifier="composite", obligation=OPTIONAL, specification=ISO_19107) Composite getComposite()
Composite to Primitive, not the other
way.null if the association is not available or
not implemented that way.Composite.getGenerators()@Association(value="Oriented") @UML(identifier="proxy", obligation=CONDITIONAL, specification=ISO_19107) OrientablePrimitive[] getProxy()
Primitive of
dimension 1 or 2 is associated to two orientable primitives,
one for each possible orientation. For curves and surfaces, there are exactly two orientable
primitives for each geometric object. For the positive orientation, the orientable primitive shall be the corresponding curve
or surface.
This method is mandatory for curves and surfaces, and
is not allowed for Points and solids. The later should
return null.
null if none.OrientablePrimitive.getPrimitive()Copyright © 1996–2019 Geotools. All rights reserved.