]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/MarchingCubes.h
7ce3afde66f0340fbf6ecd657f32c8a6e5517fd6
[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 #include <itkProcessObject.h>
7
8 namespace cpPlugins
9 {
10   namespace Plugins
11   {
12     /**
13      */
14     class cpPlugins_EXPORT MarchingCubes
15       : public cpPlugins::Interface::ImageToMeshFilter
16     {
17     public:
18       typedef MarchingCubes                           Self;
19       typedef cpPlugins::Interface::ImageToMeshFilter Superclass;
20       typedef itk::SmartPointer< Self >               Pointer;
21       typedef itk::SmartPointer< const Self >         ConstPointer;
22
23       typedef Superclass::TParameter  TParameter;
24       typedef Superclass::TParameters TParameters;
25
26     public:
27       itkNewMacro( Self );
28       itkTypeMacro( MarchingCubes, cpPluginsInterfaceImageToMeshFilter );
29
30     public:
31       virtual std::string GetClassName( ) const;
32
33     protected:
34       MarchingCubes( );
35       virtual ~MarchingCubes( );
36
37       virtual std::string _GenerateData( );
38
39       template< unsigned int D >
40       std::string _GD0( );
41
42       template< class P, unsigned int D >
43       std::string _GD1( );
44
45     private:
46       // Purposely not implemented
47       MarchingCubes( const Self& );
48       Self& operator=( const Self& );
49     };
50
51     // ---------------------------------------------------------------------
52     CPPLUGINS_INHERIT_PROVIDER( MarchingCubes );
53
54   } // ecapseman
55
56 } // ecapseman
57
58 #endif // __CPPLUGINS__PLUGINS__MARCHINGCUBES__H__
59
60 // eof - $RCSfile$