29 #ifndef __TERRALIB_GEOMETRY_INTERNAL_WKTACTIONS_H
30 #define __TERRALIB_GEOMETRY_INTERNAL_WKTACTIONS_H
36 #include <boost/spirit/include/qi.hpp>
47 class PolyhedralSurface;
84 void createPoint(
const boost::fusion::vector2<double, double>& c);
86 void createPointZ(
const boost::fusion::vector3<double, double, double>& c);
88 void createPointM(
const boost::fusion::vector3<double, double, double>& c);
90 void createPointZM(
const boost::fusion::vector4<double, double, double, double>& c);
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
LineString is a curve with linear interpolation between points.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments.
A class that implements the Grammar Rules for well known text (WKT) format for Geometry.
void createPointZ(const boost::fusion::vector3< double, double, double > &c)
void createMultiSurfaceZM()
void createMultiPolygonM()
void createMultiPolygonZM()
void createMultiPointZM()
void buildLine(LineString *l)
void createPolyhedralSurfaceM()
void createMultiLineStringZ()
void createPolyhedralSurface()
void buildMultiPoint(const GeomType &t)
void createMultiPolygon()
Geometry * getGeometry()
It returns the geometry generated by the parser process.
void createMultiLineString()
std::vector< Point * > m_points
void createMultiSurfaceZ()
std::vector< LineString * > m_lines
void createPointM(const boost::fusion::vector3< double, double, double > &c)
void buildMultiPolygon(const GeomType &t)
void createMultiSurface()
void buildPolygon(const GeomType &t)
void createGeometryCollectionZM()
void buildPolygon(Polygon *p)
void createGeometryCollectionZ()
void reset()
This method resets the Action class to original state.
void buildMultiSurface(const GeomType &t)
void createGeometryCollection()
void createPoint(const boost::fusion::vector2< double, double > &c)
void createMultiLineStringZM()
void buildGeometryCollection(const GeomType &t)
void createPointZM(const boost::fusion::vector4< double, double, double, double > &c)
std::vector< Polygon * > m_polygons
void buildMultiLineString(const GeomType &t)
void createMultiLineStringM()
void createPolyhedralSurfaceZM()
std::vector< Geometry * > m_geometries
WKTActions()
Default constructor.
void createMultiSurfaceM()
void createMultiPolygonZ()
void createGeometryCollectionM()
void buildPolyhedralSurface(PolyhedralSurface *ps)
void createPolyhedralSurfaceZ()
void createLinearRingZM()
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
Enumerations of XML module.