#ifndef __CPPLUGINS__INTERFACE__MESH__H__ #define __CPPLUGINS__INTERFACE__MESH__H__ #include #include class vtkPolyData; 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: virtual void SetITKDataObject( itk::DataObject* o ); virtual void SetVTKDataObject( vtkDataObject* o ); vtkPolyData* GetVTKPolyData( ); const vtkPolyData* GetVTKPolyData( ) const; protected: Mesh( ); virtual ~Mesh( ); 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& ); }; } // ecapseman } // ecapseman #endif // __CPPLUGINS__INTERFACE__MESH__H__ // eof - $RCSfile$