Mercurial > hg > orthanc-stone
comparison Framework/Radiography/RadiographyWidget.h @ 1200:54cbffabdc45 broker
integration mainline->broker
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 29 Nov 2019 11:03:41 +0100 |
parents | 1a73f852810a 922d2e61aa5d |
children | 37bc7f115f81 |
comparison
equal
deleted
inserted
replaced
1198:4cc997207d8a | 1200:54cbffabdc45 |
---|---|
69 return *scene_; | 69 return *scene_; |
70 } | 70 } |
71 | 71 |
72 void SetScene(boost::shared_ptr<RadiographyScene> scene); | 72 void SetScene(boost::shared_ptr<RadiographyScene> scene); |
73 | 73 |
74 void Select(size_t layer); | |
75 | |
74 void Unselect() | 76 void Unselect() |
75 { | 77 { |
76 hasSelection_ = false; | 78 hasSelection_ = false; |
77 } | 79 } |
78 | 80 |
79 void Select(size_t layer); | 81 template<typename LayerType> bool SelectLayerByType(size_t index = 0); |
80 | |
81 void ClearSelectedLayer(); | |
82 | |
83 bool SelectMaskLayer(size_t index = 0); | |
84 | 82 |
85 bool LookupSelectedLayer(size_t& layer); | 83 bool LookupSelectedLayer(size_t& layer); |
86 | 84 |
87 void OnGeometryChanged(const RadiographyScene::GeometryChangedMessage& message); | 85 void OnGeometryChanged(const RadiographyScene::GeometryChangedMessage& message); |
88 | 86 |
104 ImageInterpolation GetInterpolation() const | 102 ImageInterpolation GetInterpolation() const |
105 { | 103 { |
106 return interpolation_; | 104 return interpolation_; |
107 } | 105 } |
108 }; | 106 }; |
107 | |
108 template<typename LayerType> bool RadiographyWidget::SelectLayerByType(size_t index) | |
109 { | |
110 std::vector<size_t> layerIndexes; | |
111 size_t count = 0; | |
112 scene_->GetLayersIndexes(layerIndexes); | |
113 | |
114 for (size_t i = 0; i < layerIndexes.size(); ++i) | |
115 { | |
116 const LayerType* typedLayer = dynamic_cast<const LayerType*>(&(scene_->GetLayer(layerIndexes[i]))); | |
117 if (typedLayer != NULL) | |
118 { | |
119 if (count == index) | |
120 { | |
121 Select(layerIndexes[i]); | |
122 return true; | |
123 } | |
124 count++; | |
125 } | |
126 } | |
127 | |
128 return false; | |
129 } | |
109 } | 130 } |