[bos #29103] EDF 24802 - limitation of tolerance

This commit is contained in:
jfa 2022-03-05 10:34:20 +03:00
parent 79d9367898
commit c6dad39806

View File

@ -44,6 +44,7 @@
#include <BRep_Builder.hxx> #include <BRep_Builder.hxx>
#include <BRepAdaptor_Curve.hxx> #include <BRepAdaptor_Curve.hxx>
#include <BRepBuilderAPI_Copy.hxx>
#include <BRepTools_WireExplorer.hxx> #include <BRepTools_WireExplorer.hxx>
#include <TopExp.hxx> #include <TopExp.hxx>
@ -645,8 +646,14 @@ void GEOMImpl_HealingDriver::LimitTolerance (GEOMImpl_IHealing* theHI,
// 1. Make a copy to prevent the original shape changes. // 1. Make a copy to prevent the original shape changes.
TopoDS_Shape aShapeCopy; TopoDS_Shape aShapeCopy;
{ {
TColStd_IndexedDataMapOfTransientTransient aMapTShapes; BRepBuilderAPI_Copy aMC (theOriginalShape);
TNaming_CopyShape::CopyTool(theOriginalShape, aMapTShapes, aShapeCopy); if (aMC.IsDone()) {
aShapeCopy = aMC.Shape();
}
else {
TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
TNaming_CopyShape::CopyTool(theOriginalShape, aMapTShapes, aShapeCopy);
}
} }
// 2. Limit tolerance. // 2. Limit tolerance.