20 #ifndef GEOS_GEOM_PRECISIONMODEL_H
21 #define GEOS_GEOM_PRECISIONMODEL_H
23 #include <geos/export.h>
24 #include <geos/inline.h>
87 class GEOS_DLL PrecisionModel {
88 friend class io::Unload;
120 PrecisionModel(
void);
128 PrecisionModel(Type nModelType);
145 PrecisionModel(
double newScale,
double newOffsetX,
double newOffsetY);
158 PrecisionModel(
double newScale);
161 PrecisionModel(
const PrecisionModel& pm);
164 ~PrecisionModel(
void);
173 static const double maximumPreciseValue;
185 double makePrecise(
double val)
const;
188 void makePrecise(Coordinate& coord)
const;
190 void makePrecise(Coordinate* coord)
const;
197 bool isFloating()
const;
209 int getMaximumSignificantDigits()
const;
215 Type getType()
const;
218 double getScale()
const;
226 double getOffsetX()
const;
234 double getOffsetY()
const;
279 std::string toString()
const;
300 int compareTo(
const PrecisionModel* other)
const;
311 void setScale(
double newScale);
327 # include "geos/geom/PrecisionModel.inl"
330 #endif // ndef GEOS_GEOM_PRECISIONMODEL_H