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>
7 #include <vtkSmartPointer.h>
9 #include <vtkPolyData.h>
10 #include <vtkPolyDataMapper.h>
18 class cpPlugins_Interface_EXPORT Mesh
23 typedef DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 itkTypeMacro( Mesh, DataObject );
33 inline void SetITKMesh( itk::DataObject* object );
36 inline M* GetITKMesh( );
39 inline const M* GetITKMesh( ) const;
41 virtual void SetVTKMesh( vtkPolyData* mesh );
42 virtual vtkPolyData* GetVTKMesh( );
43 virtual const vtkPolyData* GetVTKMesh( ) const;
44 virtual vtkActor* GetVTKActor( );
45 virtual const vtkActor* GetVTKActor( ) const;
52 // Purposely not implemented
54 Self& operator=( const Self& );
57 vtkSmartPointer< vtkActor > m_Actor;
58 vtkSmartPointer< vtkPolyDataMapper > m_Mapper;
65 #include <cpPlugins/Interface/Mesh.hxx>
67 #endif // __CPPLUGINS__INTERFACE__MESH__H__