]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Mesh.h
Almost there...
[cpPlugins.git] / lib / cpPlugins / Mesh.h
1 #ifndef __CPPLUGINS__MESH__H__
2 #define __CPPLUGINS__MESH__H__
3
4 #include <cpPlugins/DataObject.h>
5
6 // Some forward declarations
7 class vtkObject;
8
9 namespace cpPlugins
10 {
11   /**
12    */
13   class cpPlugins_EXPORT Mesh
14     : public DataObject
15   {
16   public:
17     typedef Mesh                            Self;
18     typedef DataObject                      Superclass;
19     typedef itk::SmartPointer< Self >       Pointer;
20     typedef itk::SmartPointer< const Self > ConstPointer;
21
22   public:
23     itkNewMacro( Self );
24     itkTypeMacro( Mesh, DataObject );
25     cpPlugins_Id_Macro( Mesh, Object );
26
27   public:
28     virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE;
29     virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE;
30
31   protected:
32     Mesh( );
33     virtual ~Mesh( );
34
35     virtual void _CreateVTKActor( ) const ITK_OVERRIDE;
36
37     template< class M >
38       inline bool _ITK_2_VTK( itk::LightObject* o );
39
40   private:
41     // Purposely not implemented
42     Mesh( const Self& );
43     Self& operator=( const Self& );
44   };
45
46 } // ecapseman
47
48 #include <cpPlugins/Mesh.hxx>
49
50 #endif // __CPPLUGINS__MESH__H__
51
52 // eof - $RCSfile$