Open CASCADE Technology 7.8.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 Standard_Integer | NbResources () const =0 |
Returns count of Protocol used as Resources (level one) | |
virtual Handle< Interface_Protocol > | Resource (const Standard_Integer num) const =0 |
Returns a Resource, given its rank (between 1 and NbResources) | |
virtual Standard_Integer | CaseNumber (const 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 Standard_Boolean | IsDynamicType (const 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 Standard_Integer | NbTypes (const 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) | |
Handle< Standard_Type > | Type (const Handle< Standard_Transient > &obj, const Standard_Integer 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 Standard_Integer | TypeNumber (const Handle< Standard_Type > &atype) const =0 |
Returns a unique positive CaseNumber for each Recognized Type, Returns Zero for "<type> not recognized". | |
virtual Standard_Boolean | GlobalCheck (const Interface_Graph &G, 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 Handle< Interface_InterfaceModel > | NewModel () const =0 |
Creates an empty Model of the considered Norm. | |
virtual Standard_Boolean | IsSuitableModel (const Handle< Interface_InterfaceModel > &model) const =0 |
Returns True if <model> is a Model of the considered Norm. | |
virtual Handle< Standard_Transient > | UnknownEntity () const =0 |
Creates a new Unknown Entity for the considered Norm. | |
virtual Standard_Boolean | IsUnknownEntity (const 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 unpredicable) | |
![]() | |
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 () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | 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. | |
Standard_Boolean | IsKind (const Standard_CString 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. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions | |
static 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 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 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 | |
![]() | |
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.
|
static |
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 unpredicable)
Implemented in IGESData_Protocol, and StepData_Protocol.
|
pure virtual |
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.
Handle< Standard_Type > Interface_Protocol::Type | ( | const Handle< Standard_Transient > & | obj, |
const Standard_Integer | 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 HeaderSection_Protocol, IGESAppli_Protocol, IGESBasic_Protocol, IGESData_Protocol, IGESDefs_Protocol, IGESDimen_Protocol, IGESDraw_Protocol, IGESGeom_Protocol, IGESGraph_Protocol, IGESSolid_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.