X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOMAlgo%2FGEOMAlgo_ShellSolid.cxx;h=863621166325301f6c8411f5dadf0ba633bc32c4;hb=f7a34e70811b846a2878ed84d1c973dd935b82b3;hp=762f88638c2c90812e7298be4fed994aa821a653;hpb=6fc8283dbbb497e617cb36deae082fdeae4e3844;p=modules%2Fgeom.git diff --git a/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx b/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx index 762f88638..863621166 100644 --- a/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx +++ b/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 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 @@ -55,6 +55,9 @@ #include #include + +#include + ///////////////////////////////////////////////////////////////////////// //======================================================================= //class : GEOMAlgo_ShellSolidBuilder @@ -70,7 +73,12 @@ class GEOMAlgo_ShellSolidBuilder : public BOPAlgo_Builder { protected: Standard_EXPORT +#if OCC_VERSION_LARGE < 0x07070000 virtual void PerformInternal(const BOPAlgo_PaveFiller& theFiller); +#else + virtual void PerformInternal(const BOPAlgo_PaveFiller& theFiller, + const Message_ProgressRange& theRange); +#endif }; //======================================================================= @@ -93,9 +101,13 @@ GEOMAlgo_ShellSolidBuilder::~GEOMAlgo_ShellSolidBuilder() //function : PerformInternal //purpose : //======================================================================= +#if OCC_VERSION_LARGE < 0x07070000 void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller) +#else +void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller, + const Message_ProgressRange& theRange) +#endif { - // myPaveFiller=(BOPAlgo_PaveFiller*)&theFiller; myDS=myPaveFiller->PDS(); myContext=myPaveFiller->Context(); @@ -111,10 +123,21 @@ void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi if (HasErrors()) { return; } + +#if OCC_VERSION_LARGE >= 0x07070000 + Message_ProgressScope aPS(theRange, "Building the result of Boolean operation", 100); // + BOPAlgo_PISteps aSteps (PIOperation_Last); + analyzeProgress (100, aSteps); +#endif + // 3. Fill Images // 3.1 Vertice +#if OCC_VERSION_LARGE < 0x07070000 FillImagesVertices(); +#else + FillImagesVertices(aPS.Next(aSteps.GetStep(PIOperation_TreatVertices))); +#endif if (HasErrors()) { return; } @@ -124,7 +147,11 @@ void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi return; } // 3.2 Edges +#if OCC_VERSION_LARGE < 0x07070000 FillImagesEdges(); +#else + FillImagesEdges(aPS.Next(aSteps.GetStep(PIOperation_TreatEdges))); +#endif if (HasErrors()) { return; } @@ -135,7 +162,11 @@ void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi } // // 3.3 Wires +#if OCC_VERSION_LARGE < 0x07070000 FillImagesContainers(TopAbs_WIRE); +#else + FillImagesContainers(TopAbs_WIRE, aPS.Next(aSteps.GetStep(PIOperation_TreatWires))); +#endif if (HasErrors()) { return; } @@ -146,7 +177,11 @@ void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi } // 3.4 Faces +#if OCC_VERSION_LARGE < 0x07070000 FillImagesFaces(); +#else + FillImagesFaces(aPS.Next(aSteps.GetStep(PIOperation_TreatFaces))); +#endif if (HasErrors()) { return; } @@ -300,7 +335,7 @@ void GEOMAlgo_ShellSolid::Perform() }//for (i=iBeg; i<=iEnd; ++i) { }// try - catch (Standard_Failure) { + catch (Standard_Failure&) { myErrorStatus=12; } }