]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/VTK/UniqueVerticesToPolyDataFilter.h
CMake updated. Some other filters added.
[FrontAlgorithms.git] / lib / fpa / VTK / UniqueVerticesToPolyDataFilter.h
1 #ifndef __FPA__VTK__UNIQUEVERTICESTOPOLYDATAFILTER__H__
2 #define __FPA__VTK__UNIQUEVERTICESTOPOLYDATAFILTER__H__
3
4 #include <vtkPolyDataAlgorithm.h>
5
6 namespace fpa
7 {
8   namespace VTK
9   {
10     /**
11      */
12     template< class U, class I >
13     class UniqueVerticesToPolyDataFilter
14       : public vtkPolyDataAlgorithm
15     {
16     public:
17       typedef UniqueVerticesToPolyDataFilter Self;
18
19     public:
20       vtkTypeMacro( UniqueVerticesToPolyDataFilter,vtkPolyDataAlgorithm );
21
22     public:
23       static Self* New( );
24
25       const U* GetInput( ) const;
26       void SetInput( const U* c );
27
28       const I* GetImage( ) const;
29       void SetImage( const I* i );
30
31       virtual unsigned long GetMTime( );
32
33     protected:
34       UniqueVerticesToPolyDataFilter( );
35       virtual ~UniqueVerticesToPolyDataFilter( );
36
37       int RequestData(
38         vtkInformation* information,
39         vtkInformationVector** input,
40         vtkInformationVector* output
41         );
42       int RequestInformation(
43         vtkInformation* information,
44         vtkInformationVector** input,
45         vtkInformationVector* output
46         );
47
48     private:
49       // Purposely not implemented
50       UniqueVerticesToPolyDataFilter( const Self& );
51       void operator=( const Self& );
52
53     protected:
54       typename U::ConstPointer m_Container;
55       typename I::ConstPointer m_Image;
56       unsigned long m_LastContainerModifiedTime;
57     };
58
59   } // ecapseman
60
61 } // ecapseman
62
63 #include <fpa/VTK/UniqueVerticesToPolyDataFilter.hxx>
64
65 #endif // __FPA__VTK__UNIQUEVERTICESTOPOLYDATAFILTER__H__
66
67 // eof - $RCSfile$