Mercurial > hg > orthanc-stone
comparison Framework/Scene2DViewport/CreateAngleMeasureCommand.cpp @ 1305:a5326ce4f24b broker
Trackers and measuring tools now use the viewport instead of ViewportController, so that proper locks can be used
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 04 Mar 2020 09:45:38 +0100 |
parents | 7ec8fea061b9 |
children | 1f877e0846fe |
comparison
equal
deleted
inserted
replaced
1304:b7fa67bf87fa | 1305:a5326ce4f24b |
---|---|
24 #include <boost/ref.hpp> | 24 #include <boost/ref.hpp> |
25 | 25 |
26 namespace OrthancStone | 26 namespace OrthancStone |
27 { | 27 { |
28 CreateAngleMeasureCommand::CreateAngleMeasureCommand( | 28 CreateAngleMeasureCommand::CreateAngleMeasureCommand( |
29 boost::weak_ptr<ViewportController> controllerW, | 29 IViewport& viewport, |
30 ScenePoint2D point) | 30 ScenePoint2D point) |
31 : CreateMeasureCommand(controllerW) | 31 : CreateMeasureCommand(viewport) |
32 , measureTool_( | 32 , measureTool_( |
33 boost::make_shared<AngleMeasureTool>(controllerW)) | 33 boost::make_shared<AngleMeasureTool>(viewport)) |
34 { | 34 { |
35 GetController()->AddMeasureTool(measureTool_); | 35 |
36 std::unique_ptr<IViewport::ILock> lock(viewport_.Lock()); | |
37 ViewportController& controller = lock->GetController(); | |
38 | |
39 controller.AddMeasureTool(measureTool_); | |
36 measureTool_->SetSide1End(point); | 40 measureTool_->SetSide1End(point); |
37 measureTool_->SetCenter(point); | 41 measureTool_->SetCenter(point); |
38 measureTool_->SetSide2End(point); | 42 measureTool_->SetSide2End(point); |
39 } | 43 } |
40 | 44 |