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);