]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/vtkImageDataStrucPoints.cpp
VectorField 2D view
[creaVtk.git] / lib / creaVtk / vtkImageDataStrucPoints.cpp
index 44c33a31788ffdb90d39b6a6402cf3ebce1cebcc..b06c5f20c37987fb8f94e08b09ec4e2a4d0ab071 100644 (file)
@@ -38,23 +38,26 @@ vtkImageDataStrucPoints::~vtkImageDataStrucPoints()
 }
 void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ)
 {
+       int ext[6];
        imageY->Modified();
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        imageY->Update();
-       int ext[6];
        imageY->GetWholeExtent(ext);
+#else
+       imageY->GetExtent(ext);
+#endif
        int dim[3];
-  double spc[3];;
-  dim[0]=ext[1]-ext[0]+1;
-  dim[1]=ext[3]-ext[2]+1;
-  dim[2]=ext[5]-ext[4]+1;      
-       std::cout<<"dim "<< dim[0] <<" "<< dim[1] <<" "<< dim[2] <<std::endl;
-
+       double spc[3];
+       dim[0]=ext[1]-ext[0]+1;
+       dim[1]=ext[3]-ext[2]+1;
+       dim[2]=ext[5]-ext[4]+1; 
        imageY->GetSpacing(spc);
 
 
-   double *ptrUCharX = (double *)imageX->GetScalarPointer();
-   double *ptrUCharY = (double *)imageY->GetScalarPointer();
-   double *ptrUCharZ = (double *)imageZ->GetScalarPointer();
+   double *ptrX = (double *)imageX->GetScalarPointer();
+   double *ptrY = (double *)imageY->GetScalarPointer();
+   double *ptrZ = (double *)imageZ->GetScalarPointer();
 
         long int sizeimage = dim[0]*dim[1]*dim[2];
 
@@ -70,31 +73,43 @@ void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData*
 
   int i;
 
-printf("EED  vtkImageDataStrucPoints::joinComponents  sizeimage%d\n", sizeimage );
        for( i = 0 ; i < sizeimage ; i++ )
        {
-               vx = *ptrUCharX;
-               vy = *ptrUCharY;
-               vz = *ptrUCharZ;
-               ptrUCharX++;
-               ptrUCharY++;
-               ptrUCharZ++;
-               array->SetTuple3(i,vx, vy , vz );
+               vx = *ptrX;
+               vy = *ptrY;
+               vz = *ptrZ;
+               ptrX++;
+               ptrY++;
+               ptrZ++;
+       array->SetTuple3(i,vx, vy , vz );
        } // for i
 
        _structuredPoints = vtkStructuredPoints::New();
        _structuredPoints->SetDimensions(dim[0], dim[1], dim[2]);
        _structuredPoints->SetSpacing(spc);
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        _structuredPoints->SetScalarTypeToDouble();
        _structuredPoints->SetNumberOfScalarComponents(3);
+#else
+       vtkInformation* info=_structuredPoints->GetInformation();
+       vtkDataObject::SetPointDataActiveScalarInfo(info, VTK_DOUBLE, 3);
+
+#endif
+
        _structuredPoints->GetPointData()->SetVectors(array);
        _structuredPoints->GetPointData()->SetNumberOfTuples(sizeimage);
        _structuredPoints->Modified();
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        _structuredPoints->Update();
+#else
+  //...
+#endif
 
 /*
        _structuredPoints->Print(cout);
-
    vtkStructuredPointsWriter *writer2 = vtkStructuredPointsWriter::New();
        writer2->SetFileName("/home/davila/tmp/VectorfromCal_EED_ups.vtk");
        //writer->SetFileTypeToBinary();