comparison OrthancStone/Sources/Scene2DViewport/EditLineMeasureTracker.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 9ac2a65d4172
children 3889ae96d2e9
comparison
equal deleted inserted replaced
1790:b325761e0bd3 1791:9b650ab68d4c
54 ScenePoint2D scenePos = e.GetMainPosition().Apply( 54 ScenePoint2D scenePos = e.GetMainPosition().Apply(
55 scene.GetCanvasToSceneTransform()); 55 scene.GetCanvasToSceneTransform());
56 56
57 ScenePoint2D delta = scenePos - GetOriginalClickPosition(); 57 ScenePoint2D delta = scenePos - GetOriginalClickPosition();
58 58
59 boost::shared_ptr<LineMeasureToolMemento> memento = 59 const LineMeasureToolMemento& memento =
60 boost::dynamic_pointer_cast<LineMeasureToolMemento>(command_->mementoOriginal_); 60 dynamic_cast<const LineMeasureToolMemento&>(command_->GetMementoOriginal());
61
62 ORTHANC_ASSERT(memento.get() != NULL);
63 61
64 switch (modifiedZone_) 62 switch (modifiedZone_)
65 { 63 {
66 case LineMeasureTool::LineHighlightArea_Start: 64 case LineMeasureTool::LineHighlightArea_Start:
67 { 65 {
68 ScenePoint2D newStart = memento->start_ + delta; 66 ScenePoint2D newStart = memento.start_ + delta;
69 GetCommand()->SetStart(newStart); 67 GetCommand()->SetStart(newStart);
70 } 68 break;
71 break; 69 }
72 case LineMeasureTool::LineHighlightArea_End: 70
73 { 71 case LineMeasureTool::LineHighlightArea_End:
74 ScenePoint2D newEnd = memento->end_ + delta; 72 {
75 GetCommand()->SetEnd(newEnd); 73 ScenePoint2D newEnd = memento.end_ + delta;
76 } 74 GetCommand()->SetEnd(newEnd);
77 break; 75 break;
78 case LineMeasureTool::LineHighlightArea_Segment: 76 }
79 { 77
80 ScenePoint2D newStart = memento->start_ + delta; 78 case LineMeasureTool::LineHighlightArea_Segment:
81 ScenePoint2D newEnd = memento->end_ + delta; 79 {
82 GetCommand()->SetStart(newStart); 80 ScenePoint2D newStart = memento.start_ + delta;
83 GetCommand()->SetEnd(newEnd); 81 ScenePoint2D newEnd = memento.end_ + delta;
84 } 82 GetCommand()->SetStart(newStart);
85 break; 83 GetCommand()->SetEnd(newEnd);
86 default: 84 break;
87 LOG(WARNING) << "Warning: please retry the measuring tool editing operation!"; 85 }
88 break; 86
87 default:
88 LOG(WARNING) << "Warning: please retry the measuring tool editing operation!";
89 break;
89 } 90 }
90 } 91 }
91 92
92 void EditLineMeasureTracker::PointerUp(const PointerEvent& e) 93 void EditLineMeasureTracker::PointerUp(const PointerEvent& e)
93 { 94 {
104 { 105 {
105 boost::shared_ptr<EditLineMeasureCommand> ret = boost::dynamic_pointer_cast<EditLineMeasureCommand>(command_); 106 boost::shared_ptr<EditLineMeasureCommand> ret = boost::dynamic_pointer_cast<EditLineMeasureCommand>(command_);
106 ORTHANC_ASSERT(ret.get() != NULL, "Internal error in EditLineMeasureTracker::GetCommand()"); 107 ORTHANC_ASSERT(ret.get() != NULL, "Internal error in EditLineMeasureTracker::GetCommand()");
107 return ret; 108 return ret;
108 } 109 }
109
110 } 110 }