From: Istvan Csanady Date: Mon, 12 Jan 2015 15:40:00 +0000 (+0100) Subject: 0025698: Implementation of progress feedback in pave filler X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=b0e6fe32e260d7115f60f70cf7d95e7df6102989;p=occt-copy.git 0025698: Implementation of progress feedback in pave filler --- diff --git a/src/BOPAlgo/BOPAlgo_PaveFiller.cxx b/src/BOPAlgo/BOPAlgo_PaveFiller.cxx index b5fe4c6110..6867cc10cf 100644 --- a/src/BOPAlgo/BOPAlgo_PaveFiller.cxx +++ b/src/BOPAlgo/BOPAlgo_PaveFiller.cxx @@ -26,6 +26,7 @@ #include #include #include +#include //======================================================================= @@ -215,26 +216,46 @@ void BOPAlgo_PaveFiller::Perform() void BOPAlgo_PaveFiller::PerformInternal() { myErrorStatus=0; + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->NewScope(100.0); + myProgressIndicator->SetStep(100.0 / 16.0); + } + // Init(); if (myErrorStatus) { return; } + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // Prepare(); if (myErrorStatus) { return; } + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 00 PerformVV(); if (myErrorStatus) { return; } + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } // 01 PerformVE(); if (myErrorStatus) { return; } + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // myDS->UpdatePaveBlocks(); // 11 @@ -242,32 +263,62 @@ void BOPAlgo_PaveFiller::PerformInternal() if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 02 PerformVF(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 12 PerformEF(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // MakeSplitEdges(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // // 22 PerformFF(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // MakeBlocks(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // RefineFaceInfoOn(); // @@ -275,30 +326,59 @@ void BOPAlgo_PaveFiller::PerformInternal() if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // ProcessDE(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // // 03 PerformVZ(); if (myErrorStatus) { return; } + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 13 PerformEZ(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 23 PerformFZ(); if (myErrorStatus) { return; } + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + } + // 33 PerformZZ(); if (myErrorStatus) { return; } -} + + if (!myProgressIndicator.IsNull()) { + myProgressIndicator->Increment(); + myProgressIndicator->EndScope(); + } +}