fw4spl
RemoveLandmark.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "uiMeasurement/config.hpp"
10 
11 #include <fwData/Image.hpp>
12 #include <fwData/Point.hpp>
13 
14 #include <fwGui/IActionSrv.hpp>
15 
16 namespace uiMeasurement
17 {
18 
19 namespace action
20 {
21 
35 class UIMEASUREMENT_CLASS_API RemoveLandmark : public ::fwGui::IActionSrv
36 {
37 public:
39 
40  UIMEASUREMENT_API RemoveLandmark() noexcept;
41 
42  UIMEASUREMENT_API virtual ~RemoveLandmark() noexcept;
43 
44 protected:
45 
46  void configuring() override;
47 
48  void starting() override;
49 
50  void updating() override;
51 
52  void stopping() override;
53 
54  void info(std::ostream& _sstream ) override;
55 
56 private:
57  void notify( ::fwData::Image::sptr image, ::fwData::Point::sptr backup );
58 
59  ::fwData::Point::sptr getLandmarkToRemove(::fwData::Image::sptr image, bool& removeAll);
60 };
61 
62 } // namespace action
63 
64 } // namespace uiMeasurement
The namespace uiMeasurement contains actions to add/show/remove distances and landmarks.
Definition: AddDistance.hpp:13
STL namespace.
Defines the service interface managing the menu items.
Definition: IActionSrv.hpp:24
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
Contains the representation of the data objects used in the framework.
This action removes landmarks from an image.