X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Fkernel%2Fvolume.cxx;h=9bdafc34c38ec2b639d2de885b3466a2c0a93f28;hb=ca35b13e046343c8b50cbd6b833828b06c9d1608;hp=c70a31bb05ed673ff088e259bb90363b80792412;hpb=e4ef2b5df5aac431ff3b806f83b7dd5e55e89d86;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/kernel/volume.cxx b/lib/maracasVisuLib/src/kernel/volume.cxx index c70a31b..9bdafc3 100644 --- a/lib/maracasVisuLib/src/kernel/volume.cxx +++ b/lib/maracasVisuLib/src/kernel/volume.cxx @@ -724,14 +724,14 @@ void kVolume::buildIndex( ) #ifdef KGFO_USE_VTK - vtkCharArray* carray; - vtkDoubleArray* darray; - vtkFloatArray* farray; - vtkIntArray* iarray; - vtkShortArray* sarray; - vtkUnsignedCharArray* ucarray; - vtkUnsignedIntArray* uiarray; - vtkUnsignedShortArray* usarray; + vtkCharArray *carray; + vtkDoubleArray *darray; + vtkFloatArray *farray; + vtkIntArray *iarray; + vtkShortArray *sarray; + vtkUnsignedCharArray *ucarray; + vtkUnsignedIntArray *uiarray; + vtkUnsignedShortArray *usarray; size = _dims[ CX ] * _dims[ CY ] * _dims[ CZ ]; @@ -741,82 +741,279 @@ void kVolume::buildIndex( ) _vtk->SetDimensions( _dims[ CX ], _dims[ CY ], _dims[ CZ ] ); _vtk->SetSpacing( _sizes[ CX ], _sizes[ CY ], _sizes[ CZ ] ); + if (_type==CHAR) + { + carray = vtkCharArray::New( ); + carray->SetArray( ( char* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + carray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_CHAR ); +#else + vtkInformation* infoC=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoC, VTK_CHAR, 1); +#endif + _vtk->GetPointData( )->SetScalars( carray ); + carray->Delete( ); + } + + if (_type==UCHAR) + { + ucarray = vtkUnsignedCharArray::New( ); + ucarray->SetArray( ( uint8_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + ucarray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_UNSIGNED_CHAR ); +#else + vtkInformation* infoUC=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUC, VTK_UNSIGNED_CHAR, 1); +#endif + _vtk->GetPointData( )->SetScalars( ucarray ); + ucarray->Delete( ); + } + + + + + + if (_type==SHORT) + { + sarray = vtkShortArray::New( ); + sarray->SetArray( ( int16_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + sarray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_SHORT ); +#else + vtkInformation* infoS=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoS, VTK_SHORT, 1); +#endif + _vtk->GetPointData( )->SetScalars( sarray ); + sarray->Delete( ); +} + + if (_type==INT) + { + iarray = vtkIntArray::New( ); + iarray->SetArray( ( int32_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + iarray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_INT ); +#else + vtkInformation* infoI=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoI, VTK_INT, 1); +#endif + _vtk->GetPointData( )->SetScalars( iarray ); + iarray->Delete( ); + } + + + if (_type==USHORT) + { + usarray = vtkUnsignedShortArray::New( ); + usarray->SetArray( ( uint16_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + usarray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_UNSIGNED_SHORT ); +#else + vtkInformation* infoUS=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUS, VTK_UNSIGNED_SHORT, 1); +#endif + _vtk->GetPointData( )->SetScalars( usarray ); + usarray->Delete( ); + } + + + if (_type==UINT) + { + uiarray = vtkUnsignedIntArray::New( ); + uiarray->SetArray( ( uint32_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + uiarray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_UNSIGNED_INT ); +#else + vtkInformation* infoUI=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUI, VTK_UNSIGNED_INT, 1); +#endif + _vtk->GetPointData( )->SetScalars( uiarray ); + uiarray->Delete( ); + } + + + if (_type==FLOAT) + { + farray = vtkFloatArray::New( ); + farray->SetArray( ( float* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + farray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_FLOAT ); +#else + vtkInformation* infoF=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoF, VTK_FLOAT, 1); +#endif + _vtk->GetPointData( )->SetScalars( farray ); + farray->Delete( ); + } + + + if (_type==DOUBLE) + { + darray = vtkDoubleArray::New( ); + darray->SetArray( ( double* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + darray->SetNumberOfComponents( 1 ); + _vtk->SetScalarType( VTK_DOUBLE ); +#else + vtkInformation* infoD=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoD, VTK_DOUBLE, 1); +#endif + + + _vtk->GetPointData( )->SetScalars( darray ); + darray->Delete( ); + } + + + + + + +/* switch( _type ) { case CHAR: carray = vtkCharArray::New( ); - carray->SetNumberOfComponents( 1 ); carray->SetArray( ( char* )( _raw ), size, 1 ); + +//EED 2017-01-01 Migration VTK7 +//#if VTK_MAJOR_VERSION <= 5 + carray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_CHAR ); +#else + vtkInformation* infoC=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoC, VTK_CHAR, 1); +#endif + _vtk->GetPointData( )->SetScalars( carray ); carray->Delete( ); break; case UCHAR: ucarray = vtkUnsignedCharArray::New( ); - ucarray->SetNumberOfComponents( 1 ); ucarray->SetArray( ( uint8_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + ucarray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_UNSIGNED_CHAR ); +#else + vtkInformation* infoUC=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUC, VTK_UNSIGNED_CHAR, 1); +#endif _vtk->GetPointData( )->SetScalars( ucarray ); ucarray->Delete( ); break; case SHORT: sarray = vtkShortArray::New( ); - sarray->SetNumberOfComponents( 1 ); sarray->SetArray( ( int16_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + sarray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_SHORT ); +#else + vtkInformation* infoS=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoS, VTK_SHORT, 1); +#endif _vtk->GetPointData( )->SetScalars( sarray ); sarray->Delete( ); break; case INT: iarray = vtkIntArray::New( ); - iarray->SetNumberOfComponents( 1 ); iarray->SetArray( ( int32_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + iarray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_INT ); +#else + vtkInformation* infoI=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoI, VTK_INT, 1); +#endif _vtk->GetPointData( )->SetScalars( iarray ); iarray->Delete( ); break; case USHORT: usarray = vtkUnsignedShortArray::New( ); - usarray->SetNumberOfComponents( 1 ); usarray->SetArray( ( uint16_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + usarray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_UNSIGNED_SHORT ); +#else + vtkInformation* infoUS=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUS, VTK_UNSIGNED_SHORT, 1); +#endif _vtk->GetPointData( )->SetScalars( usarray ); usarray->Delete( ); break; case UINT: uiarray = vtkUnsignedIntArray::New( ); - uiarray->SetNumberOfComponents( 1 ); uiarray->SetArray( ( uint32_t* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + uiarray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_UNSIGNED_INT ); +#else + vtkInformation* infoUI=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoUI, VTK_UNSIGNED_INT, 1); +#endif _vtk->GetPointData( )->SetScalars( uiarray ); uiarray->Delete( ); break; case FLOAT: farray = vtkFloatArray::New( ); - farray->SetNumberOfComponents( 1 ); farray->SetArray( ( float* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + farray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_FLOAT ); +#else + vtkInformation* infoF=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoF, VTK_FLOAT, 1); +#endif _vtk->GetPointData( )->SetScalars( farray ); farray->Delete( ); break; case DOUBLE: darray = vtkDoubleArray::New( ); - darray->SetNumberOfComponents( 1 ); darray->SetArray( ( double* )( _raw ), size, 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + darray->SetNumberOfComponents( 1 ); _vtk->SetScalarType( VTK_DOUBLE ); +#else + vtkInformation* infoD=_vtk->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(infoD, VTK_DOUBLE, 1); +#endif + + _vtk->GetPointData( )->SetScalars( darray ); darray->Delete( ); break; } // fswitch - +*/ + } // fi #endif // KGFO_USE_VTK