diff --git a/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx b/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx index e517be7bf5..8eedcef27e 100644 --- a/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx +++ b/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx @@ -276,7 +276,8 @@ bool RWGltf_ExtrasParser::parseArray(const RWGltf_JsonValue& theValue, Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(0, theValue.Size()); for (size_t anIndex = 0; anIndex < theValue.Size(); ++anIndex) { - anArray->SetValue(static_cast(anIndex), theValue[0].GetInt()); + anArray->SetValue(static_cast(anIndex), + theValue[static_cast(anIndex)].GetInt()); } getResult()->SetArrayOfIntegers(theValueName.c_str(), anArray); return true; @@ -287,7 +288,8 @@ bool RWGltf_ExtrasParser::parseArray(const RWGltf_JsonValue& theValue, Handle(TColStd_HArray1OfReal) anArray = new TColStd_HArray1OfReal(0, theValue.Size()); for (size_t anIndex = 0; anIndex < theValue.Size(); ++anIndex) { - anArray->SetValue(static_cast(anIndex), theValue[0].GetDouble()); + anArray->SetValue(static_cast(anIndex), + theValue[static_cast(anIndex)].GetDouble()); } getResult()->SetArrayOfReals(theValueName.c_str(), anArray); return true; @@ -302,7 +304,8 @@ bool RWGltf_ExtrasParser::parseArray(const RWGltf_JsonValue& theValue, const std::string aSeparator = ";"; for (size_t i = 0; i < theValue.Size(); ++i) { - anArrayString = anArrayString + aSeparator + theValue[0].GetString(); + anArrayString = + anArrayString + aSeparator + theValue[static_cast(i)].GetString(); } getResult()->SetString(theValueName.c_str(), anArrayString.c_str()); return true;