Open CASCADE Technology 7.8.0
|
The class provides the root interface for the algorithms in Boolean Component.
More...
#include <BOPAlgo_Algo.hxx>
Public Member Functions | |
virtual void | Perform (const Message_ProgressRange &theRange=Message_ProgressRange())=0 |
The main method to implement the operation Providing the range allows to enable Progress indicator User break functionalities. | |
Public Member Functions inherited from BOPAlgo_Options | |
BOPAlgo_Options () | |
Empty constructor. | |
BOPAlgo_Options (const Handle< NCollection_BaseAllocator > &theAllocator) | |
Constructor with allocator. | |
virtual | ~BOPAlgo_Options () |
Destructor. | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
Returns allocator. | |
virtual void | Clear () |
Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared. | |
void | AddError (const Handle< Message_Alert > &theAlert) |
Adds the alert as error (fail) | |
void | AddWarning (const Handle< Message_Alert > &theAlert) |
Adds the alert as warning. | |
Standard_Boolean | HasErrors () const |
Returns true if algorithm has failed. | |
Standard_Boolean | HasError (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated error of specified type. | |
Standard_Boolean | HasWarnings () const |
Returns true if algorithm has generated some warning alerts. | |
Standard_Boolean | HasWarning (const Handle< Standard_Type > &theType) const |
Returns true if algorithm has generated warning of specified type. | |
const Handle< Message_Report > & | GetReport () const |
Returns report collecting all errors and warnings. | |
void | DumpErrors (Standard_OStream &theOS) const |
Dumps the error status into the given stream. | |
void | DumpWarnings (Standard_OStream &theOS) const |
Dumps the warning statuses into the given stream. | |
void | ClearWarnings () |
Clears the warnings of the algorithm. | |
void | SetFuzzyValue (const Standard_Real theFuzz) |
Sets the additional tolerance. | |
Standard_Real | FuzzyValue () const |
Returns the additional tolerance. | |
void | SetUseOBB (const Standard_Boolean theUseOBB) |
Enables/Disables the usage of OBB. | |
Standard_Boolean | UseOBB () const |
Returns the flag defining usage of OBB. | |
void | SetRunParallel (const Standard_Boolean theFlag) |
Set the flag of parallel processing if <theFlag> is true the parallel processing is switched on if <theFlag> is false the parallel processing is switched off. | |
Standard_Boolean | RunParallel () const |
Returns the flag of parallel processing. | |
Protected Member Functions | |
BOPAlgo_Algo () | |
Default constructor. | |
virtual | ~BOPAlgo_Algo () |
BOPAlgo_Algo (const Handle< NCollection_BaseAllocator > &theAllocator) | |
virtual void | CheckData () |
Checks input data. | |
virtual void | CheckResult () |
Checks the obtained result. | |
Analyzing operations to fill progress indicator | |
void | analyzeProgress (const Standard_Real theWhole, BOPAlgo_PISteps &theSteps) const |
Analyze progress steps of the whole operation. | |
virtual void | fillPIConstants (const Standard_Real theWhole, BOPAlgo_PISteps &theSteps) const |
Fills the values for constant operations - the operations having constant relative running time. | |
virtual void | fillPISteps (BOPAlgo_PISteps &theSteps) const |
Fills the values for the operations dependent on the inputs. Filled values may not be normalized to represent percentage of total running time. The values should just correlate to each other. E.g. if progress depends on the number of input shapes, the values may look like this: step1 = number_of_input_vertices; step2 = 2 * number_of_input_edges; step3 = 10 * number_of_input_faces. Normalization of these values will be done automatically in analyzeProgress() method. | |
Protected Member Functions inherited from BOPAlgo_Options | |
Standard_Boolean | UserBreak (const Message_ProgressScope &thePS) |
Adds error to the report if the break signal was caught. Returns true in this case, false otherwise. | |
Additional Inherited Members | |
Static Public Member Functions inherited from BOPAlgo_Options | |
static Standard_Boolean | GetParallelMode () |
Gets the global parallel mode. | |
static void | SetParallelMode (const Standard_Boolean theNewMode) |
Sets the global parallel mode. | |
Protected Attributes inherited from BOPAlgo_Options | |
Handle< NCollection_BaseAllocator > | myAllocator |
Enables/Disables the usage of OBB. | |
Handle< Message_Report > | myReport |
Enables/Disables the usage of OBB. | |
Standard_Boolean | myRunParallel |
Enables/Disables the usage of OBB. | |
Standard_Real | myFuzzyValue |
Enables/Disables the usage of OBB. | |
Standard_Boolean | myUseOBB |
Enables/Disables the usage of OBB. | |
The class provides the root interface for the algorithms in Boolean Component.
|
protected |
Default constructor.
|
protectedvirtual |
|
protected |
|
protected |
Analyze progress steps of the whole operation.
theWhole | - sum of progress of all operations. @oaram theSteps - steps of the operations supported by PI |
To use this method, one has to override the following methods:
|
protectedvirtual |
Checks input data.
Reimplemented in BOPAlgo_BOP, BOPAlgo_Builder, BOPAlgo_BuilderFace, BOPAlgo_MakerVolume, BOPAlgo_RemoveFeatures, BOPAlgo_Section, BOPAlgo_Splitter, and BOPAlgo_WireSplitter.
|
protectedvirtual |
Checks the obtained result.
|
protectedvirtual |
Fills the values for constant operations - the operations having constant relative running time.
theWhole | - sum of all operations supported by PI, i.e. the value to normalize the steps to, if necessary. |
theSteps | - steps of the operations supported by PI |
Reimplemented in BOPAlgo_BOP, BOPAlgo_Builder, BOPAlgo_PaveFiller, BOPAlgo_RemoveFeatures, and BOPAlgo_Section.
|
protectedvirtual |
Fills the values for the operations dependent on the inputs. Filled values may not be normalized to represent percentage of total running time. The values should just correlate to each other. E.g. if progress depends on the number of input shapes, the values may look like this: step1 = number_of_input_vertices; step2 = 2 * number_of_input_edges; step3 = 10 * number_of_input_faces. Normalization of these values will be done automatically in analyzeProgress() method.
Reimplemented in BOPAlgo_Builder, BOPAlgo_MakerVolume, BOPAlgo_PaveFiller, and BOPAlgo_Section.
|
pure virtual |
The main method to implement the operation Providing the range allows to enable Progress indicator User break functionalities.
Implemented in BOPAlgo_ArgumentAnalyzer, BOPAlgo_BOP, BOPAlgo_Builder, BOPAlgo_BuilderFace, BOPAlgo_BuilderSolid, BOPAlgo_CheckerSI, BOPAlgo_MakerVolume, BOPAlgo_PaveFiller, BOPAlgo_RemoveFeatures, BOPAlgo_ShellSplitter, BOPAlgo_Splitter, and BOPAlgo_WireSplitter.