diff OrthancStone/Sources/Scene2DViewport/LineMeasureTool.cpp @ 1791:9b650ab68d4c

replaced unneeded use of boost::share_ptr for MeasureCommand mementos by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 May 2021 16:11:17 +0200
parents 462d7a0e064e
children fe5c7311a7fd
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/LineMeasureTool.cpp	Mon May 17 13:57:25 2021 +0200
+++ b/OrthancStone/Sources/Scene2DViewport/LineMeasureTool.cpp	Mon May 17 16:11:17 2021 +0200
@@ -178,24 +178,19 @@
     }
   }
 
-  boost::shared_ptr<MeasureToolMemento> LineMeasureTool::GetMemento() const
+  MeasureToolMemento* LineMeasureTool::CreateMemento() const
   {
-    boost::shared_ptr<LineMeasureToolMemento> memento(new LineMeasureToolMemento());
+    std::unique_ptr<LineMeasureToolMemento> memento(new LineMeasureToolMemento());
     memento->start_ = start_;
     memento->end_ = end_;
-    return memento;
+    return memento.release();
   }
 
-  void LineMeasureTool::SetMemento(
-    boost::shared_ptr<MeasureToolMemento> mementoBase)
+  void LineMeasureTool::SetMemento(const MeasureToolMemento& mementoBase)
   {
-    boost::shared_ptr<LineMeasureToolMemento> memento = 
-      boost::dynamic_pointer_cast<LineMeasureToolMemento>(mementoBase);
-    
-    ORTHANC_ASSERT(memento.get() != NULL, "Internal error: wrong (or bad) memento");
-    
-    start_ = memento->start_;
-    end_ = memento->end_;
+    const LineMeasureToolMemento& memento = dynamic_cast<const LineMeasureToolMemento&>(mementoBase);
+    start_ = memento.start_;
+    end_ = memento.end_;
     RefreshScene();
   }