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

FdoFgfGeometryFactory Class Reference

#include <Factory.h>

Inherits FdoGeometryFactoryAbstract.

Inheritance diagram for FdoFgfGeometryFactory:

[legend]
List of all members.

Detailed Description

The FdoFgfGeometryFactory class is an FGF-based Geometry factory, a concrete class that implements all the members from FdoGeometryFactoryAbstract.

Definition at line 37 of file Factory.h.


Public Member Functions

virtual FDO_GEOM_API FdoICircularArcSegmentCreateCircularArcSegment (FdoIDirectPosition *startPosition, FdoIDirectPosition *midPosition, FdoIDirectPosition *endPosition)
 CircularArcSegment Creates a CircularArcSegment object by copying from three points on the arc.
virtual FDO_GEOM_API FdoICurvePolygonCreateCurvePolygon (FdoIRing *exteriorRing, FdoRingCollection *interiorRings)
 CurvePolygon Creates a CurvePolygon object by copying from given ring objects.
virtual FDO_GEOM_API FdoICurveStringCreateCurveString (FdoCurveSegmentCollection *curveSegments)
 CurveString Creates a CurveString object by copying from a collection of CurveSegment objects.
virtual FDO_GEOM_API FdoIGeometryCreateGeometry (FdoIEnvelope *envelope)
 Creates a Geometry object by converting from an envelope.
virtual FDO_GEOM_API FdoIGeometryCreateGeometry (FdoString *text)
 Creates a Geometry object by converting from a text string.
virtual FDO_GEOM_API FdoIGeometryCreateGeometry (FdoIGeometry *geometry)
 Creates a Geometry object by copying from another Geometry.
virtual FDO_GEOM_API FdoIGeometryCreateGeometryFromFgf (const FdoByte *byteArray, FdoInt32 count)
 Creates a Geometry from FGF data.
virtual FDO_GEOM_API FdoIGeometryCreateGeometryFromFgf (FdoByteArray *byteArray)
 Creates a Geometry from FGF data.
virtual FDO_GEOM_API FdoIGeometryCreateGeometryFromWkb (FdoByteArray *byteArray)
 Creates an FGF-based Geometry from OpenGIS WKB data.
virtual FDO_GEOM_API FdoILinearRingCreateLinearRing (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)
 Creates a LinearRing object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILinearRingCreateLinearRing (FdoDirectPositionCollection *positions)
 LinearRing Creates a LinearRing object by copying from a collection of positions.
virtual FDO_GEOM_API FdoILineStringCreateLineString (FdoInt32 dimensionType, FdoInt32 numOrdinates, double *ordinates)
 Creates a LineString object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineStringCreateLineString (FdoDirectPositionCollection *positions)
 Methods from FdoGeometryFactoryAbstract Creates a LineString object by copying from a collection of positions.
virtual FDO_GEOM_API FdoILineStringSegmentCreateLineStringSegment (FdoInt32 dimtype, FdoInt32 numOrdinates, double *ordinates)
 Creates a LineStringSegment object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoILineStringSegmentCreateLineStringSegment (FdoDirectPositionCollection *positions)
 LineStringSegment Creates a LineStringSegment object by copying from a collection of positions.
virtual FDO_GEOM_API FdoIMultiCurvePolygonCreateMultiCurvePolygon (FdoCurvePolygonCollection *curvePolygons)
 MultiCurvePolygon Creates a MultiCurvePolygon object by copying from a collection of CurvePolygon objects.
virtual FDO_GEOM_API FdoIMultiCurveStringCreateMultiCurveString (FdoCurveStringCollection *curveStrings)
 MultiCurveString Creates a MultiCurveString object by copying from a collection of CurveString objects.
virtual FDO_GEOM_API FdoIMultiGeometryCreateMultiGeometry (FdoGeometryCollection *geometries)
 MultiGeometry Creates a MultiGeometry object by copying from a collection of Geometry objects.
