# FdoGeometryFactoryAbstract Class Reference

`#include <GeometryFactoryAbstract.h>`

Inheritance diagram for FdoGeometryFactoryAbstract:

[legend]

List of all members.

## Detailed Description

The FdoGeometryFactoryAbstract class is a factory (abstract, non-pure) for Geometry objects and Geometry helper objects.

Definition at line 33 of file GeometryFactoryAbstract.h.

## Public Member Functions
virtual FDO_GEOM_API FdoICircularArcSegment * | CreateCircularArcSegment (FdoIDirectPosition *startPosition, FdoIDirectPosition *midPosition, FdoIDirectPosition *endPosition)=0
| CircularArcSegment.
virtual FDO_GEOM_API FdoICurvePolygon * | CreateCurvePolygon (FdoIRing *exteriorRing, FdoRingCollection *interiorRings)=0
| CurvePolygon.
virtual FDO_GEOM_API FdoICurveString * | CreateCurveString (FdoCurveSegmentCollection *curveSegments)=0
| CurveString.
virtual FDO_GEOM_API FdoIEnvelope * | CreateEnvelope (FdoIEnvelope *envelope)
| Creates a envelope object by copying from another envelope.
virtual FDO_GEOM_API FdoIEnvelope * | CreateEnvelope (FdoInt32 dimensionType, double *ordinates)
| Creates an envelope object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIEnvelope * | CreateEnvelope (FdoIDirectPosition *lowerLeft, FdoIDirectPosition *upperRight)
| Envelope.
virtual FDO_GEOM_API FdoIEnvelope * | CreateEnvelopeXY (double lowerLeftX, double lowerLeftY, double upperRightX, double upperRightY)
| Creates an envelope object using X and Y ordinates.
virtual FDO_GEOM_API FdoIEnvelope * | CreateEnvelopeXYZ (double lowerLeftX, double lowerLeftY, double lowerLeftZ, double upperRightX, double upperRightY, double upperRightZ)
| Creates an envelope object using X, Y and Z ordinates.
virtual FDO_GEOM_API FdoIGeometry * | CreateGeometry (FdoIEnvelope *envelope)=0
| Creates a Geometry object by converting from an envelope.
FDO_GEOM_API FdoIGeometry * | CreateGeometry (FdoString *text)
| Creates a Geometry object by converting from a text string.
virtual FDO_GEOM_API FdoIGeometry * | CreateGeometry (FdoIGeometry *geometry)=0
| Geometry.
virtual FDO_GEOM_API FdoILinearRing * | CreateLinearRing (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)=0
| Creates a LinearRing object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILinearRing * | CreateLinearRing (FdoDirectPositionCollection *positions)=0
| LinearRing.
virtual FDO_GEOM_API FdoILineString * | CreateLineString (FdoInt32 dimensionType, FdoInt32 numOrdinates, double *ordinates)=0
| Creates a LineString object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineString * | CreateLineString (FdoDirectPositionCollection *positions)=0
| LineString.
virtual FDO_GEOM_API FdoILineStringSegment * | CreateLineStringSegment (FdoInt32 dimtype, FdoInt32 numOrdinates, double *ordinates)=0
| Creates a LineStringSegment object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineStringSegment * | CreateLineStringSegment (FdoDirectPositionCollection *positions)=0
| LineStringSegment.
virtual FDO_GEOM_API FdoIMultiCurvePolygon * | CreateMultiCurvePolygon (FdoCurvePolygonCollection *curvePolygons)=0
| MultiCurvePolygon.
virtual FDO_GEOM_API FdoIMultiCurveString * | CreateMultiCurveString (FdoCurveStringCollection *curveStrings)=0
| MultiCurveString.
virtual FDO_GEOM_API FdoIMultiGeometry * | CreateMultiGeometry (FdoGeometryCollection *geometries)=0
| MultiGeometry.
virtual FDO_GEOM_API FdoIMultiLineString * | CreateMultiLineString (FdoLineStringCollection *lineStrings)=0
| MultiLineString.
virtual FDO_GEOM_API FdoIMultiPoint * | CreateMultiPoint (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)=0
| Creates a MultiPoint object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIMultiPoint * | CreateMultiPoint (FdoPointCollection *points)=0
| MultiPoint.
virtual FDO_GEOM_API FdoIMultiPolygon * | CreateMultiPolygon (FdoPolygonCollection *polygons)=0
| Creates a MultiPolygon object by copying from a collection of polygon objects.
virtual FDO_GEOM_API FdoIPoint * | CreatePoint (FdoInt32 dimensionality, double *ordinates)=0
| Creates a point object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIPoint * | CreatePoint (FdoIDirectPosition *position)=0
| Point.
virtual FDO_GEOM_API FdoIPolygon * | CreatePolygon (FdoILinearRing *exteriorRing, FdoLinearRingCollection *interiorRings)=0
| Polygon.
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePosition (FdoIDirectPosition *position)
| Creates a position object by copying from an existing position.
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePosition (FdoInt32 dimensionality, const double *ordinates)
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePositionXY (double x, double y)
| Position.
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePositionXYM (double x, double y, double m)
| Creates a position object using X, Y and M ordinates.
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePositionXYZ (double x, double y, double z)
| Creates a position object using X, Y and Z ordinates.
virtual FDO_GEOM_API FdoIDirectPosition * | CreatePositionXYZM (double x, double y, double z, double m)
| Creates a position object using X, Y, Z and M ordinates.
virtual FDO_GEOM_API FdoIRing * | CreateRing (FdoCurveSegmentCollection *curveSegments)=0
| Ring.
## Protected Member Functions
FDO_GEOM_API | FdoGeometryFactoryAbstract ()
| Constructs a default instance of a FdoGeometryFactoryAbstract.
virtual FDO_GEOM_API | ~FdoGeometryFactoryAbstract ()
| Default destructor.

The documentation for this class was generated from the following file:

- GeometryFactoryAbstract.h