#ifndef __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__H__ #define __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__H__ #include #include namespace cpExtensions { namespace Visualization { /** */ template< class _TIndexes > class ImageIndexesContainerToPolyData : public vtkPolyDataAlgorithm { public: typedef ImageIndexesContainerToPolyData Self; typedef _TIndexes TIndexes; typedef typename TIndexes::ComponentType TContainer; typedef typename TContainer::value_type TIndex; typedef itk::ImageBase< TIndex::Dimension > TImage; public: vtkTypeMacro( ImageIndexesContainerToPolyData, vtkPolyDataAlgorithm ); public: static Self* New( ); const TIndexes* GetInput( ) const; const TImage* GetReferenceImage( ) const; void SetInput( const TIndexes* c ); void SetReferenceImage( const TImage* i ); protected: ImageIndexesContainerToPolyData( ); virtual ~ImageIndexesContainerToPolyData( ); int RequestData( vtkInformation* information, vtkInformationVector** input, vtkInformationVector* output ); int RequestInformation( vtkInformation* information, vtkInformationVector** input, vtkInformationVector* output ); private: // Purposely not implemented ImageIndexesContainerToPolyData( const Self& ); void operator=( const Self& ); protected: const TIndexes* m_Indexes; const TImage* m_ReferenceImage; }; } // ecapseman } // ecapseman #ifndef ITK_MANUAL_INSTANTIATION #include #endif // ITK_MANUAL_INSTANTIATION #endif // __CPEXTENSIONS__VISUALIZATION__IMAGEINDEXESCONTAINERTOPOLYDATA__H__ // eof - $RCSfile$