]> Creatis software - clitk.git/blobdiff - common/clitkTransformUtilities.h
Change N formula
[clitk.git] / common / clitkTransformUtilities.h
index 3bdf22026ee0ab969a5fe8f6274db3a0fd4fa2e3..562ed63a67e11facfdcc07ff960fd5456394613a 100644 (file)
@@ -23,7 +23,9 @@
 #include "itkPoint.h"
 #include "clitkImageCommon.h"
 #include "clitkCommon.h"
+#define VTK_EXCLUDE_STRSTREAM_HEADERS
+#include <vtkMatrix4x4.h>
+#include <vtkSmartPointer.h>
  
 namespace clitk
 {
@@ -254,8 +256,9 @@ namespace clitk
     return matrix; 
   }
    
-  inline itk::Matrix<double, 4, 4> ReadMatrix3D(std::string fileName)
-  {
+  itk::Matrix<double, 4, 4> ReadMatrix3D(std::string fileName);
+  inline vtkMatrix4x4* ReadVTKMatrix3D(std::string fileName) {
     // read input matrix
     std::ifstream is;
     openFileForReading(is, fileName);
@@ -266,18 +269,18 @@ namespace clitk
     while (!is.eof()) {
       nb.push_back(x);
       skipComment(is);
-      is >> x;  
+      is >> x;
     }
-     
-    //copy it to the matrix
-    itk::Matrix<double, 4, 4> matrix;
+
+    vtkSmartPointer<vtkMatrix4x4> matrix = vtkSmartPointer<vtkMatrix4x4>::New();
     unsigned int index=0;
     for (unsigned int i=0;i<4;i++)
       for (unsigned int j=0;j<4;j++)
-       matrix[i][j]=nb[index++];
-    return matrix; 
+         matrix->SetElement(i,j, nb[index++]);
+
+    return matrix;
   }
+
   inline itk::Matrix<double, 3, 3> ReadMatrix2D(std::string fileName)
   {
     // read input matrix