comparison Framework/Inputs/DicomPyramidLevel.h @ 55:b6432a00b103

use of simpler data structures
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 24 Nov 2016 14:44:11 +0100
parents 4a7a53257c7d
children 83cd735c885d
comparison
equal deleted inserted replaced
54:06847108819c 55:b6432a00b103
27 namespace OrthancWSI 27 namespace OrthancWSI
28 { 28 {
29 class DicomPyramidLevel : public boost::noncopyable 29 class DicomPyramidLevel : public boost::noncopyable
30 { 30 {
31 private: 31 private:
32 typedef std::pair<unsigned int, unsigned int> TileLocation; 32 struct TileContent
33 typedef std::pair<const DicomPyramidInstance*, unsigned int> TileContent; 33 {
34 typedef std::map<TileLocation, TileContent> Tiles; 34 const DicomPyramidInstance* instance_;
35 typedef std::list<const DicomPyramidInstance*> Instances; 35 unsigned int frame_;
36 36
37 unsigned int totalWidth_; 37 TileContent() :
38 unsigned int totalHeight_; 38 instance_(NULL),
39 unsigned int tileWidth_; 39 frame_(0)
40 unsigned int tileHeight_; 40 {
41 Instances instances_; 41 }
42 Tiles tiles_; 42 };
43
44 unsigned int totalWidth_;
45 unsigned int totalHeight_;
46 unsigned int tileWidth_;
47 unsigned int tileHeight_;
48 unsigned int countTilesX_;
49 unsigned int countTilesY_;
50 std::vector<TileContent> tiles_;
51
52 TileContent& GetTileContent(unsigned int tileX,
53 unsigned int tileY);
43 54
44 void RegisterFrame(const DicomPyramidInstance& instance, 55 void RegisterFrame(const DicomPyramidInstance& instance,
45 unsigned int frame); 56 unsigned int frame);
46 57
47 bool LookupTile(TileContent& tile, 58 bool LookupTile(TileContent& tile,