X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FMesh.h;h=b2fe92302d84c810a20276a0e784320eb5f02f29;hb=8f73fe60149066b59be7cc39e352f74a1e9e664f;hp=11a52e8dae2a71bc04254c52e7bbc86403d3ec61;hpb=7c7bc497af96e7b5845be9a2fc277036ec752be9;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Mesh.h b/lib/cpPlugins/Interface/Mesh.h index 11a52e8..b2fe923 100644 --- a/lib/cpPlugins/Interface/Mesh.h +++ b/lib/cpPlugins/Interface/Mesh.h @@ -4,7 +4,11 @@ #include #include -class vtkPolyData; +#include +#include +#include +#include +#include namespace cpPlugins { @@ -24,51 +28,34 @@ namespace cpPlugins public: itkNewMacro( Self ); itkTypeMacro( Mesh, DataObject ); + cpPlugins_Id_Macro( + cpPlugins::Interface::Mesh, "DataObject" + ); public: template< class M > - inline void SetITKMesh( itk::DataObject* object ); + inline void SetITK( itk::Object* object ); - template< class M > - inline M* GetITKMesh( ); - - template< class M > - inline const M* GetITKMesh( ) const; + virtual void SetVTK( vtkObject* mesh ); - virtual void SetVTKMesh( vtkPolyData* mesh ); - virtual vtkPolyData* GetVTKMesh( ); - virtual const vtkPolyData* GetVTKMesh( ) const; - - /* TODO - virtual void SetITKDataObject( itk::DataObject* o ); - virtual void SetVTKDataObject( vtkDataObject* o ); - - vtkPolyData* GetVTKPolyData( ); - const vtkPolyData* GetVTKPolyData( ) const; - */ + virtual void CreateVTKActor( ); + virtual vtkActor* GetVTKActor( ); + virtual const vtkActor* GetVTKActor( ) const; protected: Mesh( ); virtual ~Mesh( ); - /* TODO - template< unsigned int D > - void _ITK_2_VTK_0( itk::DataObject* o ); - - template< class P, unsigned int D > - void _ITK_2_VTK_1( itk::DataObject* o ); - - template< unsigned int D > - void _VTK_2_ITK_0( itk::DataObject* o ); - - template< class P, unsigned int D > - void _VTK_2_ITK_1( itk::DataObject* o ); - */ - private: // Purposely not implemented Mesh( const Self& ); Self& operator=( const Self& ); + + protected: + vtkSmartPointer< vtkPolyDataNormals > m_Normals; + vtkSmartPointer< vtkStripper > m_Stripper; + vtkSmartPointer< vtkPolyDataMapper > m_Mapper; + vtkSmartPointer< vtkQuadricLODActor > m_Actor; }; } // ecapseman