NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkVTKBackfaceCullingFilter.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkVTKBackfaceCullingFilter_h
16 #define niftkVTKBackfaceCullingFilter_h
17 
19 #include <vtkPolyDataAlgorithm.h>
20 #include <vtkSmartPointer.h>
21 #include <vtkSetGet.h>
22 #include <vtkMatrix4x4.h>
23 
24 
25 namespace niftk
26 {
27 
28 
33 class NIFTKVTK_WINEXPORT BackfaceCullingFilter : public vtkPolyDataAlgorithm
34 {
35 
36 public:
37  static BackfaceCullingFilter* New();
38  vtkTypeMacro(BackfaceCullingFilter, vtkPolyDataAlgorithm);
39 
40  void SetCameraPosition(const vtkSmartPointer<vtkMatrix4x4>& campos);
41 
42  // in vtk5, this should be a protected method, that gets called via Update().
43  // in vtk6 this no longer happens. so as a quickfix, expose it to callers.
44  virtual void Execute();
45 
46 
47 protected:
49  virtual ~BackfaceCullingFilter();
50 
51 protected:
52  vtkSmartPointer<vtkMatrix4x4> m_CameraPosition;
53 
54 
55 private:
56  BackfaceCullingFilter(const BackfaceCullingFilter&); // Not implemented.
57  void operator=(const BackfaceCullingFilter&); // Not implemented.
58 };
59 
60 
61 } // namespace
62 
63 #endif // niftkVTKBackfaceCullingFilter_h
#define NIFTKVTK_WINEXPORT
Definition: niftkVTKWin32ExportHeader.h:28
vtkSmartPointer< vtkMatrix4x4 > m_CameraPosition
Definition: niftkVTKBackfaceCullingFilter.h:52
Definition: niftkVTKBackfaceCullingFilter.h:33
Definition: niftkExceptionObject.h:21