]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Mesh.h
PolyLineParametricPath basic visualization and plugin added.
[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 ) override;
29     virtual void SetVTK( vtkObjectBase* o ) override;
30
31   protected:
32     Mesh( );
33     virtual ~Mesh( );
34
35     template< class M >
36       inline bool _ITK_2_VTK( itk::LightObject* o );
37
38   private:
39     // Purposely not implemented
40     Mesh( const Self& );
41     Self& operator=( const Self& );
42   };
43
44 } // ecapseman
45
46 #include <cpPlugins/Mesh.hxx>
47
48 #endif // __CPPLUGINS__MESH__H__
49
50 // eof - $RCSfile$