From 055a706162aded7e694a5942d98162f50d230084 Mon Sep 17 00:00:00 2001 From: vsr Date: Wed, 29 Jun 2011 13:03:38 +0000 Subject: [PATCH] Return back workaround for embedded compounds since the OCCT patch does not work in all cases (e.g. it fails when exporting / importing single edge). --- src/STEPImport/STEPImport.cxx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/STEPImport/STEPImport.cxx b/src/STEPImport/STEPImport.cxx index 037339e1d..22f0dee18 100644 --- a/src/STEPImport/STEPImport.cxx +++ b/src/STEPImport/STEPImport.cxx @@ -131,6 +131,21 @@ extern "C" /* For a single entity */ else if (nbr == 1 && nbs == 1) { aResShape = aReader.Shape(1); + // ATTENTION: this is a workaround for mantis issue 0020442 remark 0010776 + // It should be removed after patching OCCT for bug OCC22436 + // (fix for OCCT is expected in service pack next to OCCT6.3sp12) + if (aResShape.ShapeType() == TopAbs_COMPOUND) { + int nbSub1 = 0; + TopoDS_Shape currShape; + TopoDS_Iterator It (aResShape, Standard_True, Standard_True); + for (; It.More(); It.Next()) { + nbSub1++; + currShape = It.Value(); + } + if (nbSub1 == 1) + aResShape = currShape; + } + // END workaround break; } -- 2.39.2