X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FInterface%2FMesh.h;h=b2fe92302d84c810a20276a0e784320eb5f02f29;hb=8f73fe60149066b59be7cc39e352f74a1e9e664f;hp=805b8a1d66b76d158b4b84fe5df002cb5bb66693;hpb=2d96cce7bcab0bdcd9e93e44ed413c47388151d9;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Mesh.h b/lib/cpPlugins/Interface/Mesh.h index 805b8a1..b2fe923 100644 --- a/lib/cpPlugins/Interface/Mesh.h +++ b/lib/cpPlugins/Interface/Mesh.h @@ -1,13 +1,14 @@ #ifndef __CPPLUGINS__INTERFACE__MESH__H__ #define __CPPLUGINS__INTERFACE__MESH__H__ -#include -#include -#include #include #include -class vtkMapper; +#include +#include +#include +#include +#include namespace cpPlugins { @@ -19,34 +20,50 @@ namespace cpPlugins : public DataObject { public: - typedef Mesh Self; - typedef DataObject Superclass; + typedef Mesh Self; + typedef DataObject Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; public: - Mesh( ); - virtual ~Mesh( ); + itkNewMacro( Self ); + itkTypeMacro( Mesh, DataObject ); + cpPlugins_Id_Macro( + cpPlugins::Interface::Mesh, "DataObject" + ); + + public: + template< class M > + inline void SetITK( itk::Object* object ); - virtual std::string GetClassName( ) const; - virtual void SetDataObject( itk::DataObject* dobj ); + virtual void SetVTK( vtkObject* mesh ); - vtkMapper* GetVTKMapper( ) const; + virtual void CreateVTKActor( ); + virtual vtkActor* GetVTKActor( ); + virtual const vtkActor* GetVTKActor( ) const; protected: - template< class M > - void _Map( ); + Mesh( ); + virtual ~Mesh( ); + + private: + // Purposely not implemented + Mesh( const Self& ); + Self& operator=( const Self& ); protected: - /* - itk::ProcessObject::Pointer m_Mesh2VTKMeshData; - vtkMeshData* m_VTKMeshData; - */ - vtkMapper* m_Mapper; + vtkSmartPointer< vtkPolyDataNormals > m_Normals; + vtkSmartPointer< vtkStripper > m_Stripper; + vtkSmartPointer< vtkPolyDataMapper > m_Mapper; + vtkSmartPointer< vtkQuadricLODActor > m_Actor; }; } // ecapseman } // ecapseman +#include + #endif // __CPPLUGINS__INTERFACE__MESH__H__ // eof - $RCSfile$