File WktWriter.h
File List > detail > io > WktWriter.h
Go to the documentation of this file
// Copyright (c) 2012-2013, IGN France.
// Copyright (c) 2012-2022, Oslandia.
// SPDX-License-Identifier: LGPL-2.0-or-later
#ifndef _SFCGAL_IO_WKTWRITER_H_
#define _SFCGAL_IO_WKTWRITER_H_
#include <sstream>
#include "SFCGAL/Geometry.h"
#include "SFCGAL/config.h"
namespace SFCGAL {
namespace detail {
namespace io {
class SFCGAL_API WktWriter {
public:
WktWriter(std::ostream &s);
void
write(const Geometry &g, bool exact = false);
protected:
void
writeCoordinateType(const Geometry &g);
void
writeCoordinate(const Point &g);
void
write(const Point &g);
void
writeInner(const Point &g);
void
write(const LineString &g);
void
writeInner(const LineString &g);
void
write(const Polygon &g);
void
writeInner(const Polygon &g);
void
write(const GeometryCollection &g);
void
write(const MultiPoint &g);
void
write(const MultiLineString &g);
void
write(const MultiPolygon &g);
void
write(const MultiSolid &g);
void
write(const Triangle &g);
void
writeInner(const Triangle &g);
void
write(const TriangulatedSurface &g);
void
write(const PolyhedralSurface &g);
void
writeInner(const PolyhedralSurface &g);
void
write(const Solid &g);
void
writeInner(const Solid &g);
// for recursive call use
void
writeRec(const Geometry &g);
private:
std::ostream &_s;
bool _exactWrite;
};
} // namespace io
} // namespace detail
} // namespace SFCGAL
#endif