Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
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:
Inheritance graph
[legend]

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 > &res) 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

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_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: