Medical Imaging Interaction Toolkit  2018.4.99-663e373e
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 (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 MITKGEOMETRY2DDATATOSURFACEDATAFILTER_H_HEADER_INCLUDED_C10B22CD
14 #define MITKGEOMETRY2DDATATOSURFACEDATAFILTER_H_HEADER_INCLUDED_C10B22CD
15 
16 #include "mitkGeometry3D.h"
17 #include "mitkSurfaceSource.h"
18 #include "vtkSystemIncludes.h"
19 
20 class vtkPlaneSource;
21 class vtkTransformPolyDataFilter;
22 class vtkCubeSource;
23 class vtkTransform;
24 class vtkPlane;
25 class vtkCutter;
26 class vtkStripper;
27 class vtkPolyData;
28 class vtkPPolyDataNormals;
29 class vtkTriangleFilter;
30 class vtkTextureMapToPlane;
31 class vtkBox;
32 class vtkClipPolyData;
33 
34 namespace mitk
35 {
36  class PlaneGeometryData;
59  {
60  public:
62  itkFactorylessNewMacro(Self);
63  itkCloneMacro(Self);
64 
65  void GenerateOutputInformation() override;
66 
67  void GenerateData() override;
68 
69  const PlaneGeometryData *GetInput(void);
70  const PlaneGeometryData *GetInput(unsigned int idx);
71 
72  virtual void SetInput(const PlaneGeometryData *image);
73  using itk::ProcessObject::SetInput;
74  virtual void SetInput(unsigned int index, const PlaneGeometryData *image);
75 
79  itkGetMacro(UseGeometryParametricBounds, bool);
83  itkSetMacro(UseGeometryParametricBounds, bool);
84 
93  itkGetMacro(XResolution, int);
102  itkSetMacro(XResolution, int);
103 
112  itkGetMacro(YResolution, int);
113 
122  itkSetMacro(YResolution, int);
123 
133  itkGetConstMacro(PlaceByGeometry, bool);
134 
144  itkSetMacro(PlaceByGeometry, bool);
145  itkBooleanMacro(PlaceByGeometry);
146 
147  itkGetConstMacro(UseBoundingBox, bool);
148  itkSetMacro(UseBoundingBox, bool);
149  itkBooleanMacro(UseBoundingBox);
150 
151  void SetBoundingBox(const BoundingBox *boundingBox);
152  const BoundingBox *GetBoundingBox() const;
153 
154  protected:
156 
158 
161  vtkPlaneSource *m_PlaneSource;
162 
166  vtkTransformPolyDataFilter *m_VtkTransformPlaneFilter;
167 
172 
182 
191 
201 
203 
204  BoundingBox::ConstPointer m_BoundingBox;
205 
206  vtkCubeSource *m_CubeSource;
207  vtkTransform *m_Transform;
208  vtkTransformPolyDataFilter *m_PolyDataTransformer;
209 
210  vtkPlane *m_Plane;
211  vtkCutter *m_PlaneCutter;
212  vtkStripper *m_PlaneStripper;
213  vtkPolyData *m_PlanePolyData;
214  vtkPPolyDataNormals *m_NormalsUpdater;
215  vtkTriangleFilter *m_PlaneTriangler;
216  vtkTextureMapToPlane *m_TextureMapToPlane;
217 
218  vtkBox *m_Box;
219  vtkClipPolyData *m_PlaneClipper;
220  };
221 } // namespace mitk
222 
223 #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.
bool m_PlaceByGeometry
Define whether the Surface is at the origin and placed using the Geometry.
#define DEPRECATED(func)
Definition: mitkCommon.h:179
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40
Data class containing PlaneGeometry objects.
vtkPlaneSource * m_PlaneSource
Source to create the vtk-representation of the parameter space rectangle of the PlaneGeometry.
vtkTransformPolyDataFilter * m_VtkTransformPlaneFilter
Filter to create the vtk-representation of the PlaneGeometry, which is a transformation of the m_Plan...
bool m_UseGeometryParametricBounds
If true, use Geometry3D::GetParametricBounds() to define the resolution in parameter space...