Open CASCADE Technology
6.5.4
|
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
#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 Very specific of each norm, i.e. of each protocol : the uppest level Protocol assumes it, it can call GlobalCheck of its ressources only if it is necessary Default does nothing, can be redefined | |
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) | |
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 Handle_Interface_Protocol Interface_Protocol::Active | ( | ) | [static] |
virtual Standard_Integer Interface_Protocol::CaseNumber | ( | const Handle< Standard_Transient > & | obj | ) | const [virtual] |
Reimplemented in StepData_Protocol.
static void Interface_Protocol::ClearActive | ( | ) | [static] |
virtual Standard_Boolean Interface_Protocol::GlobalCheck | ( | const Interface_Graph & | G, |
Handle< Interface_Check > & | ach | ||
) | const [virtual] |
Reimplemented in StepData_FileProtocol.
virtual Standard_Boolean Interface_Protocol::IsDynamicType | ( | const Handle< Standard_Transient > & | obj | ) | const [virtual] |
virtual Standard_Boolean Interface_Protocol::IsSuitableModel | ( | const Handle< Interface_InterfaceModel > & | model | ) | const [pure virtual] |
Implemented in StepData_Protocol, and IGESData_Protocol.
virtual Standard_Boolean Interface_Protocol::IsUnknownEntity | ( | const Handle< Standard_Transient > & | ent | ) | const [pure virtual] |
Implemented in StepData_Protocol, and IGESData_Protocol.
virtual Standard_Integer Interface_Protocol::NbResources | ( | ) | const [pure virtual] |
virtual Standard_Integer Interface_Protocol::NbTypes | ( | const Handle< Standard_Transient > & | obj | ) | const [virtual] |
virtual Handle_Interface_InterfaceModel Interface_Protocol::NewModel | ( | ) | const [pure virtual] |
Implemented in StepData_Protocol, and IGESData_Protocol.
virtual Handle_Interface_Protocol Interface_Protocol::Resource | ( | const Standard_Integer | num | ) | const [pure virtual] |
static void Interface_Protocol::SetActive | ( | const Handle< Interface_Protocol > & | aprotocol | ) | [static] |
Handle_Standard_Type Interface_Protocol::Type | ( | const Handle< Standard_Transient > & | obj, |
const Standard_Integer | nt = 1 |
||
) | const |
virtual Standard_Integer Interface_Protocol::TypeNumber | ( | const Handle< Standard_Type > & | atype | ) | const [pure virtual] |
virtual Handle_Standard_Transient Interface_Protocol::UnknownEntity | ( | ) | const [pure virtual] |
Implemented in StepData_Protocol, and IGESData_Protocol.