-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <BRep_Builder.hxx>
#include <BRepAdaptor_Curve.hxx>
+#include <BRepBuilderAPI_Copy.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <TopExp.hxx>
{
switch ( theErrorStatus )
{
- case ShHealOper_NotError: StdFail_NotDone::Raise( "ShHealOper_NotError_msg" );
- case ShHealOper_InvalidParameters: StdFail_NotDone::Raise( "ShHealOper_InvalidParameters_msg" );
+ case ShHealOper_NotError: StdFail_NotDone::Raise( "ShHealOper_NotError_msg" ); break;
+ case ShHealOper_InvalidParameters: StdFail_NotDone::Raise( "ShHealOper_InvalidParameters_msg" ); break;
case ShHealOper_ErrorExecution:
- default: StdFail_NotDone::Raise( "ShHealOper_ErrorExecution_msg" );
+ default: StdFail_NotDone::Raise( "ShHealOper_ErrorExecution_msg" ); break;
}
}
//function : ChangeOrientation
//purpose :
//=======================================================================
-Standard_Boolean GEOMImpl_HealingDriver::ChangeOrientation (GEOMImpl_IHealing* theHI,
+Standard_Boolean GEOMImpl_HealingDriver::ChangeOrientation (GEOMImpl_IHealing* /*theHI*/,
const TopoDS_Shape& theOriginalShape,
TopoDS_Shape& theOutShape) const
{
// 1. Make a copy to prevent the original shape changes.
TopoDS_Shape aShapeCopy;
{
- TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
- TNaming_CopyShape::CopyTool(theOriginalShape, aMapTShapes, aShapeCopy);
+ BRepBuilderAPI_Copy aMC (theOriginalShape);
+ if (aMC.IsDone()) {
+ aShapeCopy = aMC.Shape();
+ }
+ else {
+ TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
+ TNaming_CopyShape::CopyTool(theOriginalShape, aMapTShapes, aShapeCopy);
+ }
}
// 2. Limit tolerance.
*stats = healer.GetStatistics();
}
-IMPLEMENT_STANDARD_RTTIEXT (GEOMImpl_HealingDriver,GEOM_BaseDriver);
+IMPLEMENT_STANDARD_RTTIEXT (GEOMImpl_HealingDriver,GEOM_BaseDriver)