Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkPlanarRectangle.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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkPlanarRectangle_h
14 #define mitkPlanarRectangle_h
15 
16 #include "mitkPlanarPolygon.h"
18 
19 namespace mitk
20 {
21  class PlaneGeometry;
22 
28  {
29  public:
31 
32  itkFactorylessNewMacro(Self);
33 
34  itkCloneMacro(Self);
35 
41  // virtual void Initialize();
42  void PlaceFigure(const Point2D &point) override;
43 
45  unsigned int GetMinimumNumberOfControlPoints() const override { return 4; }
47  unsigned int GetMaximumNumberOfControlPoints() const override { return 4; }
48  bool SetControlPoint(unsigned int index, const Point2D &point, bool createIfDoesNotExist = false) override;
49 
50  protected:
52 
54 
56  void GeneratePolyLine() override;
57 
59  void GenerateHelperPolyLine(double mmPerDisplayUnit, unsigned int displayHeight) override;
60 
62  void EvaluateFeaturesInternal() override;
63 
64  void PrintSelf(std::ostream &os, itk::Indent indent) const override;
65 
66  const unsigned int FEATURE_ID_CIRCUMFERENCE;
67  const unsigned int FEATURE_ID_AREA;
68 
69  bool Equals(const mitk::PlanarFigure &other) const override;
70 
71  private:
72  };
73 
74 } // namespace mitk
75 
76 #endif
#define MITKPLANARFIGURE_EXPORT
Base-class for geometric planar (2D) figures, such as lines, circles, rectangles, polygons,...
Implementation of PlanarFigure representing a polygon with two or more control points.
void GeneratePolyLine() override
Generates the poly-line representation of the planar figure.
void PlaceFigure(const Point2D &point) override
Place figure in its minimal configuration (a point at least) onto the given 2D geometry.
unsigned int GetMinimumNumberOfControlPoints() const override
Polygon has 2 control points per definition.
const unsigned int FEATURE_ID_AREA
bool Equals(const mitk::PlanarFigure &other) const override
Compare two PlanarFigure objects Note: all subclasses have to implement the method on their own.
void EvaluateFeaturesInternal() override
Calculates feature quantities of the planar figure.
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void GenerateHelperPolyLine(double mmPerDisplayUnit, unsigned int displayHeight) override
Generates the poly-lines that should be drawn the same size regardless of zoom.
mitkClassMacro(PlanarRectangle, PlanarFigure)
const unsigned int FEATURE_ID_CIRCUMFERENCE
bool SetControlPoint(unsigned int index, const Point2D &point, bool createIfDoesNotExist=false) override
unsigned int GetMaximumNumberOfControlPoints() const override
Polygon maximum number of control points is principally not limited.
Find image slices visible on a given plane.