Medical Imaging Interaction Toolkit  2024.06.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 vtkPolyData;
27 class vtkPPolyDataNormals;
28 class vtkTextureMapToPlane;
29 class vtkBox;
30 class vtkClipPolyData;
31 class vtkContourTriangulator;
32 
33 namespace mitk
34 {
35  class PlaneGeometryData;
58  {
59  public:
61  itkFactorylessNewMacro(Self);
62  itkCloneMacro(Self);
63 
64  void GenerateOutputInformation() override;
65 
66  void GenerateData() override;
67 
68  const PlaneGeometryData *GetInput(void);
69  const PlaneGeometryData *GetInput(unsigned int idx);
70 
71  virtual void SetInput(const PlaneGeometryData *image);
72  using itk::ProcessObject::SetInput;
73  virtual void SetInput(unsigned int index, const PlaneGeometryData *image);
74 
78  itkGetMacro(UseGeometryParametricBounds, bool);
82  itkSetMacro(UseGeometryParametricBounds, bool);
83 
92  itkGetMacro(XResolution, int);
101  itkSetMacro(XResolution, int);
102 
111  itkGetMacro(YResolution, int);
112 
121  itkSetMacro(YResolution, int);
122 
132  itkGetConstMacro(PlaceByGeometry, bool);
133 
143  itkSetMacro(PlaceByGeometry, bool);
144  itkBooleanMacro(PlaceByGeometry);
145 
146  itkGetConstMacro(UseBoundingBox, bool);
147  itkSetMacro(UseBoundingBox, bool);
148  itkBooleanMacro(UseBoundingBox);
149 
150  void SetBoundingBox(const BoundingBox *boundingBox);
151  const BoundingBox *GetBoundingBox() const;
152 
153  protected:
155 
157 
160  vtkPlaneSource *m_PlaneSource;
161 
165  vtkTransformPolyDataFilter *m_VtkTransformPlaneFilter;
166 
171 
181 
190 
200 
202 
203  BoundingBox::ConstPointer m_BoundingBox;
204 
205  vtkCubeSource *m_CubeSource;
206  vtkTransform *m_Transform;
207  vtkTransformPolyDataFilter *m_PolyDataTransformer;
208 
209  vtkPlane *m_Plane;
210  vtkCutter *m_PlaneCutter;
211  vtkContourTriangulator *m_ContourTriangulator;
212  vtkPPolyDataNormals *m_NormalsUpdater;
213  vtkTextureMapToPlane *m_TextureMapToPlane;
214 
215  vtkBox *m_Box;
216  vtkClipPolyData *m_PlaneClipper;
217  };
218 } // namespace mitk
219 
220 #endif
mitk::PlaneGeometryDataToSurfaceFilter::m_XResolution
int m_XResolution
X-resolution in parameter space.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:180
mitk::PlaneGeometryDataToSurfaceFilter::m_NormalsUpdater
vtkPPolyDataNormals * m_NormalsUpdater
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:212
mitkSurfaceSource.h
mitk::PlaneGeometryDataToSurfaceFilter::m_Transform
vtkTransform * m_Transform
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:206
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneCutter
vtkCutter * m_PlaneCutter
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:210
mitk::PlaneGeometryDataToSurfaceFilter
Superclass of all classes having a PlaneGeometryData as input and generating Images as output.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:57
mitk::PlaneGeometryDataToSurfaceFilter::m_PolyDataTransformer
vtkTransformPolyDataFilter * m_PolyDataTransformer
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:207
DEPRECATED
#define DEPRECATED(func)
Definition: mitkCommon.h:175
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneClipper
vtkClipPolyData * m_PlaneClipper
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:216
mitk::PlaneGeometryDataToSurfaceFilter::m_BoundingBox
BoundingBox::ConstPointer m_BoundingBox
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:203
mitkGeometry3D.h
mitk::PlaneGeometryDataToSurfaceFilter::m_YResolution
int m_YResolution
Y-resolution in parameter space.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:189
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:170
mitk::BaseDataSource
Superclass of all classes generating some kind of mitk::BaseData.
Definition: mitkBaseDataSource.h:71
mitk::PlaneGeometryDataToSurfaceFilter::m_ContourTriangulator
vtkContourTriangulator * m_ContourTriangulator
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:211
mitk::PlaneGeometryDataToSurfaceFilter::m_Box
vtkBox * m_Box
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:215
mitk::PlaneGeometryDataToSurfaceFilter::m_PlaneSource
vtkPlaneSource * m_PlaneSource
Source to create the vtk-representation of the parameter space rectangle of the PlaneGeometry.
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:160
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:199
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:165
mitk::PlaneGeometryDataToSurfaceFilter::m_UseBoundingBox
bool m_UseBoundingBox
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:201
mitk::PlaneGeometryDataToSurfaceFilter::m_TextureMapToPlane
vtkTextureMapToPlane * m_TextureMapToPlane
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:213
mitk::PlaneGeometryDataToSurfaceFilter::m_CubeSource
vtkCubeSource * m_CubeSource
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:205
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::PlaneGeometryDataToSurfaceFilter::m_Plane
vtkPlane * m_Plane
Definition: mitkPlaneGeometryDataToSurfaceFilter.h:209
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15