#ifndef __cpExtensions__DataStructures__PolyLineParametricPath__h__ #define __cpExtensions__DataStructures__PolyLineParametricPath__h__ #include #include namespace cpExtensions { namespace DataStructures { /** */ template< unsigned int _VDim > class PolyLineParametricPath : public itk::PolyLineParametricPath< _VDim > { public: typedef PolyLineParametricPath Self; typedef itk::PolyLineParametricPath< _VDim > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef itk::ImageBase< _VDim > TImageBase; public: itkNewMacro( Self ); itkTypeMacro( PolyLineParametricPath, itk::PolyLineParametricPath ); public: TImageBase* GetReferenceImage( ) { return( this->m_ReferenceImage ); } const TImageBase* GetReferenceImage( ) const { return( this->m_ReferenceImage ); } void SetReferenceImage( const TImageBase* image ) { this->m_ReferenceImage = TImageBase::New( ); this->m_ReferenceImage->SetDirection( image->GetDirection( ) ); this->m_ReferenceImage->SetOrigin( image->GetOrigin( ) ); this->m_ReferenceImage->SetSpacing( image->GetSpacing( ) ); this->Modified( ); } protected: PolyLineParametricPath( ) { } virtual ~PolyLineParametricPath( ) { } private: // Purposely not implemented PolyLineParametricPath( const Self& other ); Self& operator=( const Self& other ); protected: typename TImageBase::Pointer m_ReferenceImage; }; } // ecapseman } // ecapseman #endif // __cpExtensions__DataStructures__PolyLineParametricPath__h__ // eof - $RCSfile$