+ 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);