OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
Interface


Interface_Protocol Class Reference

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>

Inheritance diagram for Interface_Protocol:

Inheritance graph
[legend]

Public Member Functions

virtual Standard_EXPORT Standard_Integer NbResources () const =0
 Returns count of Protocol used as Resources (level one)
.
virtual Standard_EXPORT Handle_Interface_Protocol Resource (const Standard_Integer num) const =0
 Returns a Resource, given its rank (between 1 and NbResources)
.
virtual Standard_EXPORT 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_EXPORT 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_EXPORT 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)
.
Standard_EXPORT 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_EXPORT 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_EXPORT 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 Standard_EXPORT Handle_Interface_InterfaceModel NewModel () const =0
 Creates an empty Model of the considered Norm
.
virtual Standard_EXPORT Standard_Boolean IsSuitableModel (const Handle(Interface_InterfaceModel)&model) const =0
 Returns True if <model> is a Model of the considered Norm
.
virtual Standard_EXPORT Handle_Standard_Transient UnknownEntity () const =0
 Creates a new Unknown Entity for the considered Norm
.
virtual Standard_EXPORT 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_EXPORT const Handle (Standard_Type)&DynamicType() const

Static Public Member Functions

static Standard_EXPORT Handle_Interface_Protocol Active ()
 Returns the Active Protocol, if defined (else, returns a
Null Handle, which means "no defined active protocol")
.
static Standard_EXPORT 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 Standard_EXPORT void ClearActive ()
 Erases the Active Protocol (hence it becomes undefined)
.

Member Function Documentation

static Standard_EXPORT Handle_Interface_Protocol Interface_Protocol::Active  )  [static]
 

virtual Standard_EXPORT Standard_Integer Interface_Protocol::CaseNumber const Handle(Standard_Transient)&  obj  )  const [virtual]
 

Reimplemented in StepData_Protocol.

static Standard_EXPORT void Interface_Protocol::ClearActive  )  [static]
 

virtual Standard_EXPORT Standard_Boolean Interface_Protocol::GlobalCheck const Interface_Graph G,
Handle(Interface_Check)&  ach
const [virtual]
 

Reimplemented in StepData_FileProtocol.

Standard_EXPORT const Interface_Protocol::Handle Standard_Type   )  const
 

Reimplemented in HeaderSection_Protocol, IGESAppli_Protocol, IGESBasic_Protocol, IGESData_FileProtocol, IGESData_Protocol, IGESDefs_Protocol, IGESDimen_Protocol, IGESDraw_Protocol, IGESGeom_Protocol, IGESGraph_Protocol, IGESSolid_Protocol, StepAP214_Protocol, StepData_DescrProtocol, StepData_FileProtocol, and StepData_Protocol.

virtual Standard_EXPORT Standard_Boolean Interface_Protocol::IsDynamicType const Handle(Standard_Transient)&  obj  )  const [virtual]
 

virtual Standard_EXPORT Standard_Boolean Interface_Protocol::IsSuitableModel const Handle(Interface_InterfaceModel)&  model  )  const [pure virtual]
 

Implemented in IGESData_Protocol, and StepData_Protocol.

virtual Standard_EXPORT Standard_Boolean Interface_Protocol::IsUnknownEntity const Handle(Standard_Transient)&  ent  )  const [pure virtual]
 

Implemented in IGESData_Protocol, and StepData_Protocol.

virtual Standard_EXPORT Standard_Integer Interface_Protocol::NbResources  )  const [pure virtual]
 

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 Standard_EXPORT Standard_Integer Interface_Protocol::NbTypes const Handle(Standard_Transient)&  obj  )  const [virtual]
 

virtual Standard_EXPORT Handle_Interface_InterfaceModel Interface_Protocol::NewModel  )  const [pure virtual]
 

Implemented in IGESData_Protocol, and StepData_Protocol.

virtual Standard_EXPORT Handle_Interface_Protocol Interface_Protocol::Resource const Standard_Integer  num  )  const [pure virtual]
 

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 Standard_EXPORT void Interface_Protocol::SetActive const Handle(Interface_Protocol)&  aprotocol  )  [static]
 

Standard_EXPORT Handle_Standard_Type Interface_Protocol::Type const Handle(Standard_Transient)&  obj,
const Standard_Integer  nt = 1
const
 

virtual Standard_EXPORT Standard_Integer Interface_Protocol::TypeNumber const Handle(Standard_Type)&  atype  )  const [pure virtual]
 

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.

virtual Standard_EXPORT Handle_Standard_Transient Interface_Protocol::UnknownEntity  )  const [pure virtual]
 

Implemented in IGESData_Protocol, and StepData_Protocol.


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:41:37 2008 for OpenCASCADE by  doxygen 1.4.1