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