21#include <geos/export.h>
23#include <geos/geom/Coordinate.h>
24#include <geos/geom/Envelope.h>
25#include <geos/geom/GeometryFactory.h>
26#include <geos/geom/LineSegment.h>
34class GEOS_DLL GeometricShapeBuilder {
36 GeometricShapeBuilder();
37 explicit GeometricShapeBuilder(
const geom::GeometryFactory* gf);
39 virtual ~GeometricShapeBuilder() =
default;
46 void setExtent(
const geom::Envelope& env);
53 const geom::Envelope& getExtent()
const;
55 geom::CoordinateXY getCentre()
const;
57 double getDiameter()
const;
59 double getRadius()
const;
61 geom::LineSegment getSquareBaseLine()
const;
63 geom::Envelope getSquareExtent()
const;
70 void setNumPoints(std::size_t n);
72 virtual std::unique_ptr<geom::Geometry> getGeometry() = 0;
75 geom::CoordinateXY createCoord(
double x,
double y)
const;
77 const geom::GeometryFactory* geometryFactory;
78 geom::Envelope extent;
Basic namespace for all GEOS functionalities.
Definition geos.h:38