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
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.