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
    TFunction_Driver Class Referenceabstract

    This driver class provide services around function execution. One instance of this class is built for the whole session. The driver is bound to the DriverGUID in the DriverTable class. It allows you to create classes which inherit from this abstract class. These subclasses identify the various algorithms which can be applied to the data contained in the attributes of sub-labels of a model. A single instance of this class and each of its subclasses is built for the whole session. More...

    #include <TFunction_Driver.hxx>

    Inheritance diagram for TFunction_Driver:

    Public Member Functions

    void Init (const TDF_Label &L)
     Initializes the label L for this function prior to its execution.
    TDF_Label Label () const
     Returns the label of the driver for this function.
    virtual void Validate (const occ::handle< TFunction_Logbook > &log) const
     Validates labels of a function in <log>. This function is the one initialized in this function driver. Warning In regeneration mode, the solver must call this method even if the function is not executed.
    virtual bool MustExecute (const occ::handle< TFunction_Logbook > &log) const
     Analyzes the labels in the logbook log. Returns true if attributes have been modified. If the function label itself has been modified, the function must be executed.
    virtual int Execute (occ::handle< TFunction_Logbook > &log) const =0
     Executes the function in this function driver and puts the impacted labels in the logbook log.
    virtual void Arguments (NCollection_List< TDF_Label > &args) const
     The method fills-in the list by labels, where the arguments of the function are located.
    virtual void Results (NCollection_List< TDF_Label > &resres) const
     The method fills-in the list by labels, where the results of the function are located.
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transientoperator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool IsKind (const opencascade::handle< Standard_Type > &theType) const
     Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    bool IsKind (const char *const theTypeName) const
     Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    Standard_TransientThis () const
     Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Protected Member Functions

     TFunction_Driver ()

    Additional Inherited Members

    typedef void base_type
     Returns a type descriptor about this object.
    static constexpr const char * get_type_name ()
     Returns a type descriptor about this object.
    static const opencascade::handle< Standard_Type > & get_type_descriptor ()
     Returns type descriptor of Standard_Transient class.

    Detailed Description

    This driver class provide services around function execution. One instance of this class is built for the whole session. The driver is bound to the DriverGUID in the DriverTable class. It allows you to create classes which inherit from this abstract class. These subclasses identify the various algorithms which can be applied to the data contained in the attributes of sub-labels of a model. A single instance of this class and each of its subclasses is built for the whole session.

    Constructor & Destructor Documentation

    ◆ TFunction_Driver()

    TFunction_Driver::TFunction_Driver ( )
    protected

    initialisation of the driver

    Member Function Documentation

    ◆ Arguments()

    virtual void TFunction_Driver::Arguments ( NCollection_List< TDF_Label > & args) const
    virtual

    The method fills-in the list by labels, where the arguments of the function are located.

    ◆ Execute()

    virtual int TFunction_Driver::Execute ( occ::handle< TFunction_Logbook > & log) const
    pure virtual

    Executes the function in this function driver and puts the impacted labels in the logbook log.

    arguments & results of functions

    Implemented in DNaming_BooleanOperationDriver, DNaming_BoxDriver, DNaming_CylinderDriver, DNaming_FilletDriver, DNaming_Line3DDriver, DNaming_PointDriver, DNaming_PrismDriver, DNaming_RevolutionDriver, DNaming_SelectionDriver, DNaming_SphereDriver, and DNaming_TransformationDriver.

    ◆ Init()

    void TFunction_Driver::Init ( const TDF_Label & L)

    Initializes the label L for this function prior to its execution.

    ◆ Label()

    TDF_Label TFunction_Driver::Label ( ) const

    Returns the label of the driver for this function.

    ◆ MustExecute()

    virtual bool TFunction_Driver::MustExecute ( const occ::handle< TFunction_Logbook > & log) const
    virtual

    Analyzes the labels in the logbook log. Returns true if attributes have been modified. If the function label itself has been modified, the function must be executed.

    Reimplemented in DNaming_BooleanOperationDriver, DNaming_BoxDriver, DNaming_CylinderDriver, DNaming_FilletDriver, DNaming_Line3DDriver, DNaming_PointDriver, DNaming_PrismDriver, DNaming_RevolutionDriver, DNaming_SelectionDriver, DNaming_SphereDriver, and DNaming_TransformationDriver.

    ◆ Results()

    virtual void TFunction_Driver::Results ( NCollection_List< TDF_Label > & res) const
    virtual

    The method fills-in the list by labels, where the results of the function are located.

    ◆ Validate()

    virtual void TFunction_Driver::Validate ( const occ::handle< TFunction_Logbook > & log) const
    virtual

    Validates labels of a function in <log>. This function is the one initialized in this function driver. Warning In regeneration mode, the solver must call this method even if the function is not executed.

    execution of function

    Reimplemented in DNaming_BooleanOperationDriver, DNaming_BoxDriver, DNaming_CylinderDriver, DNaming_FilletDriver, DNaming_Line3DDriver, DNaming_PointDriver, DNaming_PrismDriver, DNaming_RevolutionDriver, DNaming_SelectionDriver, DNaming_SphereDriver, and DNaming_TransformationDriver.


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