GEOS
3.9.1dev
|
#include <MaximumInscribedCircle.h>
Classes | |
class | Cell |
Public Member Functions | |
MaximumInscribedCircle (const geom::Geometry *polygonal, double tolerance) | |
~MaximumInscribedCircle ()=default | |
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) |
Private Member Functions | |
double | distanceToBoundary (const geom::Coordinate &c) |
double | distanceToBoundary (double x, double y) |
void | compute () |
void | createInitialGrid (const geom::Envelope *env, std::priority_queue< Cell > &cellQueue) |
Cell | createCentroidCell (const geom::Geometry *geom) |
Private Attributes | |
const geom::Geometry * | inputGeom |
std::unique_ptr< geom::Geometry > | inputGeomBoundary |
double | tolerance |
IndexedFacetDistance | indexedDistance |
IndexedPointInAreaLocator | ptLocator |
const geom::GeometryFactory * | factory |
bool | done |
geom::Coordinate | centerPt |
geom::Coordinate | radiusPt |
Computes the Euclidean distance (L2 metric) from a Point to a Geometry.
Also computes two points which are separated by the distance.
Definition at line 57 of file MaximumInscribedCircle.h.
geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle | ( | const geom::Geometry * | polygonal, |
double | tolerance | ||
) |
|
default |
|
private |
|
private |
|
private |
|
private |
|
private |
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.
|
private |
Definition at line 121 of file MaximumInscribedCircle.h.
|
private |
Definition at line 120 of file MaximumInscribedCircle.h.
|
private |
Definition at line 119 of file MaximumInscribedCircle.h.
|
private |
Definition at line 117 of file MaximumInscribedCircle.h.
|
private |
Definition at line 114 of file MaximumInscribedCircle.h.
|
private |
Definition at line 115 of file MaximumInscribedCircle.h.
|
private |
Definition at line 118 of file MaximumInscribedCircle.h.
|
private |
Definition at line 122 of file MaximumInscribedCircle.h.
|
private |
Definition at line 116 of file MaximumInscribedCircle.h.