[vtkusers] vtkPolyDataWriter: comma decimal mark instead of dot decimal mark

David Gobbi david.gobbi at gmail.com
Mon Aug 28 11:03:54 EDT 2017

Hi Romain,

I suspect that VTK could be fixed if someone simply added a call to
"imbue(std::locale::classic())" to vtkDataWriter::OpenVTKFile(), e.g.:

    fptr = new std::ostringstream;


    fptr = new ofstream(this->FileName, ios::out);

If you have built VTK from source, you can try making the above change to
see if it fixes the issue (the vtkDataSetReader might also need to be
fixed, as well as many other IO classes).

 - David

On Mon, Aug 28, 2017 at 8:33 AM, Romain LEGUAY <romain.leguay at gmail.com>

> Hi everyone,
> I have a little issue when I try to write then read a polydata.
> This is the code I use to write  then read my polydata inside a string
> (not a file):
> // Writing part
> vtkSmartPointer<vtkPolyDataWriter> writer = vtkSmartPointer<
> vtkPolyDataWriter>::New();
> writer->WriteToOutputStringOn();
> writer->SetInputData(myPolyData);
> writer->Update();
> char * data = writer->GetOutputString();
> // Reading part
> vtkSmartPointer<vtkPolyDataReader> polyReader = vtkSmartPointer<
> vtkPolyDataReader>::New();
> polyReader->ReadFromInputStringOn();
> polyReader->SetInputString(data);
> polyReader->Update();
> vtkSmartPointer<vtkPolyData> polyData = polyReader->GetOutput();
> Unfortunately, when I try to read the data, I have some error indicating
> some Unrecognized symbols: the decimal mark is a comma instead of a dot.
> Can we change easily this comportement or force VTK to write with dot
> decimal mark?
> I know the command std::setlocale but I would like to know if there is
> another way to fix this problem.
> Thank you!
> Romain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20170828/f050b83f/attachment.html>

More information about the vtkusers mailing list