diff OrthancStone/Sources/Scene2D/MacroSceneLayer.cpp @ 1796:20a0aba0ede5

creation of AnnotationsOverlay
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 19 May 2021 18:59:45 +0200
parents c5e6379b9cd0
children 013dec434a84
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2D/MacroSceneLayer.cpp	Tue May 18 09:57:14 2021 +0200
+++ b/OrthancStone/Sources/Scene2D/MacroSceneLayer.cpp	Wed May 19 18:59:45 2021 +0200
@@ -57,6 +57,28 @@
   }
 
   
+  void MacroSceneLayer::UpdateLayer(size_t index,
+                                    ISceneLayer* layer)
+  {
+    if (layer == NULL)
+    {
+      throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
+    }
+    else if (index >= layers_.size())
+    {
+      throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
+    }
+    else
+    {
+      assert(layers_[index] != NULL);
+      delete layers_[index];
+
+      layers_[index] = layer;
+      BumpRevision();
+    }
+  }    
+
+
   const ISceneLayer& MacroSceneLayer::GetLayer(size_t i) const
   {
     if (i >= layers_.size())