00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GEOS_GEOS_MULTILINESTRING_H
00022 #define GEOS_GEOS_MULTILINESTRING_H
00023
00024 #include <geos/export.h>
00025 #include <geos/geom/GeometryCollection.h>
00026
00027 #include <geos/geom/Dimension.h>
00028
00029 #include <string>
00030 #include <vector>
00031
00032 #include <geos/inline.h>
00033
00034
00035 namespace geos {
00036 namespace geom {
00037 class Coordinate;
00038 class CoordinateArraySequence;
00039 }
00040 }
00041
00042 namespace geos {
00043 namespace geom {
00044
00046 class GEOS_DLL MultiLineString: public GeometryCollection {
00047
00048 public:
00049
00050 friend class GeometryFactory;
00051
00052 virtual ~MultiLineString();
00053
00055 Dimension::DimensionType getDimension() const;
00056
00062 int getBoundaryDimension() const;
00063
00065 Geometry* getBoundary() const;
00066
00067 std::string getGeometryType() const;
00068
00069 virtual GeometryTypeId getGeometryTypeId() const;
00070
00071 bool isClosed() const;
00072
00073 bool equalsExact(const Geometry *other, double tolerance=0) const;
00074
00075 Geometry *clone() const;
00076
00086 MultiLineString* reverse() const;
00087
00088 protected:
00089
00109 MultiLineString(std::vector<Geometry *> *newLines,
00110 const GeometryFactory *newFactory);
00111
00112 MultiLineString(const MultiLineString &mp);
00113 };
00114
00115 }
00116 }
00117
00118 #ifdef GEOS_INLINE
00119 # include "geos/geom/MultiLineString.inl"
00120 #endif
00121
00122 #endif // ndef GEOS_GEOS_MULTILINESTRING_H
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143