diff Framework/Radiography/RadiographyWidget.cpp @ 492:64d90190a08c am-touch-events

template GetLayer
author Alain Mazy <alain@mazy.be>
date Wed, 20 Feb 2019 20:57:43 +0100
parents a750f11892ec
children 11fa6f00e33c
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyWidget.cpp	Tue Feb 19 11:40:14 2019 +0100
+++ b/Framework/Radiography/RadiographyWidget.cpp	Wed Feb 20 20:57:43 2019 +0100
@@ -25,6 +25,7 @@
 #include <Core/Images/Image.h>
 #include <Core/Images/ImageProcessing.h>
 
+#include "RadiographyMaskLayer.h"
 
 namespace OrthancStone
 {
@@ -194,6 +195,28 @@
     selectedLayer_ = layer;
   }
 
+  bool RadiographyWidget::SelectMaskLayer(size_t index)
+  {
+    std::vector<size_t> layerIndexes;
+    size_t count = 0;
+    scene_->GetLayersIndexes(layerIndexes);
+
+    for (size_t i = 0; i < layerIndexes.size(); ++i)
+    {
+      const RadiographyMaskLayer* maskLayer = dynamic_cast<const RadiographyMaskLayer*>(&(scene_->GetLayer(layerIndexes[i])));
+      if (maskLayer != NULL)
+      {
+        if (count == index)
+        {
+          Select(layerIndexes[i]);
+          return true;
+        }
+        count++;
+      }
+    }
+
+    return false;
+  }
 
   bool RadiographyWidget::LookupSelectedLayer(size_t& layer)
   {