Mercurial > hg > orthanc-stone
diff OrthancStone/Sources/Scene2DViewport/AngleMeasureTool.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 | fe5c7311a7fd |
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/AngleMeasureTool.cpp Mon May 17 13:57:25 2021 +0200 +++ b/OrthancStone/Sources/Scene2DViewport/AngleMeasureTool.cpp Mon May 17 16:11:17 2021 +0200 @@ -105,24 +105,21 @@ } - boost::shared_ptr<MeasureToolMemento> AngleMeasureTool::GetMemento() const + MeasureToolMemento* AngleMeasureTool::CreateMemento() const { - boost::shared_ptr<AngleMeasureToolMemento> memento(new AngleMeasureToolMemento()); + std::unique_ptr<AngleMeasureToolMemento> memento(new AngleMeasureToolMemento()); memento->center_ = center_; memento->side1End_ = side1End_; memento->side2End_ = side2End_; - return memento; + return memento.release(); } - void AngleMeasureTool::SetMemento(boost::shared_ptr<MeasureToolMemento> mementoBase) + void AngleMeasureTool::SetMemento(const MeasureToolMemento& mementoBase) { - boost::shared_ptr<AngleMeasureToolMemento> memento = - boost::dynamic_pointer_cast<AngleMeasureToolMemento>(mementoBase); - - ORTHANC_ASSERT(memento.get() != NULL, "Internal error: wrong (or bad) memento"); - center_ = memento->center_; - side1End_ = memento->side1End_; - side2End_ = memento->side2End_; + const AngleMeasureToolMemento& memento = dynamic_cast<const AngleMeasureToolMemento&>(mementoBase); + center_ = memento.center_; + side1End_ = memento.side1End_; + side2End_ = memento.side2End_; RefreshScene(); } @@ -352,7 +349,7 @@ double pointY = center_.GetY() + oy; char buf[64]; - double angleDeg = RadiansToDegrees(delta); + double angleDeg = std::abs(RadiansToDegrees(delta)); // http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=00B0&mode=hex sprintf(buf, "%0.02f\xc2\xb0", angleDeg);