X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkFlip.cxx;h=8ec173cf705ed77ca42c8608d625389b9cb9db6e;hb=edb8e9b8948e7216e06b3ef5228b16f18417ca52;hp=1a65c9d3ead709b4a022a7feecc882ed02a5ef2b;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/packages/vtk/src/bbvtkFlip.cxx b/packages/vtk/src/bbvtkFlip.cxx index 1a65c9d..8ec173c 100644 --- a/packages/vtk/src/bbvtkFlip.cxx +++ b/packages/vtk/src/bbvtkFlip.cxx @@ -54,6 +54,7 @@ namespace bbvtk //std::cout << "-------- entree ds Flip::bbUserSetDefaultValues()\n" << std::endl; bbSetInputIn(NULL); + bbSetInputAxis("Y"); mImageOut = NULL; bbSetOutputOut(NULL); } @@ -99,20 +100,36 @@ void Flip::Process() mImageOut = vtkImageData::New(); // Alloc depends on bbGetInputIn().size() mImageOut->Initialize(); - mImageOut->SetScalarType( bbGetInputIn()->GetScalarType() ); mImageOut->SetSpacing( bbGetInputIn()->GetSpacing() ); mImageOut->SetDimensions( bbGetInputIn()->GetDimensions() ); + +//EED 2017-01-01 Migration VTK7 +#if (VTK_MAJOR_VERSION <= 5) + mImageOut->SetScalarType( bbGetInputIn()->GetScalarType() ); mImageOut->SetNumberOfScalarComponents( bbGetInputIn()->GetNumberOfScalarComponents() ); mImageOut->AllocateScalars(); +#endif +#if (VTK_MAJOR_VERSION >= 6) + mImageOut->AllocateScalars(bbGetInputIn()->GetScalarType() , bbGetInputIn()->GetNumberOfScalarComponents()); +#endif int inputdims[3]; // int outputdims[3]; bbGetInputIn()->GetDimensions (inputdims); + +//EED 2017-01-01 Migration VTK7 +#if (VTK_MAJOR_VERSION <= 5) bbGetInputIn()->Update(); +#endif +#if (VTK_MAJOR_VERSION >= 6) + // .. +#endif + int nbScalComp = bbGetInputIn()->GetNumberOfScalarComponents(); int scalarSize = bbGetInputIn()->GetScalarSize(); int lineSize = inputdims[0]*scalarSize*nbScalComp; int planeSize = inputdims[1]*lineSize; + int volumeSize = inputdims[2]*planeSize; char *pixelsIn = (char *)bbGetInputIn()->GetScalarPointer(); char *pixelsOut = (char *)mImageOut->GetScalarPointer(); @@ -120,19 +137,60 @@ void Flip::Process() char *lineOut; char *debPlanIn; char *debPlanOut; - int j,k; - for(k=0; kGetScalarPointer(0,0,0); + pixelsOut = (char *)mImageOut->GetScalarPointer(0,0,0); + memcpy(pixelsOut, pixelsIn, volumeSize ); + } else if ( (bbGetInputAxis()=="X") || (bbGetInputAxis()=="x") ) + { + + for(k=0; kGetScalarPointer(i,j,k); + pixelsOut = (char *)mImageOut->GetScalarPointer(inputdims[0]-1-i,j,k); + memcpy(pixelsOut, pixelsIn, scalarSize ); + } // for i + } // for j + } // for k + + } else if ( (bbGetInputAxis()=="Z") || (bbGetInputAxis()=="z") ) { + + for(k=0; kGetScalarPointer(i,j,k); + pixelsOut = (char *)mImageOut->GetScalarPointer(i,j,inputdims[2]-1-k); + memcpy(pixelsOut, pixelsIn, scalarSize ); + } // for i + } // for j + } // for k + + } else { + + for(k=0; kModified(); bbSetOutputOut( mImageOut ); } // bbGetInputIn