#ifndef __CPEXTENSIONS__DATASTRUCTURES__POLYLINEPARAMETRICPATH__H__ #define __CPEXTENSIONS__DATASTRUCTURES__POLYLINEPARAMETRICPATH__H__ #include #include namespace cpExtensions { namespace DataStructures { /** */ template< unsigned int _NDim > class PolyLineParametricPath : public itk::PolyLineParametricPath< _NDim > { public: typedef PolyLineParametricPath Self; typedef itk::PolyLineParametricPath< _NDim > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef itk::ImageBase< _NDim > 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$