Mercurial > hg > orthanc-stone
comparison Framework/Radiography/RadiographyScene.h @ 492:64d90190a08c am-touch-events
template GetLayer
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 20 Feb 2019 20:57:43 +0100 |
parents | aede9b042cb7 |
children | 77e0eb83ff63 |
comparison
equal
deleted
inserted
replaced
488:aede9b042cb7 | 492:64d90190a08c |
---|---|
172 | 172 |
173 void RemoveLayer(size_t layerIndex); | 173 void RemoveLayer(size_t layerIndex); |
174 | 174 |
175 const RadiographyLayer& GetLayer(size_t layerIndex) const; | 175 const RadiographyLayer& GetLayer(size_t layerIndex) const; |
176 | 176 |
177 template <typename TypeLayer> | |
178 TypeLayer* GetLayer(size_t index = 0) | |
179 { | |
180 std::vector<size_t> layerIndexes; | |
181 GetLayersIndexes(layerIndexes); | |
182 | |
183 size_t count = 0; | |
184 | |
185 for (size_t i = 0; i < layerIndexes.size(); ++i) | |
186 { | |
187 TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]); | |
188 if (typedLayer != NULL) | |
189 { | |
190 if (count == index) | |
191 { | |
192 return typedLayer; | |
193 } | |
194 count++; | |
195 } | |
196 } | |
197 | |
198 return NULL; | |
199 } | |
200 | |
177 void GetLayersIndexes(std::vector<size_t>& output) const; | 201 void GetLayersIndexes(std::vector<size_t>& output) const; |
178 | 202 |
179 Extent2D GetSceneExtent() const; | 203 Extent2D GetSceneExtent() const; |
180 | 204 |
181 void Render(Orthanc::ImageAccessor& buffer, | 205 void Render(Orthanc::ImageAccessor& buffer, |