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
mitkSurface.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 mitkSurface_h
18 #define mitkSurface_h
19 
20 #include "itkImageRegion.h"
21 #include "mitkBaseData.h"
22 #include <vtkSmartPointer.h>
23 
24 class vtkPolyData;
25 
26 namespace mitk
27 {
33  {
34  public:
35  typedef itk::ImageRegion<5> RegionType;
36 
38  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
39 
40  void CalculateBoundingBox();
41  virtual void CopyInformation(const itk::DataObject *data) override;
42  virtual void ExecuteOperation(Operation *operation) override;
43  virtual void Expand(unsigned int timeSteps = 1) override;
44  const RegionType &GetLargestPossibleRegion() const;
45  virtual const RegionType &GetRequestedRegion() const;
46  unsigned int GetSizeOfPolyDataSeries() const;
47  virtual vtkPolyData *GetVtkPolyData(unsigned int t = 0) const;
48  virtual void Graft(const DataObject *data) override;
49  virtual bool IsEmptyTimeStep(unsigned int t) const override;
50  virtual void PrintSelf(std::ostream &os, itk::Indent indent) const override;
51  virtual bool RequestedRegionIsOutsideOfTheBufferedRegion() override;
52  virtual void SetRequestedRegion(const itk::DataObject *data) override;
53  virtual void SetRequestedRegion(Surface::RegionType *region);
54  virtual void SetRequestedRegionToLargestPossibleRegion() override;
55  virtual void SetVtkPolyData(vtkPolyData *polydata, unsigned int t = 0);
56  virtual void Swap(Surface &other);
57  virtual void Update() override;
58  virtual void UpdateOutputInformation() override;
59  virtual bool VerifyRequestedRegion() override;
60 
61  protected:
63 
64  Surface();
65  virtual ~Surface();
66 
67  Surface(const Surface &other);
68  Surface &operator=(Surface other);
69 
70  virtual void ClearData() override;
71  virtual void InitializeEmpty() override;
72 
73  private:
74  std::vector<vtkSmartPointer<vtkPolyData>> m_PolyDatas;
75  mutable RegionType m_LargestPossibleRegion;
76  mutable RegionType m_RequestedRegion;
77  bool m_CalculateBoundingBox;
78  };
79 
92  mitk::Surface *leftHandSide, mitk::Surface *rightHandSide, mitk::ScalarType eps, bool verbose));
93 
103  MITKCORE_EXPORT bool Equal(mitk::Surface &leftHandSide,
104  mitk::Surface &rightHandSide,
105  mitk::ScalarType eps,
106  bool verbose);
107 
124  vtkPolyData *leftHandSide, vtkPolyData *rightHandSide, mitk::ScalarType eps, bool verbose));
125 
139  MITKCORE_EXPORT bool Equal(vtkPolyData &leftHandSide, vtkPolyData &rightHandSide, mitk::ScalarType eps, bool verbose);
140 }
141 
142 #endif
Class for storing surfaces (vtkPolyData).
Definition: mitkSurface.h:32
#define MITKCORE_EXPORT
Base of all data objects.
Definition: mitkBaseData.h:39
Base class of all Operation-classes.
Definition: mitkOperation.h:33
double ScalarType
static void Update(vtkPolyData *)
Definition: mitkSurface.cpp:35
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
#define DEPRECATED(func)
Definition: mitkCommon.h:183
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
#define mitkCloneMacro(classname)
Definition: mitkCommon.h:162
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
MITKCORE_EXPORT const ScalarType eps
itk::ImageRegion< 5 > RegionType
Definition: mitkSurface.h:35