comparison Samples/Common/MeasureCommands.cpp @ 654:462a5074f914

Turned the scene into an observable to be able to dynamically react to scene to canvas transform changes --> now the handles and angle measure adornments are immune to zoom changes
author Benjamin Golinvaux <bgo@osimis.io>
date Tue, 14 May 2019 13:51:00 +0200
parents 1e9ed656318e
children
comparison
equal deleted inserted replaced
653:4eccf698e52f 654:462a5074f914
46 // deleting the command should not change the model state 46 // deleting the command should not change the model state
47 // we thus leave it as is 47 // we thus leave it as is
48 } 48 }
49 49
50 CreateLineMeasureCommand::CreateLineMeasureCommand( 50 CreateLineMeasureCommand::CreateLineMeasureCommand(
51 Scene2D& scene, MeasureToolList& measureTools, ScenePoint2D point) 51 MessageBroker& broker,
52 Scene2D& scene,
53 MeasureToolList& measureTools,
54 ScenePoint2D point)
52 : CreateMeasureCommand(scene, measureTools) 55 : CreateMeasureCommand(scene, measureTools)
53 , measureTool_(new LineMeasureTool(scene)) 56 , measureTool_(new LineMeasureTool(broker,scene))
54 { 57 {
55 measureTools_.push_back(measureTool_); 58 measureTools_.push_back(measureTool_);
56 measureTool_->Set(point, point); 59 measureTool_->Set(point, point);
57 } 60 }
58 61
60 { 63 {
61 measureTool_->SetEnd(scenePos); 64 measureTool_->SetEnd(scenePos);
62 } 65 }
63 66
64 CreateAngleMeasureCommand::CreateAngleMeasureCommand( 67 CreateAngleMeasureCommand::CreateAngleMeasureCommand(
65 Scene2D& scene, MeasureToolList& measureTools, ScenePoint2D point) 68 MessageBroker& broker,
69 Scene2D& scene,
70 MeasureToolList& measureTools,
71 ScenePoint2D point)
66 : CreateMeasureCommand(scene, measureTools) 72 : CreateMeasureCommand(scene, measureTools)
67 , measureTool_(new AngleMeasureTool(scene)) 73 , measureTool_(new AngleMeasureTool(broker,scene))
68 { 74 {
69 measureTools_.push_back(measureTool_); 75 measureTools_.push_back(measureTool_);
70 measureTool_->SetSide1End(point); 76 measureTool_->SetSide1End(point);
71 measureTool_->SetCenter(point); 77 measureTool_->SetCenter(point);
72 measureTool_->SetSide2End(point); 78 measureTool_->SetSide2End(point);