27 #include "../core/translator/Translator.h" 105 for(std::size_t i = 0; i < size; ++i)
149 const std::size_t nPts = visited.
size();
151 if(visited.
getZ() ==
nullptr && visited.
getM() ==
nullptr)
153 for(std::size_t i = 0; i < nPts; ++i)
161 else if(visited.
getM() ==
nullptr)
163 for(std::size_t i = 0; i < nPts; ++i)
171 else if(visited.
getZ() ==
nullptr)
173 for(std::size_t i = 0; i < nPts; ++i)
183 for(std::size_t i = 0; i < nPts; ++i)
224 visit(static_cast<const GeometryCollection&>(visited));
256 visit(static_cast<const GeometryCollection&>(visited));
288 visit(static_cast<const GeometryCollection&>(visited));
354 for(std::size_t i = 0; i < size; ++i)
PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments...
std::size_t getNumRings() const
It returns the number of rings in this CurvePolygon.
std::size_t getNumGeometries() const
It returns the number of geometries in this GeometryCollection.
std::ostream & m_ostream
The output stream used to serialize the geometry to WKT.
MultiPolygon is a MultiSurface whose elements are Polygons.
A class that serializes a geometry to the WKT format.
A LinearRing is a LineString that is both closed and simple.
Coord2D * getCoordinates() const
It returns a pointer to the internal array of coordinates.
GeomType getGeomTypeId() const _NOEXCEPT_OP(true)
It returns the geometry subclass type identifier.
A point with x and y coordinate values.
virtual ReturnType accept(VisitorType &guest) const =0
It call the visit method from the guest object.
PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments...
MultiPoint is a GeometryCollection whose elements are restricted to points.
TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches...
A LinearRing is a LineString that is both closed and simple.
MultiPoint is a GeometryCollection whose elements are restricted to points.
LineString is a curve with linear interpolation between points.
Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary.
const double & getY() const
It returns the Point y-coordinate value.
A point with x and y coordinate values.
MultiLineString is a MultiCurve whose elements are LineStrings.
void write(const Geometry *geom)
It serializes the geometry to a WKT representation.
virtual void visit(const Curve &)
MultiPolygon is a MultiSurface whose elements are Polygons.
const double & getZ() const
It returns the Point z-coordinate value, if it has one or DoubleNotANumber otherwise.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
Geometry * getGeometryN(std::size_t i) const
It returns the n-th geometry in this GeometryCollection.
MultiLineString is a MultiCurve whose elements are LineStrings.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
WKTWriter(std::ostream &o)
It constructs a new WKT writer.
const double & getM() const
It returns the Point m-coordinate value, if it has one or DoubleNotANumber otherwise.
const double & getZ(std::size_t i) const
It returns the n-th z coordinate value.
const double & getM(std::size_t i) const
It returns the n-th m measure value.
It is a collection of other geometric objects.
An exception class for the Geometry module.
bool m_tagged
This flag controls how geometry are write to the output stream.
const double & getX() const
It returns the Point x-coordinate value.
A class that serializes a geometry to the WKT format.
It is a collection of other geometric objects.
std::size_t size() const
It returns the number of points (vertexes) in the geometry.