#ifndef __CPPLUGINS__MESH__H__ #define __CPPLUGINS__MESH__H__ #include #include #include #include #include #include #include #include #include namespace cpPlugins { /** */ class cpPlugins_EXPORT Mesh : public DataObject { public: typedef Mesh Self; typedef DataObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; struct MeshActor { vtkSmartPointer< vtkPolyDataNormals > Normals; vtkSmartPointer< vtkStripper > Stripper; vtkSmartPointer< vtkPolyDataMapper > Mapper; vtkSmartPointer< vtkQuadricLODActor > LODActor; vtkSmartPointer< vtkActor > Actor; void SetMesh( vtkPolyData* mesh ); }; public: itkNewMacro( Self ); itkTypeMacro( Mesh, DataObject ); cpPlugins_Id_Macro( Mesh, Object ); public: virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE; virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE; protected: Mesh( ); virtual ~Mesh( ); virtual void _CreateVTKActor( ) const ITK_OVERRIDE; template< class M > inline bool _ITK_2_VTK( itk::LightObject* o ); private: // Purposely not implemented Mesh( const Self& ); Self& operator=( const Self& ); protected: mutable MeshActor m_MeshActor; }; } // ecapseman #include #endif // __CPPLUGINS__MESH__H__ // eof - $RCSfile$