]> OCCT Git - occt.git/commitdiff
0033486: Data Exchange - Mistake in processing of the oriented dimensions IR-2023-09-22
authorika <ika@opencascade.com>
Thu, 21 Sep 2023 13:01:59 +0000 (14:01 +0100)
committerjokwajeb <jokwajeb@opencascade.com>
Sat, 23 Sep 2023 13:41:46 +0000 (14:41 +0100)
Remove using the array member's number instead of array member.

src/STEPCAFControl/STEPCAFControl_Reader.cxx

index d9c48b2693cb48a3bbdb95b4641eb9c8a368881e..e9e6ac69c2ee622313ecfdbe1d9e4b2014c43f74 100644 (file)
@@ -3940,14 +3940,15 @@ static void setDimObjectToXCAF(const Handle(Standard_Transient)& theEnt,
           //for Oriented Dimensional Location
           Handle(TColStd_HArray1OfReal) aDirArr = anAP->RefDirection()->DirectionRatios();
           gp_Dir aDir;
+          Standard_Integer aDirLower = aDirArr->Lower();
           if (!aDirArr.IsNull() && aDirArr->Length() > 2)
           {
-            aDir.SetCoord(aDirArr->Lower(), aDirArr->Lower() + 1, aDirArr->Lower() + 2);
+            aDir.SetCoord(aDirArr->Value(aDirLower), aDirArr->Value(aDirLower + 1), aDirArr->Value(aDirLower + 2));
             aDimObj->SetDirection(aDir);
           }
           else if (aDirArr->Length() > 1)
           {
-            aDir.SetCoord(aDirArr->Lower(), aDirArr->Lower() + 1, 0);
+            aDir.SetCoord(aDirArr->Value(aDirLower), aDirArr->Value(aDirLower + 1), 0);
             aDimObj->SetDirection(aDir);
           }
         }