Medical Imaging Interaction Toolkit  2023.12.00
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 mitkPlaneGeometryDataToSurfaceFilter_h
14 #define mitkPlaneGeometryDataToSurfaceFilter_h
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
mitk::PlaneGeometryDataToSurfaceFilter::m_XResolution
int m_XResolution
X-resolution in parameter space.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:181
mitk::PlaneGeometryDataToSurfaceFilter::m_NormalsUpdater
vtkPPolyDataNormals * m_NormalsUpdater
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:214
mitkSurfaceSource.h
mitk::PlaneGeometryDataToSurfaceFilter::m_Transform
vtkTransform * m_Transform
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:207
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneCutter
vtkCutter * m_PlaneCutter
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:211
mitk::PlaneGeometryDataToSurfaceFilter
Superclass of all classes having a PlaneGeometryData as input and generating Images as output.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:58
mitk::PlaneGeometryDataToSurfaceFilter::m_PlanePolyData
vtkPolyData * m_PlanePolyData
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:213
mitk::PlaneGeometryDataToSurfaceFilter::m_PolyDataTransformer
vtkTransformPolyDataFilter * m_PolyDataTransformer
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:208
DEPRECATED
#define DEPRECATED(func)
Definition: mitkCommon.h:175
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneClipper
vtkClipPolyData * m_PlaneClipper
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:219
mitk::PlaneGeometryDataToSurfaceFilter::m_BoundingBox
BoundingBox::ConstPointer m_BoundingBox
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:204
mitkGeometry3D.h
mitk::PlaneGeometryDataToSurfaceFilter::m_YResolution
int m_YResolution
Y-resolution in parameter space.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:190
mitk::BoundingBox
itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBox
Standard 3D-BoundingBox typedef.
Definition: mitkBaseGeometry.h:40
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::PlaneGeometryDataToSurfaceFilter::m_UseGeometryParametricBounds
bool m_UseGeometryParametricBounds
If true, use Geometry3D::GetParametricBounds() to define the resolution in parameter space,...
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:171
mitk::BaseDataSource
Superclass of all classes generating some kind of mitk::BaseData.
Definition: mitkBaseDataSource.h:71
mitk::PlaneGeometryDataToSurfaceFilter::m_Box
vtkBox * m_Box
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:218
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneSource
vtkPlaneSource * m_PlaneSource
Source to create the vtk-representation of the parameter space rectangle of the PlaneGeometry.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:161
mitk::PlaneGeometryData
Data class containing PlaneGeometry objects.
Definition: mitkPlaneGeometryData.h:30
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaceByGeometry
bool m_PlaceByGeometry
Define whether the Surface is at the origin and placed using the Geometry.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:200
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneStripper
vtkStripper * m_PlaneStripper
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:212
mitk::SurfaceSource
Superclass of all classes generating surfaces (instances of class Surface) as output.
Definition: mitkSurfaceSource.h:33
mitk::PlaneGeometryDataToSurfaceFilter::m_VtkTransformPlaneFilter
vtkTransformPolyDataFilter * m_VtkTransformPlaneFilter
Filter to create the vtk-representation of the PlaneGeometry, which is a transformation of the m_Plan...
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:166
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneTriangler
vtkTriangleFilter * m_PlaneTriangler
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:215
mitk::PlaneGeometryDataToSurfaceFilter::m_UseBoundingBox
bool m_UseBoundingBox
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:202
mitk::PlaneGeometryDataToSurfaceFilter::m_TextureMapToPlane
vtkTextureMapToPlane * m_TextureMapToPlane
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:216
mitk::PlaneGeometryDataToSurfaceFilter::m_CubeSource
vtkCubeSource * m_CubeSource
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:206
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::PlaneGeometryDataToSurfaceFilter::m_Plane
vtkPlane * m_Plane
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:210
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15