26 #ifndef __TERRALIB_MAPTOOLS_INTERNAL_WORLDDEVICETRANSFORMER_H
27 #define __TERRALIB_MAPTOOLS_INTERNAL_WORLDDEVICETRANSFORMER_H
29 #include "../common/MathUtils.h"
68 const double& wurx,
const double& wury,
69 int deviceWidth,
int deviceHeight);
93 const double& wurx,
const double& wury,
94 int deviceWidth,
int deviceHeight);
115 void world2Device(
double* line,
unsigned int npoints,
double* pts);
125 void world2Device(
const double& wx,
const double& wy,
double& dx,
double& dy)
const;
145 void device2World(
int dx,
int dy,
double& wx,
double& wy)
const;
184 const double& wurx,
const double& wury,
185 int deviceWidth,
int deviceHeight)
195 const double& wurx,
const double& wury,
196 int deviceWidth,
int deviceHeight)
198 double worldWidth = wurx - wllx;
199 double worldHeight = wury - wlly;
201 double muppX = worldWidth /
static_cast<double>(deviceWidth);
202 double muppY = worldHeight /
static_cast<double>(deviceHeight);
209 double whitespace = ((
static_cast<double>(deviceWidth) *
m_mapUnitsPP) - worldWidth) * 0.5;
210 m_wllx = wllx - whitespace;
211 m_wurx = wurx + whitespace;
218 double whitespace = ((
static_cast<double>(deviceHeight) *
m_mapUnitsPP) - worldHeight) * 0.5;
219 m_wlly = wlly - whitespace;
220 m_wury = wury + whitespace;
233 const unsigned int nstep = 2 * npoints;
235 for(
unsigned int i = 0; i != nstep; i+=2)
243 double& dx,
double& dy)
const
256 double& wx,
double& wy)
const
269 return te::common::Round< double, int >(delta /
m_mapUnitsPP);