8
8
#define NOT_IMPLEMENTED std::cerr << __PRETTY_FUNCTION__ << " : not implemented yet."
9
9
10
10
QctMapDB::QctMapDB (const QString& name)
11
- : MapDB(name)
11
+ : MapDB(name), mQctFile(name.toStdString())
12
12
{
13
13
if (!QFile (name).exists ())
14
14
throw std::runtime_error (" Specified file " + name.toStdString () + " is not present on disk." );
15
15
16
16
std::cerr << " Reading Qct file " + name.toStdString () << std::endl;
17
17
18
- mQctFile .readFilename (name.toStdString ().c_str (),true ,nullptr );
19
-
20
18
double lat_00, lon_00, lat_10, lon_10, lat_01, lon_01, lat_11, lon_11 ;
21
19
mQctFile .computeLatLonLimits (lat_00, lon_00, lat_10, lon_10, lat_01, lon_01, lat_11, lon_11 );
22
20
@@ -29,13 +27,28 @@ QctMapDB::QctMapDB(const QString& name)
29
27
std::cerr << " Area is axis aligned. Good." << std::endl;
30
28
else
31
29
std::cerr << " Area is not axis aligned. Not good." << std::endl;
30
+
31
+ mBottomLeft .x = 0 ;
32
+ mBottomLeft .y = 0 ;
33
+ mTopRight .x = mQctFile .QCT_TILE_SIZE * mQctFile .sizeX ();
34
+ mTopRight .y = mQctFile .QCT_TILE_SIZE * mQctFile .sizeY ();
35
+
36
+ for (int i=0 ;i<mQctFile .sizeX ();++i)
37
+ for (int j=0 ;j<mQctFile .sizeY ();++j)
38
+ {
39
+ MapDB::RegisteredImage registered_img;
40
+ registered_img.W = mQctFile .QCT_TILE_SIZE ;
41
+ registered_img.H = mQctFile .QCT_TILE_SIZE ;
42
+ registered_img.bottom_left_corner .x = mQctFile .QCT_TILE_SIZE * i ;
43
+ registered_img.bottom_left_corner .y = mQctFile .QCT_TILE_SIZE * j ;
44
+
45
+ mImages .insert (std::make_pair (MapDB::ImageHandle (i+mQctFile .sizeX ()*j),registered_img));
46
+ }
32
47
}
33
48
34
49
const std::map<MapDB::ImageHandle,MapDB::RegisteredImage>& QctMapDB::getFullListOfImages () const
35
50
{
36
- NOT_IMPLEMENTED;
37
-
38
- return std::map<MapDB::ImageHandle,MapDB::RegisteredImage>();
51
+ return mImages ;
39
52
}
40
53
bool QctMapDB::getImageParams (ImageHandle h, MapDB::RegisteredImage& img) const
41
54
{
@@ -45,9 +58,9 @@ bool QctMapDB::getImageParams(ImageHandle h, MapDB::RegisteredImage& img) const
45
58
}
46
59
QImage QctMapDB::getImageData (ImageHandle h) const
47
60
{
48
- NOT_IMPLEMENTED;
61
+ QImage image (QctFile::QCT_TILE_SIZE,QctFile::QCT_TILE_SIZE,QImage::Format_ARGB32);
62
+
49
63
50
- return QImage ();
51
64
}
52
65
bool QctMapDB::imageSpaceCoordinatesToGPSCoordinates (const MapDB::ImageSpaceCoord& ic,MapDB::GPSCoord& g) const
53
66
{
@@ -62,3 +75,14 @@ const MapDB::ReferencePoint& QctMapDB::getReferencePoint(int i) const
62
75
return ReferencePoint ();
63
76
}
64
77
int QctMapDB::numberOfReferencePoints () const { return 2 ; }
78
+
79
+ std::pair<int ,int > QctMapDB::handleToCoordinates (ImageHandle h) const
80
+ {
81
+ return std::make_pair ( int (h)%mQctFile .sizeX (), int (h)/mQctFile .sizeY ());
82
+ }
83
+
84
+ MapDB::ImageHandle QctMapDB::coordinatesToHandle (int x,int y) const
85
+ {
86
+ return ImageHandle (mQctFile .sizeX ()*y + x);
87
+ }
88
+
0 commit comments