20 #ifndef GEOS_ALGORITHM_MINIMUMDIAMETER_H
21 #define GEOS_ALGORITHM_MINIMUMDIAMETER_H
23 #include <geos/geom/Coordinate.h>
24 #include <geos/geom/LineSegment.h>
27 #include <geos/export.h>
34 class CoordinateSequence;
68 std::unique_ptr<geom::CoordinateSequence> convexHullPts;
74 void computeMinimumDiameter();
116 const bool newIsConvex);
Computes the minimum diameter of a geom::Geometry.
Definition: MinimumDiameter.h:63
const geom::Coordinate & getWidthCoordinate()
Gets the geom::Coordinate forming one end of the minimum diameter.
std::unique_ptr< geom::LineString > getSupportingSegment()
Gets the segment forming the base of the minimum diameter.
std::unique_ptr< geom::Geometry > getMinimumRectangle()
Gets the minimum rectangular Polygon which encloses the input geometry.
static std::unique_ptr< geom::Geometry > getMinimumRectangle(geom::Geometry *geom)
Gets the minimum rectangle enclosing a geometry.
static std::unique_ptr< geom::Geometry > getMinimumDiameter(geom::Geometry *geom)
Gets the length of the minimum diameter enclosing a geometry.
double getLength()
Gets the length of the minimum diameter of the input Geometry.
MinimumDiameter(const geom::Geometry *newInputGeom)
Compute a minimum diameter for a given Geometry.
MinimumDiameter(const geom::Geometry *newInputGeom, const bool newIsConvex)
Compute a minimum diameter for a given Geometry, with a hint if the Geometry is convex (e....
std::unique_ptr< geom::LineString > getDiameter()
Gets a LineString which is a minimum diameter.
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Definition: LineSegment.h:59
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26