diff --git a/libraries/model-serializers/src/GLTFSerializer.h b/libraries/model-serializers/src/GLTFSerializer.h index 5d31a5618a..203bae47d5 100644 --- a/libraries/model-serializers/src/GLTFSerializer.h +++ b/libraries/model-serializers/src/GLTFSerializer.h @@ -14,13 +14,29 @@ #ifndef hifi_GLTFSerializer_h #define hifi_GLTFSerializer_h -#include "cgltf.h" +#include #include #include #include #include +static float atof_locale_independent(char *str) { + //TODO: Once we have C++17 we can use std::from_chars + std::istringstream streamToParse(str); + streamToParse.imbue(std::locale("C")); + float value; + if(!(streamToParse >> value)) { + qDebug(modelformat) << "cgltf: Cannot parse float from string: " << str; + return 0.0f; + } + return value; +} + +#define CGLTF_ATOF(str) atof_locale_independent(str) + +#include "cgltf.h" + class GLTFSerializer : public QObject, public HFMSerializer { Q_OBJECT