1 #ifndef __CPPLUGINS__MESH__H__
2 #define __CPPLUGINS__MESH__H__
4 #include <cpPlugins/DataObject.h>
5 #include <cpPlugins_Instances_Mesh.h>
8 #include <vtkPolyDataNormals.h>
9 #include <vtkPolyData.h>
10 #include <vtkPolyDataMapper.h>
11 #include <vtkQuadricLODActor.h>
12 #include <vtkStripper.h>
13 #include <vtkSmartPointer.h>
19 class cpPlugins_EXPORT Mesh
24 typedef DataObject Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
30 vtkSmartPointer< vtkPolyDataNormals > Normals;
31 vtkSmartPointer< vtkStripper > Stripper;
32 vtkSmartPointer< vtkPolyDataMapper > Mapper;
33 vtkSmartPointer< vtkQuadricLODActor > LODActor;
34 vtkSmartPointer< vtkActor > Actor;
36 void SetMesh( vtkPolyData* mesh );
41 itkTypeMacro( Mesh, DataObject );
42 cpPlugins_Id_Macro( Mesh, Object );
45 virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE;
46 virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE;
52 virtual void _CreateVTKActor( ) const ITK_OVERRIDE;
55 inline bool _ITK_2_VTK( itk::LightObject* o );
58 // Purposely not implemented
60 Self& operator=( const Self& );
63 mutable MeshActor m_MeshActor;
68 #include <cpPlugins/Mesh.hxx>
70 #endif // __CPPLUGINS__MESH__H__