# OSGeo::FDO::Geometry Namespace Reference

## Classes
class | CurvePolygonCollection
| The CurvePolygonCollection class is a collection of CurvePolygon objects. More...
class | CurveSegmentCollection
| The CurveSegmentCollection class represents a collection of CurveSegment objects. More...
class | CurveStringCollection
| The CurveStringCollection class is a collection of CurvePolygon objects. More...
class | DirectPositionCollection
| The DirectPositionCollection class is a collection of DirectPosition objects. More...
class | DirectPositionImpl
| The DirectPositionImpl class is a default implementation of IDirectPosition. DirectPositionImpl implements accessors from IDirectPosition, matching mutators, and simple data members. Assignment and exact equality operators are also provided. More...
class | EnvelopeImpl
| The EnvelopeImpl class is a default implementation of IEnvelope. EnvelopeImpl implements accessors from IEnvelope, matching mutators, and simple data members. Assignment, exact equality operators, and utility methods are also provided. More...
class | FgfGeometryFactory
| The FgfGeometryFactory class is an FGF-based Geometry factory, a concrete class that implements all the members from GeometryFactoryAbstract. More...
class | GeometryCollection
| The GeometryCollection class is a collection of Geometry objects. More...
class | GeometryFactoryAbstract
| The GeometryFactoryAbstract class is a factory (abstract, non-pure) for Geometry objects and Geometry helper objects. More...
interface | IArcSegmentAbstract
| The IArcSegmentAbstract class is an arc curve segment (abstract). More...
class | IArcSegmentAbstractImp
| The IArcSegmentAbstract class is an arc curve segment (abstract). More...
interface | ICircularArcSegment
| The ICircularArcSegment class is a circular arc curve segment. More...
class | ICircularArcSegmentImp
| The ICircularArcSegment class is a circular arc curve segment. More...
interface | ICurveAbstract
| The ICurveAbstract class is a curve Geometry type (abstract). ICurveAbstract is the most general curve type. More...
class | ICurveAbstractImp
| The ICurveAbstractImp class is a curve Geometry type (concrete). ICurveAbstractImp is the most general curve type. More...
interface | ICurvePolygon
| The ICurvePolygon class is a CurvePolygon geometry type. This type is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple Ring. More...
class | ICurvePolygonImp
| The ICurvePolygonImp class is a concrete geometric CurvePolygon geometry type. This type is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple Ring. More...
interface | ICurveSegmentAbstract
| The ICurveSegmentAbstract class is an abstract geometric Curve Segment object. This class is used strictly as a component of curves and, thus, does not inherit from IGeometry. More...
class | ICurveSegmentAbstractImp
| The ICurveSegmentAbstractImp class is a concrete geometric Curve Segment object. This class is used strictly as a component of curves and, thus, does not inherit from IGeometry. More...
interface | ICurveString
| The ICurveString class is a CurveString Geometry type. ICurveString is the most general non-abstract curve type. It is defined by an ordered collection of contiguous curve segments. More...
class | ICurveStringImp
| The ICurveStringImp class is a concrete geometric CurveString Geometry type. ICurveString is the most general non-abstract curve type. It is defined by an ordered collection of contiguous curve segments. More...
interface | IDirectPosition
| The IDirectPosition class is a direct position object. IDirectPosition is a simple coordinate position in any allowed dimension. The actual object may have several implementations, depending on the dimension and other factors. This is a lightweight helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry. More...
class | IDirectPositionImp
| The IDirectPositionImp class is a default implementation of the IDirectPosition object. IDirectPosition is a simple coordinate position in any allowed dimension. The actual object may have several implementations, depending on the dimension and other factors. This is a lightweight helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry. More...
interface | IEnvelope
| The IEnvelope class is a three-dimensional, axis-aligned box. This is a helper type for Geometries, and does not itself inherit from IGeometry. This type is typically used to record the "extents" of a shape, also known in 2 dimensions as an MBR ("Minimum Bounding Rectangle"). The box may be initially empty, meaning that no dimensions have an assigned value. Each individual extent may be unassigned, in which case using its accessor will return numeric_limits::quiet_NaN(). More...
class | IEnvelopeImp
| The IEnvelopeImp class is a three-dimensional, axis-aligned box. This is a helper type for Geometries, and does not itself inherit from IGeometry. More...
interface | IGeometricAggregateAbstract
| The IGeometricAggregateAbstract class is an aggregate Geometry (abstract) type. IGeometricAggregateAbstract is a single Geometry that is a collection of other geometries. There is no requirement that the geometries interact spatially. Non-abstract derived types should have at least one accessor that returns objects of the appropriate contained type. More...
class | IGeometricAggregateAbstractImp
| The IGeometricAggregateAbstractImp class is a default implementation of the aggregate Geometry type. IGeometricAggregateAbstract is a single Geometry that is a collection of other geometries. There is no requirement that the geometries interact spatially. Non-abstract derived types should have at least one accessor that returns objects of the appropriate contained type. More...
interface | IGeometry
| The IGeometry class defines the properties and methods common to all geometric types. IGeometry is an abstract type. More...
class | IGeometryImp
| The IGeometryImp class defines the properties and methods common to all geometric types. IGeometryImp is a concreate implementation of IGeometry. More...
interface | ILinearRing
| The ILinearRing class is a linear ring helper type. The shape of ILinearRing is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. More...
class | ILinearRingImp
| The ILinearRingImp class is a linear ring helper type. The shape of ILinearRingImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. More...
interface | ILineString
| The ILineString class is a LineString Geometry type. The shape of ILineString is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. More...
class | ILineStringImp
| The ILineStringImp class is a LineString Geometry type. The shape of ILineStringImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. More...
interface | ILineStringSegment
| The ILineStringSegment class is a LineString curve segment type. The shape of ILineStringSegment is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. This is a helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry. More...
class | ILineStringSegmentImp
| The ILineStringSegmentImp class is a LineString curve segment type. The shape of ILineStringSegmentImp is the set of positions defined by the contained collection, plus linear interpolation between consecutive points. This is a helper type for Geometries in the Geometry package. Note: It does not derive from IGeometry. More...
interface | IMultiCurvePolygon
| The IMultiCurvePolygon class is a multi-CurvePolygon aggregate Geometry type. More...
class | IMultiCurvePolygonImp
| The IMultiCurvePolygonImp class is a multi-CurvePolygon aggregate Geometry type. More...
interface | IMultiCurveString
| The IMultiCurveString class is a multi-CurveString collection Geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way. More...
class | IMultiCurveStringImp
| The IMultiCurveStringImp class is a multi-CurveString collection Geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way. More...
interface | IMultiGeometry
| The IMultiGeometry class is a heterogeneous MultiGeometry type. One MultiGeometry containing another MultiGeometry is not supported. More...
class | IMultiGeometryImp
| The IMultiGeometryImp class is a heterogeneous MultiGeometry type. One MultiGeometry containing another MultiGeometry is not supported. More...
interface | IMultiLineString
| The IMultiLineString class is a multi-LineString collection geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way. More...
class | IMultiLineStringImp
| The IMultiLineStringImp class is a multi-LineString collection geometry type. The curves contained here do not have to be contiguous, nor spatially interact in any other way. More...
interface | IMultiPoint
| The IMultiPoint class is a multi-point aggregate Geometry type. More...
class | IMultiPointImp
| The IMultiPointImp class is a multi-point aggregate Geometry type. More...
interface | IMultiPolygon
| The IMultiPolygon class is a multi-polygon aggregate Geometry type. More...
class | IMultiPolygonImp
| The IMultiPolygonImp class is a multi-polygon aggregate Geometry type. More...
interface | IPoint
| The IPoint class is a point Geometry type. More...
class | IPointImp
| The IPointImp class is a point Geometry type. More...
interface | IPolygon
| The IPolygon class is a polygon Geometry type. IPolygon is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple LinearRing. More...
class | IPolygonImp
| The IPolygonImp class is a polygon Geometry type. IPolygonImp is defined by one exterior boundary and zero or more interior boundaries. Each of the boundaries must be a closed, simple LinearRing. More...
interface | IRing
| The IRing class is ring Geometry helper type. This is the most general non-abstract ring type. FdoIRing is defined by an ordered collection of contiguous curve segments. More...
interface | IRingAbstract
| The IRingAbstract class is a ring Geometry helper type (abstract). IRingAbstract is the most general ring type. It is similar to CurveAbstract, but is always closed. More...
class | IRingAbstractImp
| The IRingAbstractImp class is a ring Geometry helper type (abstract). FdoIRingAbstract is the most general ring type. It is similar to CurveAbstract, but is always closed. More...
class | IRingImp
| The IRingImp class is ring Geometry helper type. This is the most general non-abstract ring type. FdoIRing is defined by an ordered collection of contiguous curve segments. More...
interface | ISurfaceAbstract
| The ISurfaceAbstract class is a surface (abstract) Geometry type. More...
class | ISurfaceAbstractImp
| The ISurfaceAbstractImp class is a surface (concrete) Geometry type. More...
class | LinearRingCollection
| The LinearRingCollection class is a collection of ILinearRing objects. More...
class | LineStringCollection
| The LineStringCollection class is a collection of LineString objects. More...
class | ObjectFactory
| () More...
class | PointCollection
| The PointCollection class is a collection of Point objects. More...
class | PolygonCollection
| The PolygonCollection class is a collection of IPolygon objects. More...
class | RingCollection
| The RingCollection class is a collection of IRing objects. More...
## Functions
__property OSGeo::FDO::Geometry::CurveSegmentCollection * | get_CurveSegments ()
| Gets all the curve segments.
__property OSGeo::FDO::Common::GeometryComponentType | get_DerivedType ()
| Gets the type of the most-derived interface in the Geometry package for this object.
__property System::Int32 | get_Dimensionality ()
| Gets the dimensionality of ordinates in this object.
__property OSGeo::FDO::Geometry::IDirectPosition * | get_EndPosition ()
| Gets the ending position of this Curve.
__property OSGeo::FDO::Geometry::IRing * | get_InteriorRing (System::Int32 index)
| Gets the interior ring at the specified (zero-based) index.
__property System::Int32 | get_InteriorRingCount ()
| Gets the number of interior rings.
__property System::Boolean | get_IsClosed ()
| Gets the closure state for the curve.
__property System::Boolean | get_IsEmpty ()
| Indicates whether the envelope's extents are set.
__property OSGeo::FDO::Geometry::ICurveSegmentAbstract * | get_Item (System::Int32 index)
| Gets the curve segment at the given zero-based index.
__property System::Double | get_M ()
| Gets the M ordinate.
__property System::Double | get_MaxX ()
| Gets the maximum X coordinate value.
__property System::Double | get_MaxY ()
| Gets the maximum Y coordinate value.
__property System::Double | get_MaxZ ()
| Gets the maximum Z coordinate value.
__property System::Double | get_MinY ()
| Gets the minimum Y coordinate value.
__property System::Double | get_MinZ ()
| Gets the minimum Z coordinate value.
__property OSGeo::FDO::Geometry::DirectPositionCollection * | get_Positions ()
| Gets a collection of all of the positions in this object.
__property OSGeo::FDO::Geometry::IDirectPosition * | get_StartPosition ()
| Gets the starting position of this curve segment.
__property System::String * | get_Text ()
| Gets the text string representation of this Geometry.
__property System::Double | get_Y ()
| Gets the Y ordinate.
__property System::Double | get_Z ()
| Gets the Z ordinate.
OSGeo::FDO::Geometry::ILinearRing * | GetInteriorRing (System::Int32 index)
| Gets the interior ring at the specified (zero-based) index.
virtual System::Void | GetItemByMembers (System::Int32 index, System::Double &coordinateX, System::Double &coordinateY, System::Double &coordinateZ, System::Double &coordinateM, System::Int32 &dimensionality)=0
| Gets the position at the specified (zero-based) index, by values of its member data. This is in aid of higher performance for any implementation that does not internally use FdoIDirectPosition objects for storage, or for an application seeking to avoid overhead of accessor methods.
virtual System::Void | GetPositionByMembers (System::Double &coordinateX, System::Double &coordinateY, System::Double &coordinateZ, System::Double &coordinateM, System::Int32 &dimensionality)=0
| Gets the position of this point Geometry, by values of its member data. This is in aid of higher performance for any implementation that does not internally use FdoIDirectPosition objects for storage, or for an application seeking to avoid overhead of accessor methods.
## Variables
public __gc __interface | IArcSegmentAbstract
public __gc __interface | ICircularArcSegment
public __gc __interface | ICurveAbstract
public __gc __interface | ICurvePolygon
public __gc __interface | ICurveSegmentAbstract
public __gc __interface | ICurveString
public __gc __interface | IDirectPosition
public __gc __interface | IEnvelope
public __gc __interface | IGeometricAggregateAbstract
public __gc __interface | IGeometry
public __gc __interface | ILinearRing
public __gc __interface | ILineString
public __gc __interface | ILineStringSegment
public __gc __interface | IMultiCurvePolygon
public __gc __interface | IMultiCurveString
public __gc __interface | IMultiGeometry
public __gc __interface | IMultiLineString
public __gc __interface | IMultiPoint
public __gc __interface | IMultiPolygon
public __gc __interface | IPoint
public __gc __interface | IPolygon
public __gc __interface | IRing
public __gc __interface | IRingAbstract
public __gc __interface | ISurfaceAbstract