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::Coordinate> extremalPts;
48 geom::Coordinate centre;
53 void computeCirclePoints();
54 geom::Coordinate lowestPoint(std::vector<geom::Coordinate>& pts);
55 geom::Coordinate pointWitMinAngleWithX(std::vector<geom::Coordinate>& pts, geom::Coordinate& P);
56 geom::Coordinate pointWithMinAngleWithSegment(std::vector<geom::Coordinate>& pts,
57 geom::Coordinate& P, geom::Coordinate& Q);
58 std::vector<geom::Coordinate> farthestPoints(std::vector<geom::Coordinate>& 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::Coordinate> getExtremalPoints();
124 geom::Coordinate getCentre();
Basic namespace for all GEOS functionalities.
Definition: geos.h:39