diff Framework/Scene2DViewport/AngleMeasureTool.cpp @ 1213:86a8266b8888 broker

moving the scene from IViewport to ViewportController
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 04 Dec 2019 17:54:10 +0100
parents f3bb9a6dd949
children 0ca50d275b9a
line wrap: on
line diff
--- a/Framework/Scene2DViewport/AngleMeasureTool.cpp	Wed Dec 04 16:54:24 2019 +0100
+++ b/Framework/Scene2DViewport/AngleMeasureTool.cpp	Wed Dec 04 17:54:10 2019 +0100
@@ -131,10 +131,8 @@
 
   AngleMeasureTool::AngleHighlightArea AngleMeasureTool::AngleHitTest(ScenePoint2D p) const
   {
-    std::auto_ptr<IViewport::ILock> lock(GetController()->GetViewport().Lock());
-    
-    const double pixelToScene =
-      lock->GetScene().GetCanvasToSceneTransform().ComputeZoom();
+    const double pixelToScene = GetController()->GetScene().GetCanvasToSceneTransform().ComputeZoom();
+
     const double SQUARED_HIT_TEST_MAX_DISTANCE_SCENE_COORD = pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD * pixelToScene * HIT_TEST_MAX_DISTANCE_CANVAS_COORD;
 
     {
@@ -178,10 +176,8 @@
 
   boost::shared_ptr<IFlexiblePointerTracker> AngleMeasureTool::CreateEditionTracker(const PointerEvent& e)
   {
-    std::auto_ptr<IViewport::ILock> lock(GetController()->GetViewport().Lock());
-    
     ScenePoint2D scenePos = e.GetMainPosition().Apply(
-      lock->GetScene().GetCanvasToSceneTransform());
+      GetController()->GetScene().GetCanvasToSceneTransform());
 
     if (!HitTest(scenePos))
       return boost::shared_ptr<IFlexiblePointerTracker>();
@@ -212,8 +208,6 @@
       boost::shared_ptr<ViewportController> controller = GetController();
       if (IsEnabled())
       {
-        std::auto_ptr<IViewport::ILock> lock(GetController()->GetViewport().Lock());
-    
         layerHolder_->CreateLayersIfNeeded();
 
         {
@@ -254,7 +248,7 @@
               {
                 PolylineSceneLayer::Chain chain;
                 //TODO: take DPI into account
-                AddSquare(chain, lock->GetScene(), side1End_, 
+                AddSquare(chain, controller->GetScene(), side1End_, 
                           GetController()->GetHandleSideLengthS());
               
                 if (angleHighlightArea_ == AngleHighlightArea_Side1End)
@@ -266,7 +260,7 @@
               {
                 PolylineSceneLayer::Chain chain;
                 //TODO: take DPI into account
-                AddSquare(chain, lock->GetScene(), side2End_, 
+                AddSquare(chain, controller->GetScene(), side2End_, 
                           GetController()->GetHandleSideLengthS());
 
                 if (angleHighlightArea_ == AngleHighlightArea_Side2End)
@@ -317,10 +311,10 @@
 
 #if ORTHANC_STONE_ENABLE_OUTLINED_TEXT == 1
           SetTextLayerOutlineProperties(
-            lock->GetScene(), layerHolder_, buf, ScenePoint2D(pointX, pointY), 0);
+            controller->GetScene(), layerHolder_, buf, ScenePoint2D(pointX, pointY), 0);
 #else
           SetTextLayerProperties(
-            lock->GetScene(), layerHolder_, buf, ScenePoint2D(pointX, pointY) , 0);
+            controller->GetScene(), layerHolder_, buf, ScenePoint2D(pointX, pointY) , 0);
 #endif
 
 #if 0