- std::cout << "alloc ok"<<std::endl;
- vtkDataArrayTemplate<T>* array
- = (vtkDataArrayTemplate<T>*)vtkDataArrayTemplate<T>::New();
- std::cout << "data array alloc ok"<<std::endl;
- // array->SetNumberOfComponents( 1 );
- std::cout << "nb compo ok"<<std::endl;
- // The last param of SetArray is set to 1 to keep the class from deleting the array when it cleans up or reallocates memory.
+ vtkDataArray* array = 0;
+ switch (vtktype)
+ {
+ case VTK_CHAR:
+ array = vtkCharArray::New(); break;
+ case VTK_SIGNED_CHAR:
+ array = vtkSignedCharArray::New(); break;
+ case VTK_UNSIGNED_CHAR:
+ array = vtkUnsignedCharArray::New(); break;
+ case VTK_SHORT:
+ array = vtkShortArray::New(); break;
+ case VTK_UNSIGNED_SHORT:
+ array = vtkUnsignedShortArray::New(); break;
+ case VTK_INT:
+ array = vtkIntArray::New(); break;
+ case VTK_UNSIGNED_INT:
+ array = vtkUnsignedIntArray::New(); break;
+ case VTK_LONG:
+ array = vtkLongArray::New(); break;
+ case VTK_UNSIGNED_LONG:
+ array = vtkUnsignedLongArray::New(); break;
+ case VTK_FLOAT:
+ array = vtkFloatArray::New(); break;
+ case VTK_DOUBLE:
+ array = vtkDoubleArray::New(); break;
+ default:
+ creaGlobalError("NewVtkImageDataFromRaw : type "
+ <<vtkTypeTraits<T>::SizedName()
+ <<" non implemented");
+ }
+ vtkDataArrayTemplate<T>* tarray
+ = dynamic_cast<vtkDataArrayTemplate<T>*>(array);
+ array->SetNumberOfComponents( 1 );