GEOS
3.14.0dev
|
#include <MaximumInscribedCircle.h>
Public Member Functions | |
MaximumInscribedCircle (const geom::Geometry *polygonal, double tolerance) | |
std::unique_ptr< geom::Point > | getCenter () |
std::unique_ptr< geom::Point > | getRadiusPoint () |
std::unique_ptr< geom::LineString > | getRadiusLine () |
Static Public Member Functions | |
static std::unique_ptr< geom::Point > | getCenter (const geom::Geometry *polygonal, double tolerance) |
static std::unique_ptr< geom::LineString > | getRadiusLine (const geom::Geometry *polygonal, double tolerance) |
static std::size_t | computeMaximumIterations (const geom::Geometry *geom, double toleranceDist) |
Computes the Euclidean distance (L2 metric) from a Point to a Geometry.
Also computes two points which are separated by the distance.
|
static |
Computes the maximum number of iterations allowed. Uses a heuristic based on the area of the input geometry and the tolerance distance. The number of tolerance-sized cells that cover the input geometry area is computed, times a safety factor. This prevents massive numbers of iterations and created cells for casees where the input geometry has extremely small area (e.g. is very thin).
geom | the input geometry |
toleranceDist | the tolerance distance |
std::unique_ptr<geom::Point> geos::algorithm::construct::MaximumInscribedCircle::getCenter | ( | ) |
Gets the center point of the maximum inscribed circle (up to the tolerance distance).
|
static |
Computes the center point of the Maximum Inscribed Circle of a polygonal geometry, up to a given tolerance distance.
polygonal | a polygonal geometry |
tolerance | the distance tolerance for computing the center point |
std::unique_ptr<geom::LineString> geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine | ( | ) |
Gets a line representing a radius of the Largest Empty Circle.
|
static |
Computes a radius line of the Maximum Inscribed Circle of a polygonal geometry, up to a given tolerance distance.
polygonal | a polygonal geometry |
tolerance | the distance tolerance for computing the center point |
std::unique_ptr<geom::Point> geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint | ( | ) |
Gets a point defining the radius of the Maximum Inscribed Circle. This is a point on the boundary which is nearest to the computed center of the Maximum Inscribed Circle. The line segment from the center to this point is a radius of the constructed circle, and this point lies on the boundary of the circle.