OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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 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.

    Parameters
    theWhole- sum of progress of all operations.
    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.
    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.
    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 bool GetParallelMode ()
     Gets the global parallel mode.
    static void SetParallelMode (const bool theNewMode)
     Sets the global parallel mode.
    occ::handle< NCollection_BaseAllocatormyAllocator
     Enables/Disables the usage of OBB.
    occ::handle< Message_ReportmyReport
     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.

    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()

    BOPAlgo_Algo::~BOPAlgo_Algo ( )
    overrideprotected

    ◆ BOPAlgo_Algo() [2/2]

    BOPAlgo_Algo::BOPAlgo_Algo ( const occ::handle< NCollection_BaseAllocator > & theAllocator)
    protected

    Member Function Documentation

    ◆ analyzeProgress()

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

    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

    ◆ 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 double 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: