X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkImageVtkProperties.cxx;h=2057727a9a88ada2d54699fd003f226efafa8840;hb=333b90638d58e788efffee2c61da9e152016e292;hp=9a8b563f68715fd7f628bbe54022e039e467d15e;hpb=0dde94ea04d1505b73e3b57bb3d736363104642f;p=bbtk.git diff --git a/packages/vtk/src/bbvtkImageVtkProperties.cxx b/packages/vtk/src/bbvtkImageVtkProperties.cxx index 9a8b563..2057727 100644 --- a/packages/vtk/src/bbvtkImageVtkProperties.cxx +++ b/packages/vtk/src/bbvtkImageVtkProperties.cxx @@ -40,51 +40,53 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageVtkProperties,bbtk::AtomicBlackBox); //===== void ImageVtkProperties::Process() { - unsigned int dim; - int ext[6]; - double spc[3]; - double range[2]; - std::string nametype; - int numberoOfComponents; - std::vector vsize; - std::vector vspacing; - std::vector vrange; + unsigned int dim; + int ext[6]; + double spc[3]; + double range[2]; + double origin[3]; + std::string nametype; + int numberoOfComponents; + std::vector vsize; + std::vector vspacing; + std::vector vrange; + std::vector vorigin; - if ( bbGetInputIn() ){ + if ( bbGetInputIn() ) + { + bbGetInputIn()->Modified(); bbGetInputIn()->Update(); - bbGetInputIn()->GetWholeExtent(ext); vsize.push_back(ext[1]-ext[0]+1); vsize.push_back(ext[3]-ext[2]+1); vsize.push_back(ext[5]-ext[4]+1); - dim = 0; if (vsize[0]>1) dim++; if (vsize[1]>1) dim++; if (vsize[2]>1) dim++; - bbGetInputIn()->GetScalarRange(range); + bbGetInputIn()->GetOrigin(origin); numberoOfComponents=bbGetInputIn()->GetNumberOfScalarComponents(); - bbGetInputIn()->GetSpacing(spc); for (unsigned int i=0;iGetScalarType()==VTK_BIT) nametype="VTK_BIT"; // 1 - if (bbGetInputIn()->GetScalarType()==VTK_CHAR) nametype="VTK_CHAR"; // 2 + { + vspacing.push_back( (double)spc[i] ); + vorigin.push_back( (double)origin[i] ); + } + vrange.push_back((double)range[0]); + vrange.push_back((double)range[1]); + if (bbGetInputIn()->GetScalarType()==VTK_BIT) nametype="VTK_BIT"; // 1 + if (bbGetInputIn()->GetScalarType()==VTK_CHAR) nametype="VTK_CHAR"; // 2 if (bbGetInputIn()->GetScalarType()==VTK_SIGNED_CHAR) nametype="VTK_SIGNED_CHAR"; // 15 if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_CHAR) nametype="VTK_UNSIGNED_CHAR"; // 3 - if (bbGetInputIn()->GetScalarType()==VTK_SHORT) nametype="VTK_SHORT"; // 4 + if (bbGetInputIn()->GetScalarType()==VTK_SHORT) nametype="VTK_SHORT"; // 4 if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_SHORT) nametype="VTK_UNSIGNED_SHORT"; // 5 - if (bbGetInputIn()->GetScalarType()==VTK_INT) nametype="VTK_INT"; // 6 + if (bbGetInputIn()->GetScalarType()==VTK_INT) nametype="VTK_INT"; // 6 if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_INT) nametype="VTK_UNSIGNED_INT"; // 7 - if (bbGetInputIn()->GetScalarType()==VTK_LONG) nametype="VTK_LONG"; // 8 + if (bbGetInputIn()->GetScalarType()==VTK_LONG) nametype="VTK_LONG"; // 8 if (bbGetInputIn()->GetScalarType()==VTK_UNSIGNED_LONG) nametype="VTK_UNSIGNED_LONG"; // 9 - if (bbGetInputIn()->GetScalarType()==VTK_FLOAT) nametype="VTK_FLOAT"; // 10 - if (bbGetInputIn()->GetScalarType()==VTK_DOUBLE) nametype="VTK_DOUBLE"; // 11 + if (bbGetInputIn()->GetScalarType()==VTK_FLOAT) nametype="VTK_FLOAT"; // 10 + if (bbGetInputIn()->GetScalarType()==VTK_DOUBLE) nametype="VTK_DOUBLE"; // 11 } else { dim = 0; numberoOfComponents = 0; @@ -98,13 +100,13 @@ void ImageVtkProperties::Process() vrange.push_back(0); nametype = "VOID"; } - bbSetOutputDimension( dim ); - bbSetOutputSize( vsize ); - bbSetOutputSpacing( vspacing ); - bbSetOutputMinMax( vrange ); - bbSetOutputTypeName( nametype ); - bbSetOutputComponents( numberoOfComponents ); - + bbSetOutputDimension ( dim ); + bbSetOutputOrigin ( vorigin ); + bbSetOutputSize ( vsize ); + bbSetOutputSpacing ( vspacing ); + bbSetOutputMinMax ( vrange ); + bbSetOutputTypeName ( nametype ); + bbSetOutputComponents ( numberoOfComponents ); } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)