virtual FDO_GEOM_API FdoIMultiLineStringCreateMultiLineString (FdoLineStringCollection *lineStrings)
 MultiLineString Creates a MultiLineString object by copying from a collection of LineString objects.
virtual FDO_GEOM_API FdoIMultiPointCreateMultiPoint (FdoInt32 dimensionality, FdoInt32 numOrdinates, double *ordinates)
 Creates a MultiPoint object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIMultiPointCreateMultiPoint (FdoPointCollection *points)
 MultiPoint Creates a MultiPoint object by copying from a collection of point objects.
virtual FDO_GEOM_API FdoIMultiPolygonCreateMultiPolygon (FdoPolygonCollection *polygons)
 Creates a MultiPolygon object by copying from a collection of polygon objects.
virtual FDO_GEOM_API FdoIPointCreatePoint (FdoInt32 dimensionality, double *ordinates)
 Creates an point object by copying from an array of ordinates.
virtual FDO_GEOM_API FdoIPointCreatePoint (FdoIDirectPosition *position)
 Point Creates a point object by copying from a position.
virtual FDO_GEOM_API FdoIPolygonCreatePolygon (FdoILinearRing *exteriorRing, FdoLinearRingCollection *interiorRings)
 Polygon Creates a polygon object by copying from given LinearRing objects.
virtual FDO_GEOM_API FdoIRingCreateRing (FdoCurveSegmentCollection *curveSegments)
 Ring Creates a ring object by copying from a collection of CurveSegment objects.
virtual FDO_GEOM_API FdoByteArrayGetByteArray ()
 Get an empty (possibly pooled) byte array.
virtual FDO_GEOM_API FdoByteArrayGetFgf (FdoIGeometry *geometry)
 Gets FGF data from a Geometry.
virtual FDO_GEOM_API FdoByteArrayGetWkb (FdoIGeometry *geometry)
 Gets OpenGIS WKB data from a Geometry.
virtual FDO_GEOM_API void TakeReleasedByteArray (FdoByteArray *byteArray)
 Pool this array, released from some geometry.

Static Public Member Functions

FDO_GEOM_API FdoFgfGeometryFactoryGetInstance ()
 Acquires an object of this class.
FDO_GEOM_API FdoFgfGeometryFactoryGetPrivateInstance (FdoInt32 numGeometries, FdoInt32 numPositions, FdoInt32 numEnvelopes, FdoInt32 numCurveSegments, FdoInt32 numRings)
 Instantiates an object of this class.

Protected Member Functions

FdoIGeometryCreateGeometryFromFgf (FdoByteArray *byteArray, const FdoByte *byteArrayData, FdoInt32 count)
 Union of public CreateGeometryFromFgf methods. One of byteArray or byteArrayData must be non-NULL.
FDO_GEOM_API void Dispose ()
 Dispose this object.
 FdoFgfGeometryFactory (FdoInt32 numGeometries, FdoInt32 numPositions, FdoInt32 numEnvelopes, FdoInt32 numCurveSegments, FdoInt32 numRings)
 Constructor for a private instance.
FDO_GEOM_API FdoFgfGeometryFactory ()
 Constructs a default instance of a FdoFgfGeometryFactory.
FDO_GEOM_API ~FdoFgfGeometryFactory ()
 Default destructor.

Protected Attributes

FdoFgfGeometryFactory2 * m_private
 DOXYGEN-IGNORE

Constructor & Destructor Documentation

FDO_GEOM_API FdoFgfGeometryFactory::FdoFgfGeometryFactory  )  [protected]
 

Constructs a default instance of a FdoFgfGeometryFactory.

Returns:
Returns nothing

FDO_GEOM_API FdoFgfGeometryFactory::~FdoFgfGeometryFactory  )  [protected]
 

Default destructor.

Returns:
Returns nothing

FdoFgfGeometryFactory::FdoFgfGeometryFactory FdoInt32  numGeometries,
FdoInt32  numPositions,
FdoInt32  numEnvelopes,
FdoInt32  numCurveSegments,
FdoInt32  numRings
[protected]
 

