]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/MarchingCubes.h
4375842d02d5155455f4357286deed92c193b849
[cpPlugins.git] / lib / cpPlugins / Plugins / MarchingCubes.h
1 #ifndef __CPPLUGINS__PLUGINS__MARCHINGCUBES__H__
2 #define __CPPLUGINS__PLUGINS__MARCHINGCUBES__H__
3
4 #include <cpPlugins/Plugins/cpPlugins_Export.h>
5 #include <cpPlugins/Interface/ImageToMeshFilter.h>
6
7 class vtkPolyDataAlgorithm;
8
9 namespace cpPlugins
10 {
11   namespace Plugins
12   {
13     /**
14      */
15     class cpPlugins_EXPORT MarchingCubes
16       : public cpPlugins::Interface::ImageToMeshFilter
17     {
18     public:
19       typedef MarchingCubes                           Self;
20       typedef cpPlugins::Interface::ImageToMeshFilter Superclass;
21       typedef itk::SmartPointer< Self >               Pointer;
22       typedef itk::SmartPointer< const Self >         ConstPointer;
23
24     public:
25       itkNewMacro( Self );
26       itkTypeMacro( MarchingCubes, cpPluginsInterfaceImageToMeshFilter );
27
28     protected:
29       MarchingCubes( );
30       virtual ~MarchingCubes( );
31
32       virtual std::string _GenerateData( );
33
34     private:
35       // Purposely not implemented
36       MarchingCubes( const Self& );
37       Self& operator=( const Self& );
38
39     protected:
40       vtkPolyDataAlgorithm* m_Algorithm;
41     };
42
43     // ---------------------------------------------------------------------
44     CPPLUGINS_INHERIT_PROVIDER( MarchingCubes );
45
46   } // ecapseman
47
48 } // ecapseman
49
50 #endif // __CPPLUGINS__PLUGINS__MARCHINGCUBES__H__
51
52 // eof - $RCSfile$