Mercurial > hg > orthanc-stone
diff 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 |
line wrap: on
line diff
--- a/Framework/Scene2DViewport/CreateAngleMeasureCommand.cpp Wed Mar 04 09:44:34 2020 +0100 +++ b/Framework/Scene2DViewport/CreateAngleMeasureCommand.cpp Wed Mar 04 09:45:38 2020 +0100 @@ -26,13 +26,17 @@ namespace OrthancStone { CreateAngleMeasureCommand::CreateAngleMeasureCommand( - boost::weak_ptr<ViewportController> controllerW, + IViewport& viewport, ScenePoint2D point) - : CreateMeasureCommand(controllerW) + : CreateMeasureCommand(viewport) , measureTool_( - boost::make_shared<AngleMeasureTool>(controllerW)) + boost::make_shared<AngleMeasureTool>(viewport)) { - GetController()->AddMeasureTool(measureTool_); + + std::unique_ptr<IViewport::ILock> lock(viewport_.Lock()); + ViewportController& controller = lock->GetController(); + + controller.AddMeasureTool(measureTool_); measureTool_->SetSide1End(point); measureTool_->SetCenter(point); measureTool_->SetSide2End(point);