00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_GEOM_COORDINATESEQUENCEFACTORY_H
00020 #define GEOS_GEOM_COORDINATESEQUENCEFACTORY_H
00021
00022
00023 #include <geos/export.h>
00024 #include <vector>
00025
00026
00027 #include <geos/inline.h>
00028
00029
00030 namespace geos {
00031 namespace geom {
00032 class CoordinateSequence;
00033 class Coordinate;
00034 }
00035 }
00036
00037 namespace geos {
00038 namespace geom {
00039
00047 class GEOS_DLL CoordinateSequenceFactory {
00048 public:
00049
00065 virtual CoordinateSequence *create(
00066 std::vector<Coordinate> *coordinates,
00067 std::size_t dimension=0 ) const=0;
00068
00079 virtual CoordinateSequence *create(std::size_t size,
00080 std::size_t dimension) const=0;
00081
00089 virtual CoordinateSequence *create(const CoordinateSequence &coordSeq) const=0;
00090
00091 virtual ~CoordinateSequenceFactory();
00092 };
00093
00094 }
00095 }
00096
00097
00098
00099
00100
00101 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFACTORY_H