Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkPlaneGeometryDataToSurfaceFilter.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 MITKGEOMETRY2DDATATOSURFACEDATAFILTER_H_HEADER_INCLUDED_C10B22CD
18 #define MITKGEOMETRY2DDATATOSURFACEDATAFILTER_H_HEADER_INCLUDED_C10B22CD
19 
20 #include "mitkGeometry3D.h"
21 #include "mitkSurfaceSource.h"
22 #include "vtkSystemIncludes.h"
23 
24 class vtkPlaneSource;
25 class vtkTransformPolyDataFilter;
26 class vtkCubeSource;
27 class vtkTransform;
28 class vtkPlane;
29 class vtkCutter;
30 class vtkStripper;
31 class vtkPolyData;
32 class vtkPPolyDataNormals;
33 class vtkTriangleFilter;
34 class vtkTextureMapToPlane;
35 class vtkBox;
36 class vtkClipPolyData;
37 
38 namespace mitk
39 {
40  class PlaneGeometryData;
63  {
64  public:
66  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
67 
68  virtual void GenerateOutputInformation() override;
69 
70  virtual void GenerateData() override;
71 
72  const PlaneGeometryData *GetInput(void);
73  const PlaneGeometryData *GetInput(unsigned int idx);
74 
75  virtual void SetInput(const PlaneGeometryData *image);
76  using itk::ProcessObject::SetInput;
77  virtual void SetInput(unsigned int index, const PlaneGeometryData *image);
78 
82  itkGetMacro(UseGeometryParametricBounds, bool);
86  itkSetMacro(UseGeometryParametricBounds, bool);
87 
96  itkGetMacro(XResolution, int);
105  itkSetMacro(XResolution, int);
106 
115  itkGetMacro(YResolution, int);
116 
125  itkSetMacro(YResolution, int);
126 
136  itkGetConstMacro(PlaceByGeometry, bool);
137 
147  itkSetMacro(PlaceByGeometry, bool);
148  itkBooleanMacro(PlaceByGeometry);
149 
150  itkGetConstMacro(UseBoundingBox, bool);
151  itkSetMacro(UseBoundingBox, bool);
152  itkBooleanMacro(UseBoundingBox);
153 
154  void SetBoundingBox(const BoundingBox *boundingBox);
155  const BoundingBox *GetBoundingBox() const;
156 
157  protected:
159 
160  virtual ~PlaneGeometryDataToSurfaceFilter();
161 
164  vtkPlaneSource *m_PlaneSource;
165 
169  vtkTransformPolyDataFilter *m_VtkTransformPlaneFilter;
170 
174  bool m_UseGeometryParametricBounds;
175 
184  int m_XResolution;
185 
193  int m_YResolution;
194 
203  bool m_PlaceByGeometry;
204 
205  bool m_UseBoundingBox;
206 
207  BoundingBox::ConstPointer m_BoundingBox;
208 
209  vtkCubeSource *m_CubeSource;
210  vtkTransform *m_Transform;
211  vtkTransformPolyDataFilter *m_PolyDataTransformer;
212 
213  vtkPlane *m_Plane;
214  vtkCutter *m_PlaneCutter;
215  vtkStripper *m_PlaneStripper;
216  vtkPolyData *m_PlanePolyData;
217  vtkPPolyDataNormals *m_NormalsUpdater;
218  vtkTriangleFilter *m_PlaneTriangler;
219  vtkTextureMapToPlane *m_TextureMapToPlane;
220 
221  vtkBox *m_Box;
222  vtkClipPolyData *m_PlaneClipper;
223  };
224 } // namespace mitk
225 
226 #endif /* MITKGEOMETRY2DDATATOSURFACEDATAFILTER_H_HEADER_INCLUDED_C10B22CD */
Superclass of all classes generating surfaces (instances of class Surface) as output.
itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBox
Standard 3D-BoundingBox typedef.
#define MITKCORE_EXPORT
Superclass of all classes having a PlaneGeometryData as input and generating Images as output...
Superclass of all classes generating some kind of mitk::BaseData.
DataCollection - Class to facilitate loading/accessing structured data.
#define DEPRECATED(func)
Definition: mitkCommon.h:183
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Data class containing PlaneGeometry objects.