![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
General description of Interface Protocols. A Protocol defines a set of Entity types. This class provides also the notion of Active Protocol, as a working context, defined once then exploited by various Tools and Libraries. More...
#include <Interface_Protocol.hxx>

Public Member Functions | |
| virtual int | NbResources () const =0 |
| Returns count of Protocol used as Resources (level one) | |
| virtual occ::handle< Interface_Protocol > | Resource (const int num) const =0 |
| Returns a Resource, given its rank (between 1 and NbResources) | |
| virtual int | CaseNumber (const occ::handle< Standard_Transient > &obj) const |
| Returns a unique positive CaseNumber for each Recognized Object. By default, recognition is based on Type(1) By default, calls the following one which is deferred. | |
| virtual bool | IsDynamicType (const occ::handle< Standard_Transient > &obj) const |
| Returns True if type of <obj> is that defined from CDL This is the default but it may change according implementation. | |
| virtual int | NbTypes (const occ::handle< Standard_Transient > &obj) const |
| Returns the count of DISTINCT types under which an entity may be processed. Each one is candidate to be recognized by TypeNumber, <obj> is then processed according it By default, returns 1 (the DynamicType) | |
| occ::handle< Standard_Type > | Type (const occ::handle< Standard_Transient > &obj, const int nt=1) const |
| Returns a type under which <obj> can be recognized and processed, according its rank in its definition list (see NbTypes). By default, returns DynamicType. | |
| virtual int | TypeNumber (const occ::handle< Standard_Type > &atype) const =0 |
| Returns a unique positive CaseNumber for each Recognized Type, Returns Zero for "<type> not recognized". | |
| virtual bool | GlobalCheck (const Interface_Graph &G, occ::handle< Interface_Check > &ach) const |
| Evaluates a Global Check for a model (with its Graph) Returns True when done, False if data in model do not apply. | |
| virtual occ::handle< Interface_InterfaceModel > | NewModel () const =0 |
| Creates an empty Model of the considered Norm. | |
| virtual bool | IsSuitableModel (const occ::handle< Interface_InterfaceModel > &model) const =0 |
| Returns True if <model> is a Model of the considered Norm. | |
| virtual occ::handle< Standard_Transient > | UnknownEntity () const =0 |
| Creates a new Unknown Entity for the considered Norm. | |
| virtual bool | IsUnknownEntity (const occ::handle< Standard_Transient > &ent) const =0 |
| Returns True if <ent> is an Unknown Entity for the Norm, i.e. same Type as them created by method UnknownEntity (for an Entity out of the Norm, answer can be unpredictable) | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (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_Transient * | This () 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. | |
Static Public Member Functions | |
| static occ::handle< Interface_Protocol > | Active () |
| Returns the Active Protocol, if defined (else, returns a Null Handle, which means "no defined active protocol") | |
| static void | SetActive (const occ::handle< Interface_Protocol > &aprotocol) |
| Sets a given Protocol to be the Active one (for the users of Active, see just above). Applies to every sub-type of Protocol. | |
| static void | ClearActive () |
| Erases the Active Protocol (hence it becomes undefined) | |
Static Public Member Functions inherited from Standard_Transient | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
General description of Interface Protocols. A Protocol defines a set of Entity types. This class provides also the notion of Active Protocol, as a working context, defined once then exploited by various Tools and Libraries.
It also gives control of type definitions. By default, types are provided by CDL, but specific implementations, or topics like multi-typing, may involve another way
|
static |
Returns the Active Protocol, if defined (else, returns a Null Handle, which means "no defined active protocol")
|
virtual |
Returns a unique positive CaseNumber for each Recognized Object. By default, recognition is based on Type(1) By default, calls the following one which is deferred.
Reimplemented in StepData_Protocol.
Erases the Active Protocol (hence it becomes undefined)
|
virtual |
Evaluates a Global Check for a model (with its Graph) Returns True when done, False if data in model do not apply.
Very specific of each norm, i.e. of each protocol : the uppest level Protocol assumes it, it can call GlobalCheck of its resources only if it is necessary
Default does nothing, can be redefined
Reimplemented in StepData_FileProtocol.
|
virtual |
Returns True if type of <obj> is that defined from CDL This is the default but it may change according implementation.
|
pure virtual |
Returns True if <model> is a Model of the considered Norm.
Implemented in IGESData_Protocol, and StepData_Protocol.
|
pure virtual |
Returns True if <ent> is an Unknown Entity for the Norm, i.e. same Type as them created by method UnknownEntity (for an Entity out of the Norm, answer can be unpredictable)
Implemented in IGESData_Protocol, and StepData_Protocol.
Returns count of Protocol used as Resources (level one)
Implemented in IGESAppli_Protocol, IGESBasic_Protocol, IGESData_FileProtocol, IGESData_Protocol, IGESDefs_Protocol, IGESDimen_Protocol, IGESDraw_Protocol, IGESGeom_Protocol, IGESGraph_Protocol, IGESSolid_Protocol, StepAP214_Protocol, StepData_FileProtocol, and StepData_Protocol.
|
virtual |
Returns the count of DISTINCT types under which an entity may be processed. Each one is candidate to be recognized by TypeNumber, <obj> is then processed according it By default, returns 1 (the DynamicType)
|
pure virtual |
Creates an empty Model of the considered Norm.
Implemented in IGESData_Protocol, and StepData_Protocol.
|
pure virtual |
Returns a Resource, given its rank (between 1 and NbResources)
Implemented in IGESAppli_Protocol, IGESBasic_Protocol, IGESData_FileProtocol, IGESData_Protocol, IGESDefs_Protocol, IGESDimen_Protocol, IGESDraw_Protocol, IGESGeom_Protocol, IGESGraph_Protocol, IGESSolid_Protocol, StepAP214_Protocol, StepData_FileProtocol, and StepData_Protocol.
|
static |
Sets a given Protocol to be the Active one (for the users of Active, see just above). Applies to every sub-type of Protocol.
| occ::handle< Standard_Type > Interface_Protocol::Type | ( | const occ::handle< Standard_Transient > & | obj, |
| const int | nt = 1 ) const |
Returns a type under which <obj> can be recognized and processed, according its rank in its definition list (see NbTypes). By default, returns DynamicType.
|
pure virtual |
Returns a unique positive CaseNumber for each Recognized Type, Returns Zero for "<type> not recognized".
Implemented in IGESAppli_Protocol, IGESBasic_Protocol, IGESData_Protocol, IGESDefs_Protocol, IGESDimen_Protocol, IGESDraw_Protocol, IGESGeom_Protocol, IGESGraph_Protocol, IGESSolid_Protocol, HeaderSection_Protocol, StepAP214_Protocol, StepData_FileProtocol, and StepData_Protocol.
|
pure virtual |
Creates a new Unknown Entity for the considered Norm.
Implemented in IGESData_Protocol, and StepData_Protocol.