]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/DataStructures/PolyLineParametricPath.h
Code cleaning
[cpPlugins.git] / lib / cpExtensions / DataStructures / PolyLineParametricPath.h
diff --git a/lib/cpExtensions/DataStructures/PolyLineParametricPath.h b/lib/cpExtensions/DataStructures/PolyLineParametricPath.h
new file mode 100644 (file)
index 0000000..77828ee
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef __CPEXTENSIONS__DATASTRUCTURES__POLYLINEPARAMETRICPATH__H__
+#define __CPEXTENSIONS__DATASTRUCTURES__POLYLINEPARAMETRICPATH__H__
+
+#include <itkPolyLineParametricPath.h>
+#include <itkImageBase.h>
+
+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$