Constructor for a private instance.


Member Function Documentation

virtual FDO_GEOM_API FdoICircularArcSegment* FdoFgfGeometryFactory::CreateCircularArcSegment FdoIDirectPosition startPosition,
FdoIDirectPosition midPosition,
FdoIDirectPosition endPosition
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoICurvePolygon* FdoFgfGeometryFactory::CreateCurvePolygon FdoIRing exteriorRing,
FdoRingCollection interiorRings
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoICurveString* FdoFgfGeometryFactory::CreateCurveString FdoCurveSegmentCollection curveSegments  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometry FdoIEnvelope envelope  )  [virtual]
 

Creates a Geometry object by converting from an envelope.

Remarks:
This method will produce a new FGF-based Geometry based on the given envelope.
Parameters:
envelope Input Source envelope
Returns:
Returns a geometry

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometry FdoString text  )  [virtual]
 

Creates a Geometry object by converting from a text string.

Parameters:
text Input Source geometry
Returns:
Returns a geometry

Reimplemented from FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometry FdoIGeometry geometry  )  [virtual]
 

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. Thus, this implementation creates FGF-based Geometry objects based on any implementation of the Geometry API.
Parameters:
geometry Input Source geometry
Returns:
Returns an envelope

Implements FdoGeometryFactoryAbstract.

FdoIGeometry* FdoFgfGeometryFactory::CreateGeometryFromFgf FdoByteArray byteArray,
const FdoByte byteArrayData,
FdoInt32  count
[protected]
 

Union of public CreateGeometryFromFgf methods. One of byteArray or byteArrayData must be non-NULL.

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometryFromFgf const FdoByte byteArray,
FdoInt32  count
[virtual]
 

Creates a Geometry from FGF data.

Parameters:
byteArray Input FGF data that defines the Geometry. The caller must guarantee the validity of the array for the lifetime of the associated geometry object.
count Input Number of bytes of FGF data.
Returns:
Returns a Geometry

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometryFromFgf FdoByteArray byteArray  )  [virtual]
 

Creates a Geometry from FGF data.

Parameters:
byteArray Input FGF data that defines the Geometry.
Returns:
Returns a Geometry

virtual FDO_GEOM_API FdoIGeometry* FdoFgfGeometryFactory::CreateGeometryFromWkb FdoByteArray byteArray  )  [virtual]
 

Creates an FGF-based Geometry from OpenGIS WKB data.

Parameters:
byteArray Input WKB data that defines the Geometry.
Returns:
Returns a Geometry

virtual FDO_GEOM_API FdoILinearRing* FdoFgfGeometryFactory::CreateLinearRing FdoInt32  dimensionality,
FdoInt32  numOrdinates,
double *  ordinates
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoILinearRing* FdoFgfGeometryFactory::CreateLinearRing FdoDirectPositionCollection positions  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoILineString* FdoFgfGeometryFactory::CreateLineString FdoInt32  dimensionType,
FdoInt32  numOrdinates,
double *  ordinates
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoILineString* FdoFgfGeometryFactory::CreateLineString FdoDirectPositionCollection positions  )  [virtual]
 

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

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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoILineStringSegment* FdoFgfGeometryFactory::CreateLineStringSegment FdoInt32  dimtype,
FdoInt32  numOrdinates,
double *  ordinates
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoILineStringSegment* FdoFgfGeometryFactory::CreateLineStringSegment FdoDirectPositionCollection positions  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiCurvePolygon* FdoFgfGeometryFactory::CreateMultiCurvePolygon FdoCurvePolygonCollection curvePolygons  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiCurveString* FdoFgfGeometryFactory::CreateMultiCurveString FdoCurveStringCollection curveStrings  )  [virtual]
 

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

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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiGeometry* FdoFgfGeometryFactory::CreateMultiGeometry FdoGeometryCollection geometries  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiLineString* FdoFgfGeometryFactory::CreateMultiLineString FdoLineStringCollection lineStrings  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiPoint* FdoFgfGeometryFactory::CreateMultiPoint FdoInt32  dimensionality,
FdoInt32  numOrdinates,
double *  ordinates
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiPoint* FdoFgfGeometryFactory::CreateMultiPoint FdoPointCollection points  )  [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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIMultiPolygon* FdoFgfGeometryFactory::CreateMultiPolygon FdoPolygonCollection polygons  )  [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

Implements FdoGeometryFactoryAbstract.

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

Creates an 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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIPoint* FdoFgfGeometryFactory::CreatePoint FdoIDirectPosition position  )  [virtual]
 

