]> Creatis software - clitk.git/blobdiff - registration/clitkPointListTransform.h
Debug RTStruct conversion with empty struc
[clitk.git] / registration / clitkPointListTransform.h
index 3146f80c62e046980d25202b179e10fccab5caa3..b897f1250a8ca8ba2f4370ea5f6fac82b6f496ce 100644 (file)
@@ -3,7 +3,7 @@
 
   Authors belong to: 
   - University of LYON              http://www.universite-lyon.fr/
-  - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
   This software is distributed WITHOUT ANY WARRANTY; without even
@@ -14,7 +14,7 @@
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
 #ifndef __clitkPointListTransform_h
 #define __clitkPointListTransform_h
 #include "clitkList.h"
@@ -67,7 +67,65 @@ namespace clitk
 
     PointListType GetCorrespondingPointList(const InputPointType &inputPoint) const; 
     OutputPointType TransformPoint(const InputPointType  &point ) const;
-   
+
+    // Methods needed to inherit from an itk::Transform which should not be used
+    // in this class
+    /** Type of the input parameters. */
+    typedef typename Superclass::ParametersType        ParametersType;
+    typedef typename Superclass::ParametersValueType   ParametersValueType;
+
+    /** Type of the Jacobian matrix. */
+    typedef typename Superclass::JacobianType          JacobianType;
+
+    /** Standard vector type for this class. */
+    typedef typename Superclass::InputVectorType InputVectorType;
+    typedef typename Superclass::OutputVectorType OutputVectorType;
+
+    /** Standard covariant vector type for this class */
+    typedef typename Superclass::InputCovariantVectorType      InputCovariantVectorType;
+    typedef typename Superclass::OutputCovariantVectorType     OutputCovariantVectorType;
+
+    /** Standard vnl_vector type for this class. */
+    typedef typename Superclass::InputVnlVectorType    InputVnlVectorType;
+    typedef typename Superclass::OutputVnlVectorType   OutputVnlVectorType;
+
+    void SetParameters(const ParametersType&)
+    {
+      itkExceptionMacro( << "PointListTransform doesn't declare SetParameters" );
+    }
+
+    void SetFixedParameters(const ParametersType&)
+    {
+      itkExceptionMacro( << "PointListTransform doesn't declare SetFixedParameters" );
+    }
+
+    virtual OutputVectorType TransformVector(const InputVectorType &) const
+    {
+      itkExceptionMacro(<< "Method not applicable for deformable transform." );
+      return OutputVectorType();
+    }
+
+    virtual OutputVnlVectorType TransformVector(const InputVnlVectorType &) const
+    {
+      itkExceptionMacro(<< "Method not applicable for deformable transform. ");
+      return OutputVnlVectorType();
+    }
+
+    virtual OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const
+    {
+      itkExceptionMacro(<< "Method not applicable for deformable transfrom. ");
+      return OutputCovariantVectorType();
+    }
+
+    virtual void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const
+    {
+      itkExceptionMacro( << "PointListTransform doesn't declare ComputeJacobianWithRespectToParameters" );
+    }
+    virtual void ComputeJacobianWithRespectToPosition (const InputPointType &p, JacobianType &jacobian) const
+    {
+      itkExceptionMacro( << "PointListTransform doesn't declare ComputeJacobianWithRespectToPosition" );
+    }
+
   protected:
     PointListTransform();
     ~PointListTransform(){;}