FDO API Reference Feature Data Objects
Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FdoGeometryFactoryAbstract Class Reference

#include <GeometryFactoryAbstract.h>

Inherits FdoIDisposable.

Inherited by FdoFgfGeometryFactory.

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 FdoICircularArcSegmentCreateCircularArcSegment (FdoIDirectPosition *startPosition, FdoIDirectPosition *midPosition, FdoIDirectPosition *endPosition)=0
 CircularArcSegment Creates a CircularArcSegment object by copying from three points on the arc.
virtual FDO_GEOM_API FdoICurvePolygonCreateCurvePolygon (FdoIRing *exteriorRing, FdoRingCollection *interiorRings)=0
 CurvePolygon Creates a CurvePolygon object by copying from given ring objects.
virtual FDO_GEOM_API FdoICurveStringCreateCurveString (FdoCurveSegmentCollection *curveSegments)=0
 CurveString Creates a CurveString object by copying from a collection of CurveSegment objects.
virtual FDO_GEOM_API FdoIEnvelopeCreateEnvelope (FdoIEnvelope *envelope)
 Creates a envelope object by copying from another envelope.
virtual FDO_GEOM_API FdoIEnvelopeCreateEnvelope (FdoInt32 dimensionType, double *ordinates)
 Creates an envelope object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIEnvelopeCreateEnvelope (FdoIDirectPosition *lowerLeft, FdoIDirectPosition *upperRight)
 Envelope Creates an envelope object using two positions.
virtual FDO_GEOM_API FdoIEnvelopeCreateEnvelopeXY (double lowerLeftX, double lowerLeftY, double upperRightX, double upperRightY)
 Creates an envelope object using X and Y ordinates.
