23#include <geos/export.h>
27#include <geos/geom/Coordinate.h>
31#pragma warning(disable: 4251)
71 geom::CoordinateXY base;
72 geom::CoordinateXY centre;
75 void setBase(
const geom::CoordinateXY& newBase);
76 void setCentre(
const geom::CoordinateXY& newCentre);
82 std::unique_ptr<geom::Envelope> getEnvelope()
const;
89 geom::CoordinateXY coord(
double x,
double y)
const;
115 std::unique_ptr<geom::LineString>
createArc(
double startAng,
double angExtent);
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Definition LineString.h:66
Represents a linear polygon, which may include holes.
Definition Polygon.h:61
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:88
std::unique_ptr< geom::Polygon > createRectangle()
Creates a rectangular Polygon.
void setHeight(double height)
Sets the height of the shape.
void setNumPoints(uint32_t nNPts)
Sets the total number of points in the created Geometry.
GeometricShapeFactory(const geom::GeometryFactory *factory)
Create a shape factory which will create shapes using the given GeometryFactory.
std::unique_ptr< geom::Polygon > createCircle()
Creates a circular Polygon.
std::unique_ptr< geom::Polygon > createArcPolygon(double startAng, double angExt)
Creates an elliptical arc polygon.
void setCentre(const geom::CoordinateXY ¢re)
Sets the location of the shape by specifying the centre of the shape's bounding box.
void setWidth(double width)
Sets the width of the shape.
std::unique_ptr< geom::LineString > createArc(double startAng, double angExtent)
Creates an elliptical arc, as a LineString.
void setBase(const geom::CoordinateXY &base)
Sets the location of the shape by specifying the base coordinate (which in most cases is the * lower ...
void setSize(double size)
Sets the size of the extent of the shape in both x and y directions.
Utility classes for GEOS.
Definition namespaces.h:314
Basic namespace for all GEOS functionalities.
Definition geos.h:39