21#include <geos/export.h>
22#include <geos/geom/Coordinate.h>
23#include <geos/geom/CoordinateSequence.h>
24#include <geos/geom/Geometry.h>
25#include <geos/geom/Point.h>
26#include <geos/geom/Triangle.h>
41class GEOS_DLL MinimumBoundingCircle {
46 const geom::Geometry* input;
47 std::vector<geom::CoordinateXY> extremalPts;
48 geom::CoordinateXY centre;
53 void computeCirclePoints();
54 geom::CoordinateXY lowestPoint(std::vector<geom::CoordinateXY>& pts);
55 geom::CoordinateXY pointWitMinAngleWithX(std::vector<geom::CoordinateXY>& pts, geom::CoordinateXY& P);
56 geom::CoordinateXY pointWithMinAngleWithSegment(std::vector<geom::CoordinateXY>& pts,
57 geom::CoordinateXY& P, geom::CoordinateXY& Q);
58 std::vector<geom::CoordinateXY> farthestPoints(std::vector<geom::CoordinateXY>& pts);
63 MinimumBoundingCircle(
const geom::Geometry* geom):
71 ~MinimumBoundingCircle() {};
84 std::unique_ptr<geom::Geometry> getCircle();
96 std::unique_ptr<geom::Geometry> getMaximumDiameter();
106 std::unique_ptr<geom::Geometry> getDiameter();
116 std::vector<geom::CoordinateXY> getExtremalPoints();
124 geom::CoordinateXY getCentre();
Basic namespace for all GEOS functionalities.
Definition geos.h:39