virtual FDO_GEOM_API FdoIEnvelopeCreateEnvelopeXYZ (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 FdoIGeometryCreateGeometry (FdoIEnvelope *envelope)=0
 Creates a Geometry object by converting from an envelope.
FDO_GEOM_API FdoIGeometryCreateGeometry (FdoString *text)
 Creates a Geometry object by converting from a text string.
virtual FDO_GEOM_API FdoIGeometryCreateGeometry (FdoIGeometry *geometry)=0
 Geometry Creates a Geometry object by copying from another Geometry.
virtual FDO_GEOM_API FdoILinearRingCreateLinearRing (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)=0
 Creates a LinearRing object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILinearRingCreateLinearRing (FdoDirectPositionCollection *positions)=0
 LinearRing Creates a LinearRing object by copying from a collection of positions.
virtual FDO_GEOM_API FdoILineStringCreateLineString (FdoInt32 dimensionType, FdoInt32 numOrdinates, double *ordinates)=0
 Creates a LineString object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineStringCreateLineString (FdoDirectPositionCollection *positions)=0
 LineString Creates a LineString object by copying from a collection of positions.
virtual FDO_GEOM_API FdoILineStringSegmentCreateLineStringSegment (FdoInt32 dimtype, FdoInt32 numOrdinates, double *ordinates)=0
 Creates a LineStringSegment object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineStringSegmentCreateLineStringSegment (FdoDirectPositionCollection *positions)=0
 LineStringSegment Creates a LineStringSegment object by copying from a collection of positions.
virtual FDO_GEOM_API FdoIMultiCurvePolygonCreateMultiCurvePolygon (FdoCurvePolygonCollection *curvePolygons)=0
 MultiCurvePolygon Creates a MultiCurvePolygon object by copying from a collection of CurvePolygon objects.
virtual FDO_GEOM_API FdoIMultiCurveStringCreateMultiCurveString (FdoCurveStringCollection *curveStrings)=0
 MultiCurveString Creates an MultiCurveString object by copying from a collection of CurveString objects.
virtual FDO_GEOM_API FdoIMultiGeometryCreateMultiGeometry (FdoGeometryCollection *geometries)=0
 MultiGeometry Creates a MultiGeometry object by copying from a collection of Geometry objects.
virtual FDO_GEOM_API FdoIMultiLineStringCreateMultiLineString (FdoLineStringCollection *lineStrings)=0
 MultiLineString Creates a MultiLineString object by copying from a collection of LineString objects.
virtual FDO_GEOM_API FdoIMultiPointCreateMultiPoint (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)=0
 Creates a MultiPoint object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIMultiPointCreateMultiPoint (FdoPointCollection *points)=0
 MultiPoint Creates a MultiPoint object by copying from a collection of point objects.
virtual FDO_GEOM_API FdoIMultiPolygonCreateMultiPolygon (FdoPolygonCollection *polygons)=0
 Creates a MultiPolygon object by copying from a collection of polygon objects.
virtual FDO_GEOM_API FdoIPointCreatePoint (FdoInt32 dimensionality, double *ordinates)=0
 Creates a point object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIPointCreatePoint (FdoIDirectPosition *position)=0
 Point Creates a point object by copying from a position.
virtual FDO_GEOM_API FdoIPolygonCreatePolygon (FdoILinearRing *exteriorRing, FdoLinearRingCollection *interiorRings)=0
 Polygon Creates a polygon object by copying from given LinearRing objects.
virtual FDO_GEOM_API FdoIDirectPositionCreatePosition (FdoIDirectPosition *position)
 Creates a position object by copying from an existing position.
virtual FDO_GEOM_API FdoIDirectPositionCreatePosition (FdoInt32 dimensionality, const double *ordinates)
virtual FDO_GEOM_API FdoIDirectPositionCreatePositionXY (double x, double y)
 Position Creates a position object using X and Y ordinates.
virtual FDO_GEOM_API FdoIDirectPositionCreatePositionXYM (double x, double y, double m)
 Creates a position object using X, Y and M ordinates.
virtual FDO_GEOM_API FdoIDirectPositionCreatePositionXYZ (double x, double y, double z)
 Creates a position object using X, Y and Z ordinates.
virtual FDO_GEOM_API FdoIDirectPositionCreatePositionXYZM (double x, double y, double z, double m)
 Creates a position object using X, Y, Z and M ordinates.
virtual FDO_GEOM_API FdoIRingCreateRing (FdoCurveSegmentCollection *curveSegments)=0
 Ring Creates a ring object by copying from a collection of CurveSegment objects.

Protected Member Functions

FDO_GEOM_API FdoGeometryFactoryAbstract ()
 Constructs a default instance of a FdoGeometryFactoryAbstract.
virtual FDO_GEOM_API ~FdoGeometryFactoryAbstract ()
 Default destructor.

Constructor & Destructor Documentation

FDO_GEOM_API FdoGeometryFactoryAbstract::FdoGeometryFactoryAbstract  )  [inline, protected]
 

Constructs a default instance of a FdoGeometryFactoryAbstract.

Returns:
Returns nothing

Definition at line 610 of file GeometryFactoryAbstract.h.

References FDO_GEOM_API.

virtual FDO_GEOM_API FdoGeometryFactoryAbstract::~FdoGeometryFactoryAbstract  )  [inline, protected, virtual]
 

Default destructor.

Returns:
Returns nothing

Definition at line 618 of file GeometryFactoryAbstract.h.

References FDO_GEOM_API.


Member Function Documentation

virtual FDO_GEOM_API FdoICircularArcSegment* FdoGeometryFactoryAbstract::CreateCircularArcSegment FdoIDirectPosition startPosition,
FdoIDirectPosition midPosition,
FdoIDirectPosition endPosition
[pure virtual]
 

CircularArcSegment Creates a CircularArcSegment object by copying from three points on the arc.

Parameters:
startPosition Input starting position of the arc
midPosition Input a position on the arc, and not equal to the starting or ending positions
endPosition Input ending position of the arc
Returns:
Returns a CircularArcSegment

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoICurvePolygon* FdoGeometryFactoryAbstract::CreateCurvePolygon FdoIRing exteriorRing,
FdoRingCollection interiorRings
[pure virtual]
 

CurvePolygon Creates a CurvePolygon object by copying from given ring objects.

Parameters:
exteriorRing Input exterior ring to copy
interiorRings Input collection of interior rings to copy
Returns:
Returns a CurvePolygon

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoICurveString* FdoGeometryFactoryAbstract::CreateCurveString FdoCurveSegmentCollection curveSegments  )  [pure virtual]
 

CurveString Creates a CurveString object by copying from a collection of CurveSegment objects.

Parameters:
curveSegments Input collection of CurveSegment objects to copy
Returns:
Returns a CurveString

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIEnvelope* FdoGeometryFactoryAbstract::CreateEnvelope FdoIEnvelope envelope  )  [virtual]
 

Creates a envelope object by copying from another envelope.

Parameters:
envelope Input Source envelope
Returns:
Returns an envelope

virtual FDO_GEOM_API FdoIEnvelope* FdoGeometryFactoryAbstract::CreateEnvelope FdoInt32  dimensionType,
double *  ordinates
[virtual]
 

Creates an envelope object by copying from an array of ordinates.

Parameters:
dimensionType Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array representing two positions
Returns:
Returns an envelope

virtual FDO_GEOM_API FdoIEnvelope* FdoGeometryFactoryAbstract::CreateEnvelope FdoIDirectPosition lowerLeft,
FdoIDirectPosition upperRight
[virtual]
 

Envelope Creates an envelope object using two positions.

Parameters:
lowerLeft Input lower-left position
upperRight Input upper-right position
Returns:
Returns an envelope

virtual FDO_GEOM_API FdoIEnvelope* FdoGeometryFactoryAbstract::CreateEnvelopeXY double  lowerLeftX,
double  lowerLeftY,
double  upperRightX,
double  upperRightY
[virtual]
 

Creates an envelope object using X and Y ordinates.

Parameters:
lowerLeftX Input lower-left X ordinate
lowerLeftY Input lower-left Y ordinate
upperRightX Input upper-right X ordinate
upperRightY Input upper-right Y ordinate
Returns:
Returns an envelope

virtual FDO_GEOM_API FdoIEnvelope* FdoGeometryFactoryAbstract::CreateEnvelopeXYZ double  lowerLeftX,
double  lowerLeftY,
double  lowerLeftZ,
double  upperRightX,
double  upperRightY,
double  upperRightZ
[virtual]
 

Creates an envelope object using X, Y and Z ordinates.

Parameters:
lowerLeftX Input lower-left, rear X ordinate
lowerLeftY Input lower-left, rear Y ordinate
lowerLeftZ Input lower-left, rear Z ordinate
upperRightX Input upper-right, front X ordinate
upperRightY Input upper-right, front Y ordinate
upperRightZ Input upper-right, front Z ordinate
Returns:
Returns an envelope

virtual FDO_GEOM_API FdoIGeometry* FdoGeometryFactoryAbstract::CreateGeometry FdoIEnvelope envelope  )  [pure virtual]
 

Creates a Geometry object by converting from an envelope.

Remarks:
This method will produce a new Geometry based on the given envelope. The actual geometry type produced is implementation-dependent.
Parameters:
envelope Input Source envelope
Returns:
Returns a Geometry

Implemented in FdoFgfGeometryFactory.

FDO_GEOM_API FdoIGeometry* FdoGeometryFactoryAbstract::CreateGeometry FdoString text  ) 
 

Creates a Geometry object by converting from a text string.

Remarks:
While this method is not pure virtual, its default implementation will throw an exception if called. A concrete, derived class should override this method if conversion from text is required.
Parameters:
text Input Source geometry text
Returns:
Returns a Geometry

Reimplemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIGeometry* FdoGeometryFactoryAbstract::CreateGeometry FdoIGeometry geometry  )  [pure virtual]
 

Geometry Creates a Geometry object by copying from another Geometry.

Remarks:
This is a pseudo-copy-constructor. It is required that any implementation use only public methods on the underlying Geometry object, thus enabling conversion from geometries of the same (or any other) implementation of this Geometry package.
Parameters:
geometry Input Source geometry
Returns:
Returns an envelope

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILinearRing* FdoGeometryFactoryAbstract::CreateLinearRing FdoInt32  dimensionality,
FdoInt32  numOrdinates,
double *  ordinates
[pure virtual]
 

Creates a LinearRing object by copying from an array of ordinates.

Remarks:
The ordinates representing the first and last positions must be equal.
Parameters:
dimensionality Input dimensionality of the ordinates (see FdoDimensionality)
numOrdinates Input total number of ordinates in the array
ordinates Input ordinate array representing positions
Returns:
Returns a LinearRing

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILinearRing* FdoGeometryFactoryAbstract::CreateLinearRing FdoDirectPositionCollection positions  )  [pure virtual]
 

LinearRing Creates a LinearRing object by copying from a collection of positions.

Remarks:
The first and last positions must be equal.
Parameters:
positions Input collection of positions to copy
Returns:
Returns a LinearRing

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILineString* FdoGeometryFactoryAbstract::CreateLineString FdoInt32  dimensionType,
FdoInt32  numOrdinates,
double *  ordinates
[pure virtual]
 

Creates a LineString object by copying from an array of ordinates.

Parameters:
dimensionType Input dimensionality of the ordinates (see FdoDimensionality)
numOrdinates Input total number of ordinates in the array
ordinates Input ordinate array representing positions
Returns:
Returns a LineString

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILineString* FdoGeometryFactoryAbstract::CreateLineString FdoDirectPositionCollection positions  )  [pure virtual]
 

LineString Creates a LineString object by copying from a collection of positions.

Parameters:
positions Input collection of positions to copy
Returns:
Returns a LineString

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILineStringSegment* FdoGeometryFactoryAbstract::CreateLineStringSegment FdoInt32  dimtype,
FdoInt32  numOrdinates,
double *  ordinates
[pure virtual]
 

Creates a LineStringSegment object by copying from an array of ordinates.

Parameters:
dimtype Input dimensionality of the ordinates (see FdoDimensionality)
numOrdinates Input total number of ordinates in the array
ordinates Input ordinate array representing positions
Returns:
Returns a LineStringSegment

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoILineStringSegment* FdoGeometryFactoryAbstract::CreateLineStringSegment FdoDirectPositionCollection positions  )  [pure virtual]
 

LineStringSegment Creates a LineStringSegment object by copying from a collection of positions.

Parameters:
positions Input collection of positions to copy
Returns:
Returns a LineStringSegment

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiCurvePolygon* FdoGeometryFactoryAbstract::CreateMultiCurvePolygon FdoCurvePolygonCollection curvePolygons  )  [pure virtual]
 

MultiCurvePolygon Creates a MultiCurvePolygon object by copying from a collection of CurvePolygon objects.

Parameters:
curvePolygons Input collection of CurvePolygon objects to copy
Returns:
Returns a MultiCurvePolygon

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiCurveString* FdoGeometryFactoryAbstract::CreateMultiCurveString FdoCurveStringCollection curveStrings  )  [pure virtual]
 

MultiCurveString Creates an MultiCurveString object by copying from a collection of CurveString objects.

Parameters:
curveStrings Input collection of CurveString objects to copy
Returns:
Returns a MultiCurveString

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiGeometry* FdoGeometryFactoryAbstract::CreateMultiGeometry FdoGeometryCollection geometries  )  [pure virtual]
 

MultiGeometry Creates a MultiGeometry object by copying from a collection of Geometry objects.

Parameters:
geometries Input collection of Geometry objects to copy
Returns:
Returns a MultiGeometry

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiLineString* FdoGeometryFactoryAbstract::CreateMultiLineString FdoLineStringCollection lineStrings  )  [pure virtual]
 

MultiLineString Creates a MultiLineString object by copying from a collection of LineString objects.

Parameters:
lineStrings Input collection of LineString objects to copy
Returns:
Returns a MultiLineString

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiPoint* FdoGeometryFactoryAbstract::CreateMultiPoint FdoInt32  dimensionality,
FdoInt32  numOrdinates,
double *  ordinates
[pure virtual]
 

