Open CASCADE Technology 7.8.2.dev
BOPAlgo_Algo Class Referenceabstract

The class provides the root interface for the algorithms in Boolean Component.
More...

#include <BOPAlgo_Algo.hxx>

Inheritance diagram for BOPAlgo_Algo:

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_BaseAllocatormyAllocator
 Enables/Disables the usage of OBB.
 
Handle< Message_ReportmyReport
 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.
 

Detailed Description

The class provides the root interface for the algorithms in Boolean Component.

Constructor & Destructor Documentation

◆ BOPAlgo_Algo() [1/2]

BOPAlgo_Algo::BOPAlgo_Algo ( )
protected

Default constructor.

◆ ~BOPAlgo_Algo()

virtual BOPAlgo_Algo::~BOPAlgo_Algo ( )
protectedvirtual

◆ BOPAlgo_Algo() [2/2]

BOPAlgo_Algo::BOPAlgo_Algo ( const Handle< NCollection_BaseAllocator > & theAllocator)
protected

Member Function Documentation

◆ analyzeProgress()

void BOPAlgo_Algo::analyzeProgress ( const Standard_Real theWhole,
BOPAlgo_PISteps & theSteps ) const
protected

Analyze progress steps of the whole operation.

Parameters
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:

  • fillPIConstants - method filling values for constant operations.
  • fillPISteps - method filling steps for the rest of operations.

◆ CheckData()

virtual void BOPAlgo_Algo::CheckData ( )
protectedvirtual

◆ CheckResult()

virtual void BOPAlgo_Algo::CheckResult ( )
protectedvirtual

Checks the obtained result.

◆ fillPIConstants()

virtual void BOPAlgo_Algo::fillPIConstants ( const Standard_Real theWhole,
BOPAlgo_PISteps & theSteps ) const
protectedvirtual

Fills the values for constant operations - the operations having constant relative running time.

Parameters
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.

◆ fillPISteps()

virtual void BOPAlgo_Algo::fillPISteps ( BOPAlgo_PISteps & theSteps) const
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.

◆ Perform()

virtual void BOPAlgo_Algo::Perform ( const Message_ProgressRange & theRange = Message_ProgressRange())
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.


The documentation for this class was generated from the following file: