@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 Primitive s. 
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
Primitive s which are by definition coincident with this one. 
Set<Primitive> 
getContainingPrimitives()
Returns the
Primitive s 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, transform
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
@UML(identifier="boundary", obligation=MANDATORY, specification=ISO_19107) PrimitiveBoundary getBoundary()
Primitive
as a set of Primitive
s. 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 Geometry
Geometry.getMbRegion()
,
Geometry.getClosure()
,
Geometry.getBuffer(double)
,
#getDistance
@UML(identifier="containedPrimitive", obligation=MANDATORY, specification=ISO_19107) Set<Primitive> getContainedPrimitives()
Primitive
s 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 Primitive
s 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 Primitive
s 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()
Primitive
s 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–2023 Geotools. All rights reserved.