Medical Imaging Interaction Toolkit  2024.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 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