1 #ifndef __CPPLUGINS__INTERFACE__MESH__H__
2 #define __CPPLUGINS__INTERFACE__MESH__H__
4 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
5 #include <cpPlugins/Interface/DataObject.h>
15 class cpPlugins_Interface_EXPORT Mesh
20 typedef DataObject Superclass;
21 typedef itk::SmartPointer< Self > Pointer;
22 typedef itk::SmartPointer< const Self > ConstPointer;
26 itkTypeMacro( Mesh, DataObject );
30 inline void SetITKMesh( itk::DataObject* object );
33 inline M* GetITKMesh( );
36 inline const M* GetITKMesh( ) const;
38 virtual void SetVTKMesh( vtkPolyData* mesh );
39 virtual vtkPolyData* GetVTKMesh( );
40 virtual const vtkPolyData* GetVTKMesh( ) const;
43 virtual void SetITKDataObject( itk::DataObject* o );
44 virtual void SetVTKDataObject( vtkDataObject* o );
46 vtkPolyData* GetVTKPolyData( );
47 const vtkPolyData* GetVTKPolyData( ) const;
55 template< unsigned int D >
56 void _ITK_2_VTK_0( itk::DataObject* o );
58 template< class P, unsigned int D >
59 void _ITK_2_VTK_1( itk::DataObject* o );
61 template< unsigned int D >
62 void _VTK_2_ITK_0( itk::DataObject* o );
64 template< class P, unsigned int D >
65 void _VTK_2_ITK_1( itk::DataObject* o );
69 // Purposely not implemented
71 Self& operator=( const Self& );
78 #include <cpPlugins/Interface/Mesh.hxx>
80 #endif // __CPPLUGINS__INTERFACE__MESH__H__