1 #ifndef __CPPLUGINS__MESH__H__
2 #define __CPPLUGINS__MESH__H__
4 #include <cpPlugins/DataObject.h>
7 #include <vtkPolyDataNormals.h>
8 #include <vtkPolyData.h>
9 #include <vtkPolyDataMapper.h>
10 #include <vtkQuadricLODActor.h>
11 #include <vtkStripper.h>
12 #include <vtkSmartPointer.h>
18 class cpPlugins_EXPORT Mesh
23 typedef DataObject Superclass;
24 typedef itk::SmartPointer< Self > Pointer;
25 typedef itk::SmartPointer< const Self > ConstPointer;
29 vtkSmartPointer< vtkPolyDataNormals > Normals;
30 vtkSmartPointer< vtkStripper > Stripper;
31 vtkSmartPointer< vtkPolyDataMapper > Mapper;
32 vtkSmartPointer< vtkQuadricLODActor > LODActor;
33 vtkSmartPointer< vtkActor > Actor;
35 void SetMesh( vtkPolyData* mesh );
40 itkTypeMacro( Mesh, DataObject );
41 cpPlugins_Id_Macro( Mesh, Object );
44 virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE;
45 virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE;
51 virtual void _CreateVTKActor( ) const ITK_OVERRIDE;
54 inline bool _ITK_2_VTK( itk::LightObject* o );
57 // Purposely not implemented
59 Self& operator=( const Self& );
62 mutable MeshActor m_MeshActor;
67 #include <cpPlugins/Mesh.hxx>
69 #endif // __CPPLUGINS__MESH__H__