Salome HOME
Management of unsigned char vtk arrays
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 17 Feb 2017 10:16:20 +0000 (11:16 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 17 Feb 2017 10:16:20 +0000 (11:16 +0100)
src/Plugins/MEDWriter/IO/vtkMEDWriter.cxx

index 69e1cba972de2130a23de132e524909984f7c71c..8b1b12301227a2817f8cbb44052a47adcf329745 100644 (file)
@@ -160,6 +160,13 @@ DataArrayInt *ConvertVTKArrayToMCArrayInt(vtkDataArray *data)
       std::copy(pt,pt+nbElts,ptOut);
       return ret.retn();
     }
+  vtkUnsignedCharArray *d2(vtkUnsignedCharArray::SafeDownCast(data));
+  if(d2)
+    {
+      const unsigned char *pt(d2->GetPointer(0));
+      std::copy(pt,pt+nbElts,ptOut);
+      return ret.retn();
+    }
   std::ostringstream oss;
   oss << "ConvertVTKArrayToMCArrayInt : unrecognized array \"" << typeid(*data).name() << "\" type !";
   throw MZCException(oss.str());
@@ -210,7 +217,8 @@ DataArray *ConvertVTKArrayToMCArray(vtkDataArray *data)
     return ConvertVTKArrayToMCArrayDouble(data);
   vtkIntArray *d2(vtkIntArray::SafeDownCast(data));
   vtkLongArray *d3(vtkLongArray::SafeDownCast(data));
-  if(d2 || d3)
+  vtkUnsignedCharArray *d4(vtkUnsignedCharArray::SafeDownCast(data));
+  if(d2 || d3 || d4)
     return ConvertVTKArrayToMCArrayInt(data);
   std::ostringstream oss;
   oss << "ConvertVTKArrayToMCArray : unrecognized array \"" << typeid(*data).name() << "\" type !";