17#include <geos/export.h>
19#include <geos/geom/CoordinateFilter.h>
20#include <geos/geom/Coordinate.h>
53 static double robustScale(
double inherentScale,
double safeScale);
62 static double maxBoundMagnitude(
const Envelope* env);
78 static double precisionScale(
double value,
int precisionDigits);
84 static constexpr int MAX_ROBUST_DP_DIGITS = 14;
214 void updateScaleMax(
double value) {
216 if (scaleVal > scale) {
229 updateScaleMax(coord->
x);
230 updateScaleMax(coord->
y);
233 double getScale()
const {
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition: CoordinateFilter.h:41
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
double y
y-coordinate
Definition: Coordinate.h:81
double x
x-coordinate
Definition: Coordinate.h:78
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:90
Definition: PrecisionUtil.h:208
void filter_ro(const geom::Coordinate *coord) override
Performs an operation with coord.
Definition: PrecisionUtil.h:227
Definition: PrecisionUtil.h:49
static double inherentScale(const Geometry *geom)
static double robustScale(const Geometry *a, const Geometry *b)
static PrecisionModel robustPM(const Geometry *a, const Geometry *b)
static double safeScale(const Geometry *a, const Geometry *b)
static double inherentScale(double value)
static double robustScale(const Geometry *a)
static int numberOfDecimals(double value)
static PrecisionModel robustPM(const Geometry *a)
static double safeScale(double value)
static double inherentScale(const Geometry *a, const Geometry *b)
static double safeScale(const Geometry *geom)
Basic namespace for all GEOS functionalities.
Definition: geos.h:39