Creates a MultiPoint object by copying from an array of ordinates.

Parameters:
dimensionality Input dimensionality of the ordinates (see FdoDimensionality)
numOrdinates Input total number of ordinates in the array
ordinates Input ordinate array representing positions
Returns:
Returns a MultiPoint

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiPoint* FdoGeometryFactoryAbstract::CreateMultiPoint FdoPointCollection points  )  [pure virtual]
 

MultiPoint Creates a MultiPoint object by copying from a collection of point objects.

Parameters:
points Input collection of point objects to copy
Returns:
Returns a MultiPoint

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIMultiPolygon* FdoGeometryFactoryAbstract::CreateMultiPolygon FdoPolygonCollection polygons  )  [pure virtual]
 

Creates a MultiPolygon object by copying from a collection of polygon objects.

Parameters:
polygons Input collection of polygon objects to copy
Returns:
Returns a MultiPolygon

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIPoint* FdoGeometryFactoryAbstract::CreatePoint FdoInt32  dimensionality,
double *  ordinates
[pure virtual]
 

Creates a point object by copying from an array of ordinates.

Parameters:
dimensionality Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array representing one position
Returns:
Returns a point

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIPoint* FdoGeometryFactoryAbstract::CreatePoint FdoIDirectPosition position  )  [pure virtual]
 

Point Creates a point object by copying from a position.

Parameters:
position Input position to copy
Returns:
Returns a point

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIPolygon* FdoGeometryFactoryAbstract::CreatePolygon FdoILinearRing exteriorRing,
FdoLinearRingCollection interiorRings
[pure virtual]
 

Polygon Creates a polygon object by copying from given LinearRing objects.

Parameters:
exteriorRing Input exterior ring to copy
interiorRings Input collection of interior rings to copy
Returns:
Returns a polygon

Implemented in FdoFgfGeometryFactory.

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePosition FdoIDirectPosition position  )  [virtual]
 

Creates a position object by copying from an existing position.

Parameters:
position Input position to copy
Returns:
Returns a direct position

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePosition FdoInt32  dimensionality,
const double *  ordinates
[virtual]
 

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePositionXY double  x,
double  y
[virtual]
 

Position Creates a position object using X and Y ordinates.

Remarks:
The resulting object's accessor methods for ordinates that are not given here as input parameters will return the default value of 0.0.
Parameters:
x Input X ordinate value
y Input Y ordinate value
Returns:
Returns a direct position

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePositionXYM double  x,
double  y,
double  m
[virtual]
 

Creates a position object using X, Y and M ordinates.

Remarks:
The resulting object's accessor methods for ordinates that are not given here as input parameters will return the default value of 0.0.
Parameters:
x Input X ordinate value
y Input Y ordinate value
m Input M ordinate value
Returns:
Returns a direct position

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePositionXYZ double  x,
double  y,
double  z
[virtual]
 

Creates a position object using X, Y and Z ordinates.

Remarks:
The resulting object's accessor methods for ordinates that are not given here as input parameters will return the default value of 0.0.
Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
Returns:
Returns a direct position

virtual FDO_GEOM_API FdoIDirectPosition* FdoGeometryFactoryAbstract::CreatePositionXYZM double  x,
double  y,
double  z,
double  m
[virtual]
 

Creates a position object using X, Y, Z and M ordinates.

Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
m Input M ordinate value
Returns:
Returns a direct position

virtual FDO_GEOM_API FdoIRing* FdoGeometryFactoryAbstract::CreateRing FdoCurveSegmentCollection curveSegments  )  [pure virtual]
 

Ring Creates a ring object by copying from a collection of CurveSegment objects.

Parameters:
curveSegments Input collection of CurveSegment objects to copy
Returns:
Returns a ring

Implemented in FdoFgfGeometryFactory.


The documentation for this class was generated from the following file:
Comments or suggestions? Send us feedback.