1#ifndef OSMSCOUT_UTIL_MERCATORPROJECTION_H
2#define OSMSCOUT_UTIL_MERCATORPROJECTION_H
82 return coord.GetLat() >=
MinLat && coord.GetLat() <=
MaxLat &&
86 bool Set(
const GeoCoord& coord,
93 bool Set(
const GeoCoord& coord,
101 bool Set(
const GeoCoord& coord,
131 bool Set(
const GeoCoord& coord,
138 GeoCoord& coord)
const override;
141 Vertex2D& pixel)
const override;
148 return Move(0,pixel);
153 return Move(0,-pixel);
158 return Move(-pixel,0);
163 return Move(pixel,0);
#define OSMSCOUT_API
Definition CoreImportExport.h:45
static const double MaxLon
Definition MercatorProjection.h:60
bool MoveLeft(double pixel)
Definition MercatorProjection.h:156
bool IsLinearInterpolationEnabled() const
Definition MercatorProjection.h:166
MercatorProjection(const MercatorProjection &)=default
bool CanBatch() const override
Definition MercatorProjection.h:70
MercatorProjection()=default
double scaledLatDeriv
center scaled by gradtorad * scale
Definition MercatorProjection.h:53
bool Set(const GeoCoord &coord, double angle, const Magnification &magnification, double dpi, size_t width, size_t height)
void GeoToPixel(const BatchTransformer &transformData) const override
double scale
Definition MercatorProjection.h:50
double angleCos
Definition MercatorProjection.h:46
bool GeoToPixel(const GeoCoord &coord, Vertex2D &pixel) const override
bool useLinearInterpolation
switch to enable linear interpolation of latitude to pixel computation
Definition MercatorProjection.h:55
double angleNegCos
Definition MercatorProjection.h:48
bool PixelToGeo(double x, double y, GeoCoord &coord) const override
bool MoveUp(double pixel)
Definition MercatorProjection.h:146
bool Move(double horizPixel, double vertPixel)
bool MoveDown(double pixel)
Definition MercatorProjection.h:151
double latOffset
Absolute and untransformed screen position of lat coordinate.
Definition MercatorProjection.h:44
double scaleGradtorad
Precalculated scale*Gradtorad.
Definition MercatorProjection.h:51
double angleSin
Definition MercatorProjection.h:45
~MercatorProjection() override=default
static const double MaxLat
Definition MercatorProjection.h:58
double angleNegSin
Definition MercatorProjection.h:47
bool valid
projection is valid
Definition MercatorProjection.h:42
MercatorProjection & operator=(MercatorProjection &&)=default
bool IsValidFor(const GeoCoord &coord) const override
Definition MercatorProjection.h:80
void SetLinearInterpolationUsage(bool useLinearInterpolation)
Definition MercatorProjection.h:175
bool Set(const GeoCoord &coord, const Magnification &magnification, double dpi, size_t width, size_t height)
Definition MercatorProjection.h:101
static const double MinLon
Definition MercatorProjection.h:61
MercatorProjection(MercatorProjection &&)=default
bool IsValid() const override
Definition MercatorProjection.h:75
static const double MinLat
Definition MercatorProjection.h:59
MercatorProjection & operator=(const MercatorProjection &)=default
bool Set(const GeoCoord &coord, double angle, const Magnification &magnification, size_t width, size_t height)
Definition MercatorProjection.h:93
bool MoveRight(double pixel)
Definition MercatorProjection.h:161
bool Set(const GeoCoord &coord, const Magnification &magnification, size_t width, size_t height)
Definition MercatorProjection.h:86
size_t width
Width of image.
Definition Projection.h:52
size_t height
Height of image.
Definition Projection.h:53
friend class BatchTransformer
Definition Projection.h:341
double GetDPI() const
Definition Projection.h:250
double angle
Display rotation angle in radians, canvas clockwise.
Definition Projection.h:49
double dpi
Screen DPI.
Definition Projection.h:51
Magnification magnification
Current magnification.
Definition Projection.h:50