#ifndef __CPPLUGINS__INTERFACE__MESH__H__ #define __CPPLUGINS__INTERFACE__MESH__H__ #include #include #include #include #include #include namespace cpPlugins { namespace Interface { /** */ class cpPlugins_Interface_EXPORT Mesh : public DataObject { public: typedef Mesh Self; typedef DataObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( Mesh, DataObject ); public: template< class M > inline void SetITKMesh( itk::DataObject* object ); template< class M > inline M* GetITKMesh( ); template< class M > inline const M* GetITKMesh( ) const; virtual void SetVTKMesh( vtkPolyData* mesh ); virtual vtkPolyData* GetVTKMesh( ); virtual const vtkPolyData* GetVTKMesh( ) const; virtual vtkActor* GetVTKActor( ); virtual const vtkActor* GetVTKActor( ) const; protected: Mesh( ); virtual ~Mesh( ); private: // Purposely not implemented Mesh( const Self& ); Self& operator=( const Self& ); protected: vtkSmartPointer< vtkActor > m_Actor; vtkSmartPointer< vtkPolyDataMapper > m_Mapper; }; } // ecapseman } // ecapseman #include #endif // __CPPLUGINS__INTERFACE__MESH__H__ // eof - $RCSfile$