<<Type>> GM_Ring {Analysis} derived from: GM_CompositeCurve

Documentation
A GM_Ring is used to represent a single connected component of a GM_SurfaceBoundary. It consists of a number of references to GM_OrientableCurves connected in a cycle (an object whose boundary is empty).
A GM_Ring is structurally similar to a GM_CompositeCurve in that the endPoint of each GM_OrientedCurve OrientableCurve in the sequence is the startPoint of the next GM_ OrientableCurve in the Sequence. Since the sequence is circular, there is no exception to this rule. Each ring, like all boundaries is a cycle and each ring is simple.
GM_Ring:
{isSimple() = TRUE}
{isCycle() = TRUE}

NOTE Even though each GM_Ring is simple, the boundary need not be simple. The easiest case of this is where one of the interior rings of a surface is tangent to its exterior ring. Implementations may enforce stronger restrictions on the interaction of boundary elements.


Parent PackageGeometric primitiveAbstractNo
Export ControlPublicAccessLink Class forNone
Class KindNormalClassCardinalityn
Space ConcurrencySequential
PersistenceYes  


Operations
NameSignatureClass
isMaximalBoolean isMaximal ()GM_Complex
mbRegionGM_Object mbRegion ()GM_Object
representativePointDirectPosition representativePoint ()GM_Object
boundaryGM_Boundary boundary ()GM_Object
closureGM_Complex closure ()GM_Object
isSimpleBoolean isSimple ()GM_Object
isCycleBoolean isCycle ()GM_Object
distanceDistance distance (GM_Object geometry)GM_Object
dimensionInteger dimension (DirectPosition point = NULL)GM_Object
coordinateDimensionInteger coordinateDimension ()GM_Object
maximalComplexSet<GM_Complex> maximalComplex ()GM_Object
transformGM_Object transform (SC_CRS newCRS)GM_Object
envelopeGM_Envelope envelope ()GM_Object
centroidDirectPosition centroid ()GM_Object
convexHullGM_Object convexHull ()GM_Object
bufferGM_Object buffer (Distance radius)GM_Object
boundaryGM_CurveBoundary boundary ()GM_OrientableCurve
boundaryGM_PrimitiveBoundary boundary ()GM_Primitive
GM_PrimitiveGM_Primitive GM_Primitive (GM_Envelope e)GM_Primitive


Attributes
NameClassTypeInitial Value
orientationGM_OrientablePrimitiveSign 


Associations
NameMy RoleMy ClassOther RoleOther Element
--Not Named--interiorGM_Ring--Not Named--GM_SurfaceBoundary
--Not Named--exteriorGM_Ring--Not Named--GM_SurfaceBoundary
CompositiongeneratorGM_OrientableCurvecompositeGM_CompositeCurve
CompositioncompositeGM_CompositegeneratorGM_Primitive
ContainssubComplexGM_ComplexsuperComplexGM_Complex
RealizationgeometryGM_ComplextopologyTP_Complex
ComplexelementGM_PrimitivecomplexGM_Complex
--Not Named--elementGM_Object--Not Named--GM_Aggregate
SpatialCompositionspatialElementGM_Object--Not Named--CV_DomainObject
Coordinate Reference SystemobjectGM_ObjectCRSSC_CRS
CompositiongeneratorGM_OrientableCurvecompositeGM_CompositeCurve
orientedproxyGM_OrientableCurveprimitiveGM_Curve
OrientedproxyGM_OrientablePrimitiveprimitiveGM_Primitive
Interior tocontainingPrimitiveGM_PrimitivecontainedPrimitiveGM_Primitive
OrientedproxyGM_OrientablePrimitiveprimitiveGM_Primitive
RealizationgeometryGM_PrimitivetopologyTP_Primitive
ComplexelementGM_PrimitivecomplexGM_Complex
CompositioncompositeGM_CompositegeneratorGM_Primitive


Generalization Relationships
NameClassSupplier
--Not Named--GM_RingGM_CompositeCurve
--Not Named--GM_CompositeCurveGM_Composite
--Not Named--GM_CompositeCurveGM_OrientableCurve
--Not Named--GM_CompositeGM_Complex
--Not Named--GM_ComplexGM_Object
--Not Named--GM_OrientableCurveGM_OrientablePrimitive
--Not Named--GM_OrientablePrimitiveGM_Primitive
--Not Named--GM_PrimitiveGM_Object


Realize Relationships
NameClassSupplier
--Not Named--GM_ObjectTransfiniteSet<DirectPosition>