diff --git a/src/ACGL/OpenGL/Data/GeometryDataLoadStoreOBJ.cc b/src/ACGL/OpenGL/Data/GeometryDataLoadStoreOBJ.cc index 7f5b8850382986a45fe4d308546ba184699acae6..8edc7802ff688bcb4acaea6d933a3747e6da7d66 100644 --- a/src/ACGL/OpenGL/Data/GeometryDataLoadStoreOBJ.cc +++ b/src/ACGL/OpenGL/Data/GeometryDataLoadStoreOBJ.cc @@ -11,6 +11,7 @@ #include #include +#include using namespace ACGL; using namespace ACGL::OpenGL; @@ -145,6 +146,10 @@ namespace OpenGL{ SharedGeometryData loadGeometryDataFromOBJ(const std::string& _filename, bool _computeNormals) { + char *currentLocale; + currentLocale = setlocale( LC_NUMERIC, NULL ); // store current locale + setlocale( LC_NUMERIC, "C" ); // make sure the decimal point is a '.' + SharedGeometryData data; MemoryMappedFile mmf(_filename.c_str()); if(mmf.errorCode()) @@ -416,6 +421,8 @@ SharedGeometryData loadGeometryDataFromOBJ(const std::string& _filename, bool _c data->setSize(abDataElements * sizeof(GLfloat)); data->setData((GLubyte*)abData); + setlocale( LC_NUMERIC, currentLocale ); // restore old locale + return data; }