From: sshutina Date: Fri, 11 Jul 2025 12:17:18 +0000 (+0100) Subject: GLTF Parser - Fix indices during reader arrays X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FCR0-gltfparser;p=occt.git GLTF Parser - Fix indices during reader arrays --- diff --git a/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx b/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx index e517be7bf5..136f263a58 100644 --- a/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx +++ b/src/DataExchange/TKDEGLTF/RWGltf/RWGltf_GltfJsonParser.cxx @@ -276,7 +276,7 @@ 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[anIndex].GetInt()); } getResult()->SetArrayOfIntegers(theValueName.c_str(), anArray); return true; @@ -287,7 +287,7 @@ 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[anIndex].GetDouble()); } getResult()->SetArrayOfReals(theValueName.c_str(), anArray); return true; @@ -302,7 +302,7 @@ 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[i].GetString(); } getResult()->SetString(theValueName.c_str(), anArrayString.c_str()); return true;