![]() |
Open CASCADE Technology Reference Manual 8.0.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 occ::handle< NCollection_BaseAllocator > &theAllocator) | |
| Constructor with allocator. | |
| virtual | ~BOPAlgo_Options () |
| Destructor. | |
| const occ::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 occ::handle< Message_Alert > &theAlert) |
| Adds the alert as error (fail) | |
| void | AddWarning (const occ::handle< Message_Alert > &theAlert) |
| Adds the alert as warning. | |
| bool | HasErrors () const |
| Returns true if algorithm has failed. | |
| bool | HasError (const occ::handle< Standard_Type > &theType) const |
| Returns true if algorithm has generated error of specified type. | |
| bool | HasWarnings () const |
| Returns true if algorithm has generated some warning alerts. | |
| bool | HasWarning (const occ::handle< Standard_Type > &theType) const |
| Returns true if algorithm has generated warning of specified type. | |
| const occ::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 double theFuzz) |
| Sets the additional tolerance. | |
| double | FuzzyValue () const |
| Returns the additional tolerance. | |
| void | SetUseOBB (const bool theUseOBB) |
| Enables/Disables the usage of OBB. | |
| bool | UseOBB () const |
| Returns the flag defining usage of OBB. | |
| void | SetRunParallel (const bool 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. | |
| bool | RunParallel () const |
| Returns the flag of parallel processing. | |
Protected Member Functions | |||||
| BOPAlgo_Algo () | |||||
| Default constructor. | |||||
| ~BOPAlgo_Algo () override | |||||
| BOPAlgo_Algo (const occ::handle< NCollection_BaseAllocator > &theAllocator) | |||||
| virtual void | CheckData () | ||||
| Checks input data. | |||||
| virtual void | CheckResult () | ||||
| Checks the obtained result. | |||||
Analyzing operations to fill progress indicator | |||||
Analyze progress steps of the whole operation.
To use this method, one has to override the following methods:
| |||||
| void | analyzeProgress (const double theWhole, BOPAlgo_PISteps &theSteps) const | ||||
| Fills the values for constant operations - the operations having constant relative running time. | |||||
| virtual void | fillPIConstants (const double 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 | |||||
| bool | 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 bool | GetParallelMode () |
| Gets the global parallel mode. | |
| static void | SetParallelMode (const bool theNewMode) |
| Sets the global parallel mode. | |
Protected Attributes inherited from BOPAlgo_Options | |
| occ::handle< NCollection_BaseAllocator > | myAllocator |
| Enables/Disables the usage of OBB. | |
| occ::handle< Message_Report > | myReport |
| Enables/Disables the usage of OBB. | |
| bool | myRunParallel |
| Enables/Disables the usage of OBB. | |
| double | myFuzzyValue |
| Enables/Disables the usage of OBB. | |
| bool | myUseOBB |
| Enables/Disables the usage of OBB. | |
The class provides the root interface for the algorithms in Boolean Component.
|
protected |
Default constructor.
|
overrideprotected |
|
protected |
|
protected |
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 |
Checks input data.
Reimplemented in BOPAlgo_BOP, BOPAlgo_Builder, BOPAlgo_BuilderFace, BOPAlgo_MakerVolume, BOPAlgo_RemoveFeatures, BOPAlgo_Section, BOPAlgo_Splitter, and BOPAlgo_WireSplitter.
|
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.