Medical Imaging Interaction Toolkit  2023.12.00
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 (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