]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/MeshReader.h
Major refactoring: API-HCI bug corrected.
[cpPlugins.git] / lib / cpPlugins / Plugins / MeshReader.h
1 #ifndef __CPPLUGINS__PLUGINS__MESHREADER__H__
2 #define __CPPLUGINS__PLUGINS__MESHREADER__H__
3
4 #include <cpPlugins/Plugins/cpPlugins_Export.h>
5 #include <cpPlugins/Interface/MeshSource.h>
6
7 class vtkDataReader;
8
9 namespace cpPlugins
10 {
11   namespace Plugins
12   {
13     /**
14      */
15     class cpPlugins_EXPORT MeshReader
16       : public cpPlugins::Interface::MeshSource
17     {
18     public:
19       typedef MeshReader                       Self;
20       typedef cpPlugins::Interface::MeshSource Superclass;
21       typedef itk::SmartPointer< Self >        Pointer;
22       typedef itk::SmartPointer< const Self >  ConstPointer;
23
24     public:
25       itkNewMacro( Self );
26       itkTypeMacro( MeshReader, cpPluginsInterfaceMeshSource );
27
28     protected:
29       MeshReader( );
30       virtual ~MeshReader( );
31
32       virtual std::string _GenerateData( );
33
34       template< unsigned int D >
35         std::string _GD0( );
36
37       template< class P, unsigned int D >
38         std::string _GD1( );
39
40     private:
41       // Purposely not implemented
42       MeshReader( const Self& );
43       Self& operator=( const Self& );
44
45     protected:
46       vtkDataReader* m_Reader;
47     };
48
49     // ---------------------------------------------------------------------
50     CPPLUGINS_INHERIT_PROVIDER( MeshReader );
51
52   } // ecapseman
53
54 } // ecapseman
55
56 #endif // __CPPLUGINS__PLUGINS__MESHREADER__H__
57
58 // eof - $RCSfile$