Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkClippingProperty.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKCLIPPINGPROPERTY_H_HEADER_INCLUDED
18 #define MITKCLIPPINGPROPERTY_H_HEADER_INCLUDED
19 
20 #include "mitkBaseProperty.h"
21 #include "mitkNumericTypes.h"
22 #include <MitkCoreExports.h>
23 
24 #include <itkConfigure.h>
25 
26 #include <string>
27 
28 namespace mitk
29 {
30 #ifdef _MSC_VER
31 #pragma warning(push)
32 #pragma warning(disable : 4522)
33 #endif
34 
41  {
42  public:
44 
45  typedef std::string ValueType;
46 
47  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
49 
50  bool GetClippingEnabled() const;
51  void SetClippingEnabled(bool enabled);
52 
53  const Point3D &GetOrigin() const;
54  void SetOrigin(const Point3D &origin);
55 
56  const Vector3D &GetNormal() const;
57  void SetNormal(const Vector3D &normal);
58 
59  virtual std::string GetValueAsString() const override;
60 
61  using BaseProperty::operator=;
62 
63  protected:
64  bool m_ClippingEnabled;
65 
66  Point3D m_Origin;
67  Vector3D m_Normal;
68 
69  ClippingProperty();
70  ClippingProperty(const ClippingProperty &other);
71  ClippingProperty(const Point3D &origin, const Vector3D &normal);
72 
73  private:
74  // purposely not implemented
75  ClippingProperty &operator=(const ClippingProperty &);
76 
77  virtual bool IsEqual(const BaseProperty &property) const override;
78  virtual bool Assign(const BaseProperty &property) override;
79 
80  virtual itk::LightObject::Pointer InternalClone() const override;
81  };
82 
83 #ifdef _MSC_VER
84 #pragma warning(pop)
85 #endif
86 
87 } // namespace mitk
88 
89 #endif /* MITKCLIPPINGPROPERTY_H_HEADER_INCLUDED */
#define MITKCORE_EXPORT
Property for clipping datasets; currently only clipping planes are possible.
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkNewMacro2Param(classname, typea, typeb)
Definition: mitkCommon.h:89
Abstract base class for properties.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44