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
00054 virtual CoordinateSequence *create() const=0;
00055
00071 virtual CoordinateSequence *create(
00072 std::vector<Coordinate> *coordinates,
00073 std::size_t dimension=0 ) const=0;
00074
00085 virtual CoordinateSequence *create(std::size_t size,
00086 std::size_t dimension=0) const=0;
00087
00095 virtual CoordinateSequence *create(const CoordinateSequence &coordSeq) const=0;
00096
00097 virtual ~CoordinateSequenceFactory();
00098 };
00099
00100 }
00101 }
00102
00103
00104
00105
00106
00107 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFACTORY_H