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
mitkPlanarDoubleEllipse.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 mitkPlanarDoubleEllipse_h
18 #define mitkPlanarDoubleEllipse_h
19 
21 #include <mitkPlanarFigure.h>
22 
23 namespace mitk
24 {
26  {
27  public:
29  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
30 
31  unsigned int GetNumberOfSegments() const;
32  void SetNumberOfSegments(unsigned int numSegments);
33 
34  virtual unsigned int GetMaximumNumberOfControlPoints() const override;
35  virtual unsigned int GetMinimumNumberOfControlPoints() const override;
36  virtual bool SetControlPoint(unsigned int index, const Point2D &point, bool createIfDoesNotExist = true) override;
37 
38  const unsigned int FEATURE_ID_MAJOR_AXIS;
39  const unsigned int FEATURE_ID_MINOR_AXIS;
40  const unsigned int FEATURE_ID_THICKNESS;
41 
42  virtual bool Equals(const mitk::PlanarFigure &other) const override;
43 
44  protected:
46 
48 
49  virtual mitk::Point2D ApplyControlPointConstraints(unsigned int index, const Point2D &point) override;
50  virtual void EvaluateFeaturesInternal() override;
51  virtual void GenerateHelperPolyLine(double, unsigned int) override;
52  virtual void GeneratePolyLine() override;
53 
54  private:
55  unsigned int m_NumberOfSegments;
56  bool m_ConstrainCircle;
57  bool m_ConstrainThickness;
58  };
59 }
60 
61 #endif
Base of all data objects.
Definition: mitkBaseData.h:39
DataCollection - Class to facilitate loading/accessing structured data.
const unsigned int FEATURE_ID_THICKNESS
const unsigned int FEATURE_ID_MAJOR_AXIS
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
const unsigned int FEATURE_ID_MINOR_AXIS
#define mitkCloneMacro(classname)
Definition: mitkCommon.h:162
#define MITKPLANARFIGURE_EXPORT
Base-class for geometric planar (2D) figures, such as lines, circles, rectangles, polygons...