23#include <geos/export.h>
24#include <geos/geom/GeometryCollection.h>
25#include <geos/geom/Dimension.h>
26#include <geos/geom/LineString.h>
27#include <geos/geom/MultiPoint.h>
45#pragma warning(disable:4250)
53 friend class GeometryFactory;
84 std::unique_ptr<MultiLineString> getLinearized(
const algorithm::CurveToLineParams&)
const {
88 bool isClosed()
const;
90 std::unique_ptr<MultiLineString> clone()
const
92 return std::unique_ptr<MultiLineString>(cloneImpl());
104 std::unique_ptr<MultiLineString>
reverse()
const {
return std::unique_ptr<MultiLineString>(
reverseImpl()); }
126 const GeometryFactory& newFactory);
129 const GeometryFactory& newFactory);
132 const GeometryFactory& newFactory);
135 : GeometryCollection(mp)
142 GeometryCollection* getCurvedImpl(
const algorithm::LineToCurveParams&)
const override;
144 MultiLineString* getLinearizedImpl(
const algorithm::CurveToLineParams&)
const override;
147 getSortIndex()
const override
149 return SORTINDEX_MULTILINESTRING;
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:220
DimensionType
Definition Dimension.h:29
@ L
Dimension value of a curve (1).
Definition Dimension.h:43
Definition LineString.h:66
MultiLineString(std::vector< std::unique_ptr< LineString > > &&newLines, const GeometryFactory &newFactory)
Constructs a MultiLineString.
bool hasDimension(Dimension::DimensionType d) const override
Checks whether any component of this geometry has dimension d.
Definition MultiLineString.h:60
bool isDimensionStrict(Dimension::DimensionType d) const override
Checks whether this Geometry consists only of components having dimension d.
Definition MultiLineString.h:64
Dimension::DimensionType getDimension() const override
Returns line dimension (1).
MultiLineString * reverseImpl() const override
Make a geometry with coordinates in reverse order.
const LineString * getGeometryN(std::size_t n) const override
Returns a pointer to the nth Geometry in this collection.
MultiLineString * cloneImpl() const override
Make a deep-copy of this Geometry.
Definition MultiLineString.h:138
bool hasCurvedComponents() const override
Returns whether the Geometry contains curved components.
Definition MultiLineString.h:152
GeometryTypeId getGeometryTypeId() const override
Return an integer representation of this Geometry type.
std::string getGeometryType() const override
Return a string representation of this Geometry type.
std::unique_ptr< MultiLineString > reverse() const
Definition MultiLineString.h:104
int getBoundaryDimension() const override
Returns Dimension::False if all LineStrings in the collection are closed, 0 otherwise.
std::unique_ptr< Geometry > getBoundary() const override
Returns a (possibly empty) MultiPoint.
GeometryTypeId
Geometry types.
Definition Geometry.h:78
Basic namespace for all GEOS functionalities.
Definition geos.h:38