21 #ifndef GEOS_UTIL_GEOMETRICSHAPEFACTORY_H
22 #define GEOS_UTIL_GEOMETRICSHAPEFACTORY_H
24 #include <geos/export.h>
28 #include <geos/geom/Coordinate.h>
32 #pragma warning(disable: 4251)
41 class GeometryFactory;
78 void setSize(
double size);
79 void setWidth(
double nWidth);
80 void setHeight(
double nHeight);
83 std::unique_ptr<geom::Envelope> getEnvelope()
const;
116 std::unique_ptr<geom::LineString>
createArc(
double startAng,
double angExtent);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
Computes various kinds of common geometric shapes.
Definition: GeometricShapeFactory.h:67
std::unique_ptr< geom::Polygon > createRectangle()
Creates a rectangular Polygon.
std::unique_ptr< geom::LineString > createArc(double startAng, double angExtent)
Creates an elliptical arc, as a LineString.
void setHeight(double height)
Sets the height of the shape.
std::unique_ptr< geom::Polygon > createCircle()
Creates a circular Polygon.
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.
void setBase(const geom::Coordinate &base)
Sets the location of the shape by specifying the base coordinate (which in most cases is the * lower ...
void setWidth(double width)
Sets the width of the shape.
void setCentre(const geom::Coordinate ¢re)
Sets the location of the shape by specifying the centre of the shape's bounding box.
std::unique_ptr< geom::Polygon > createArcPolygon(double startAng, double angExt)
Creates an elliptical arc polygon.
void setSize(double size)
Sets the size of the extent of the shape in both x and y directions.
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26