12 #ifndef DtMultiResPaperMap_H_
13 #define DtMultiResPaperMap_H_
17 #include <vlutil/vlFilename.h>
19 #include <QtGui/QImage>
20 #include <QtCore/QHash>
26 class Coordinate_System;
48 const DtFilename& path,
49 DtPaperMapRecord* paperMapRec,
50 const Coordinate_System* coordSys
53 virtual bool loadImage(
const DtFilename & imageFile,
const Coordinate_System * coordSys);
59 const DtFilename& mtlFilename()
const;
61 void setCacheImages(
bool);
62 bool cacheImages()
const;
64 virtual void setMapFolder(
const DtFilename & folder);
65 virtual const DtFilename & mapFolder()
const;
70 static void setAllowOptimization(
bool);
71 static bool allowOptimization();
78 const Coordinate_System* coordSys,
79 const DtExtent& viewportExtent,
81 DtPoint& bitmapLocation,
82 int &scaledBitmapSizeX,
83 int &scaledBitmapSizeY,
86 QColor* backgroundColor
95 const Coordinate_System* coordSys,
96 const DtExtent& viewportExtent,
98 DtPoint& bitmapLocation,
99 int &scaledBitmapSizeX,
100 int &scaledBitmapSizeY,
102 QColor* backgroundColor,
108 virtual bool drawAsImage()
const;
110 virtual void emptyActiveMapList();
111 virtual void emptyCachedMapList();
113 virtual bool addMapToActiveList(
DtRasterMap * map);
114 virtual bool recheckMaps(
const DtExtent& dbExtent,
double resolution, QSize& imageSizeFull, QSize& imageSizeSet,
115 const Coordinate_System* coordSys, DtExtent& globalExtent);
117 virtual void paintMap(
const Coordinate_System* coordSys,
119 int pixWidth,
int pixHeight,
const DtExtent& dbExtent);
121 const DtExtent& dbExtent, QPoint& topLeft, QPoint& bottomRight);
124 DtExtent& intersectionRect);
126 virtual bool loadRasterSet(
const DtFilename &filename,
const Coordinate_System* coordSys);
127 virtual void unloadRasterSet();
129 virtual void getXandYIncrements(
const Coordinate_System* coordSys,
130 double& xIncrement,
double& yIncrement);
131 virtual void initCacheInformation(
const Coordinate_System* coordSys);
132 virtual double resolutionFor(
const Coordinate_System* coordSys,
const DtExtent& extent);
135 virtual void imageShift(
const Coordinate_System* coordSys,
const DtExtent& dbExtent);