Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions
Interface_Protocol Class Referenceabstract

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
More...

#include <Interface_Protocol.hxx>

Inheritance diagram for Interface_Protocol:
Inheritance graph
[legend]

Public Member Functions

virtual Standard_Integer NbResources () const =0
 Returns count of Protocol used as Resources (level one)
More...
 
virtual Handle_Interface_Protocol Resource (const Standard_Integer num) const =0
 Returns a Resource, given its rank (between 1 and NbResources)
More...
 
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.
More...
 
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
More...
 
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)
More...
 
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
More...
 
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"
More...
 
virtual Standard_Boolean GlobalCheck (const Interface_Graph &G, Handle< Interface_Check > &ach) const
 
 Evaluates a Global Check for a model (with its Graph) <br>
      Returns True when done, False if data in model do not apply <br>


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
More...

 
virtual
Handle_Interface_InterfaceModel 
NewModel () const =0
 Creates an empty Model of the considered Norm
More...
 
virtual Standard_Boolean IsSuitableModel (const Handle< Interface_InterfaceModel > &model) const =0
 Returns True if <model> is a Model of the considered Norm
More...
 
virtual Handle_Standard_Transient UnknownEntity () const =0
 Creates a new Unknown Entity for the considered Norm
More...
 
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)
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const 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. More...
 
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. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

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")
More...
 
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
More...
 
static void ClearActive ()
 Erases the Active Protocol (hence it becomes undefined)
More...
 

Detailed Description

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

Member Function Documentation

static Handle_Interface_Protocol Interface_Protocol::Active ( )
static

Returns the Active Protocol, if defined (else, returns a
Null Handle, which means "no defined active protocol")

virtual Standard_Integer Interface_Protocol::CaseNumber ( const Handle< Standard_Transient > &  obj) const
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 void Interface_Protocol::ClearActive ( )
static

Erases the Active Protocol (hence it becomes undefined)

virtual Standard_Boolean Interface_Protocol::GlobalCheck ( const Interface_Graph G,
Handle< Interface_Check > &  ach 
) const
virtual

 Evaluates a Global Check for a model (with its Graph) <br>
      Returns True when done, False if data in model do not apply <br>


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

Reimplemented in StepData_FileProtocol.

virtual Standard_Boolean Interface_Protocol::IsDynamicType ( const Handle< Standard_Transient > &  obj) const
virtual

Returns True if type of <obj> is that defined from CDL
This is the default but it may change according implementation

virtual Standard_Boolean Interface_Protocol::IsSuitableModel ( const Handle< Interface_InterfaceModel > &  model) const
pure virtual

Returns True if <model> is a Model of the considered Norm

Implemented in StepData_Protocol, and IGESData_Protocol.

virtual Standard_Boolean Interface_Protocol::IsUnknownEntity ( const Handle< Standard_Transient > &  ent) const
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 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

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)

virtual Handle_Interface_InterfaceModel Interface_Protocol::NewModel ( ) const
pure virtual

Creates an empty Model of the considered Norm

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

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

virtual Standard_Integer Interface_Protocol::TypeNumber ( const Handle< Standard_Type > &  atype) const
pure virtual
virtual Handle_Standard_Transient Interface_Protocol::UnknownEntity ( ) const
pure virtual

Creates a new Unknown Entity for the considered Norm

Implemented in StepData_Protocol, and IGESData_Protocol.


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