19 #ifndef GEOS_ALGORITHM_MINIMUMBOUNDINGCIRCLE_H 20 #define GEOS_ALGORITHM_MINIMUMBOUNDINGCIRCLE_H 22 #include <geos/export.h> 23 #include <geos/geom/Coordinate.h> 24 #include <geos/geom/CoordinateSequence.h> 25 #include <geos/geom/Geometry.h> 26 #include <geos/geom/Point.h> 27 #include <geos/geom/Triangle.h> 42 class GEOS_DLL MinimumBoundingCircle {
47 const geom::Geometry* input;
48 std::vector<geom::Coordinate> extremalPts;
49 geom::Coordinate centre;
54 void computeCirclePoints();
55 geom::Coordinate lowestPoint(std::vector<geom::Coordinate>& pts);
56 geom::Coordinate pointWitMinAngleWithX(std::vector<geom::Coordinate>& pts, geom::Coordinate& P);
57 geom::Coordinate pointWithMinAngleWithSegment(std::vector<geom::Coordinate>& pts,
58 geom::Coordinate& P, geom::Coordinate& Q);
63 MinimumBoundingCircle(
const geom::Geometry* geom):
71 ~MinimumBoundingCircle() {};
84 std::unique_ptr<geom::Geometry> getCircle();
96 std::unique_ptr<geom::Geometry> getFarthestPoints();
106 std::unique_ptr<geom::Geometry> getDiameter();
116 std::vector<geom::Coordinate> getExtremalPoints();
124 geom::Coordinate getCentre();
138 #endif // GEOS_ALGORITHM_MINIMUMBOUNDINGCIRCLE_H Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25