Point Creates a point object by copying from a position.

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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIPolygon* FdoFgfGeometryFactory::CreatePolygon FdoILinearRing exteriorRing,
FdoLinearRingCollection interiorRings
[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

Implements FdoGeometryFactoryAbstract.

virtual FDO_GEOM_API FdoIRing* FdoFgfGeometryFactory::CreateRing FdoCurveSegmentCollection curveSegments  )  [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

Implements FdoGeometryFactoryAbstract.

FDO_GEOM_API void FdoFgfGeometryFactory::Dispose  )  [protected, virtual]
 

Dispose this object.

Returns:
Returns nothing

Implements FdoIDisposable.

virtual FDO_GEOM_API FdoByteArray* FdoFgfGeometryFactory::GetByteArray  )  [virtual]
 

Get an empty (possibly pooled) byte array.

virtual FDO_GEOM_API FdoByteArray* FdoFgfGeometryFactory::GetFgf FdoIGeometry geometry  )  [virtual]
 

Gets FGF data from a Geometry.

Parameters:
geometry Input a Geometry, which must be FGF-based
Returns:
Returns FGF data representing the Geometry

FDO_GEOM_API FdoFgfGeometryFactory* FdoFgfGeometryFactory::GetInstance  )  [static]
 

Acquires an object of this class.

Remarks:
This class is its own factory. The object returned might not be a new instance, and might not be a private instance. The object returned may maintain internal pools of other objects in this package, for performance. Pools will be small, tuned to transient object use. Objects returned by this factory are safe to pass to other threads (i.e. they won't try to interact with the originating thread).
Returns:
Returns a FdoFgfGeometryFactory object

FDO_GEOM_API FdoFgfGeometryFactory* FdoFgfGeometryFactory::GetPrivateInstance FdoInt32  numGeometries,
FdoInt32  numPositions,
FdoInt32  numEnvelopes,
FdoInt32  numCurveSegments,
FdoInt32  numRings
[static]
 

Instantiates an object of this class.

Remarks:
This class is its own factory. This method will return a new, private instance, with any internal object pools tuned to the input parameters. NOTE: objects created by this factory should NOT be passed between threads.
Parameters:
numGeometries Input Minimum number of geometries to pool.
numPositions Input Minimum number of positions to pool.
numEnvelopes Input Minimum number of envelopes to pool.
numCurveSegments Input Minimum number of curve segments to pool.
numRings Input Minimum number of polygon rings to pool.
Returns:
Returns a FdoFgfGeometryFactory object

virtual FDO_GEOM_API FdoByteArray* FdoFgfGeometryFactory::GetWkb FdoIGeometry geometry  )  [virtual]
 

Gets OpenGIS WKB data from a Geometry.

Parameters:
geometry Input a Geometry, which must be FGF-based
Returns:
Returns WKB data representing the Geometry

virtual FDO_GEOM_API void FdoFgfGeometryFactory::TakeReleasedByteArray FdoByteArray byteArray  )  [virtual]
 

Pool this array, released from some geometry.


Member Data Documentation

FdoFgfGeometryFactory2* FdoFgfGeometryFactory::m_private [protected]
 

DOXYGEN-IGNORE

Definition at line 527 of file Factory.h.


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