17#include <geos/export.h>
19#include <geos/geom/CoordinateFilter.h>
20#include <geos/geom/Coordinate.h>
47class GEOS_DLL PrecisionUtil {
64 static double maxBoundMagnitude(
const Envelope* env);
80 static double precisionScale(
double value,
int precisionDigits);
86 static constexpr int MAX_ROBUST_DP_DIGITS = 14;
101 static PrecisionModel
robustPM(
const Geometry* a,
const Geometry* b);
156 static double safeScale(
const Geometry* a,
const Geometry* b);
210 class GEOS_DLL InherentScaleFilter:
public CoordinateFilter {
216 void updateScaleMax(
double value) {
218 if (scaleVal > scale) {
225 InherentScaleFilter()
231 updateScaleMax(coord->x);
232 updateScaleMax(coord->y);
235 double getScale()
const {
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition CoordinateFilter.h:43
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:196
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:87
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)
Provides classes for implementing operations on geometries.
Definition CleanCoverage.h:34
Basic namespace for all GEOS functionalities.
Definition geos.h:38