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

Defines basic File Access Module, under the control of
IGESReaderTool for Reading and IGESWriter for Writing :
Specific actions concern : Read and Write Own Parameters of
an IGESEntity.
The common parts (Directory Entry, Lists of Associativities
and Properties) are processed by IGESReaderTool & IGESWriter

Each sub-class of ReadWriteModule is used in conjunction with
a sub-class of Protocol from IGESData and processes several
types of IGESEntity (typically, them of a package) :
The Protocol gives a unique positive integer Case Number for
each type of IGESEntity it recognizes, the corresponding
ReadWriteModule processes an Entity by using the Case Number
to known what is to do
On Reading, the general service NewVoid is used to create an
IGES Entity the first time

Warning : Works with an IGESReaderData which stores "DE parts" of Items
More...

#include <IGESData_ReadWriteModule.hxx>

Inheritance diagram for IGESData_ReadWriteModule:
Inheritance graph
[legend]

Public Member Functions

Standard_Integer CaseNum (const Handle< Interface_FileReaderData > &data, const Standard_Integer num) const
 Translates the Type of record <num> in <data> to a positive
Case Number, or 0 if failed.
Works with IGESReaderData which provides Type & Form Numbers,
and calls CaseIGES (see below)
More...
 
virtual Standard_Integer CaseIGES (const Standard_Integer typenum, const Standard_Integer formnum) const =0
 Defines Case Numbers corresponding to the Entity Types taken
into account by a sub-class of ReadWriteModule (hence, each
sub-class of ReadWriteModule has to redefine this method)
Called by CaseNum. Its result will then be used to call
Read, etc ...
More...
 
void Read (const Standard_Integer CN, const Handle< Interface_FileReaderData > &data, const Standard_Integer num, Handle< Interface_Check > &ach, const Handle< Standard_Transient > &ent) const
 General Read Function. See IGESReaderTool for more info
More...
 
virtual void ReadOwnParams (const Standard_Integer CN, const Handle< IGESData_IGESEntity > &ent, const Handle< IGESData_IGESReaderData > &IR, IGESData_ParamReader &PR) const =0
 Reads own parameters from file for an Entity; <PR> gives
access to them, <IR> detains parameter types and values
For each class, there must be a specific action provided
Note that Properties and Associativities Lists are Read by
specific methods (see below), they are called under control
of reading process (only one call) according Stage recorded
in ParamReader
More...
 
virtual void WriteOwnParams (const Standard_Integer CN, const Handle< IGESData_IGESEntity > &ent, IGESData_IGESWriter &IW) const =0
 
Writes own parameters to IGESWriter; defined for each class <br>
     (to be redefined for other IGES ReadWriteModules) <br>

Warning : Properties and Associativities are directly managed by
WriteIGES, must not be sent by this method
More...

 
- Public Member Functions inherited from Interface_ReaderModule
virtual Standard_Boolean NewRead (const Standard_Integer casenum, const Handle< Interface_FileReaderData > &data, const Standard_Integer num, Handle< Interface_Check > &ach, Handle< Standard_Transient > &ent) const
 
 Specific operator (create+read) defaulted to do nothing. <br>
      It can be redefined when it is not possible to work in two <br>
      steps (NewVoid then Read). This occurs when no default <br>
      constructor is defined : hence the result <ent> must be <br>
      created with an effective definition from the reader. <br>
      Remark : if NewRead is defined, Copy has nothing to do. <br>


Returns True if it has produced something, false else.
If nothing was produced, <ach> should be filled : it will be
treated as "Unrecognized case" by reader tool.
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...
 

Detailed Description

Defines basic File Access Module, under the control of
IGESReaderTool for Reading and IGESWriter for Writing :
Specific actions concern : Read and Write Own Parameters of
an IGESEntity.
The common parts (Directory Entry, Lists of Associativities
and Properties) are processed by IGESReaderTool & IGESWriter

Each sub-class of ReadWriteModule is used in conjunction with
a sub-class of Protocol from IGESData and processes several
types of IGESEntity (typically, them of a package) :
The Protocol gives a unique positive integer Case Number for
each type of IGESEntity it recognizes, the corresponding
ReadWriteModule processes an Entity by using the Case Number
to known what is to do
On Reading, the general service NewVoid is used to create an
IGES Entity the first time

Warning : Works with an IGESReaderData which stores "DE parts" of Items

Member Function Documentation

virtual Standard_Integer IGESData_ReadWriteModule::CaseIGES ( const Standard_Integer  typenum,
const Standard_Integer  formnum 
) const
pure virtual

Defines Case Numbers corresponding to the Entity Types taken
into account by a sub-class of ReadWriteModule (hence, each
sub-class of ReadWriteModule has to redefine this method)
Called by CaseNum. Its result will then be used to call
Read, etc ...

Implemented in IGESBasic_ReadWriteModule, IGESGraph_ReadWriteModule, IGESGeom_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESSolid_ReadWriteModule, IGESDefs_ReadWriteModule, and IGESAppli_ReadWriteModule.

Standard_Integer IGESData_ReadWriteModule::CaseNum ( const Handle< Interface_FileReaderData > &  data,
const Standard_Integer  num 
) const
virtual

Translates the Type of record <num> in <data> to a positive
Case Number, or 0 if failed.
Works with IGESReaderData which provides Type & Form Numbers,
and calls CaseIGES (see below)

Implements Interface_ReaderModule.

void IGESData_ReadWriteModule::Read ( const Standard_Integer  CN,
const Handle< Interface_FileReaderData > &  data,
const Standard_Integer  num,
Handle< Interface_Check > &  ach,
const Handle< Standard_Transient > &  ent 
) const
virtual

General Read Function. See IGESReaderTool for more info

Implements Interface_ReaderModule.

virtual void IGESData_ReadWriteModule::ReadOwnParams ( const Standard_Integer  CN,
const Handle< IGESData_IGESEntity > &  ent,
const Handle< IGESData_IGESReaderData > &  IR,
IGESData_ParamReader PR 
) const
pure virtual

Reads own parameters from file for an Entity; <PR> gives
access to them, <IR> detains parameter types and values
For each class, there must be a specific action provided
Note that Properties and Associativities Lists are Read by
specific methods (see below), they are called under control
of reading process (only one call) according Stage recorded
in ParamReader

Implemented in IGESBasic_ReadWriteModule, IGESGraph_ReadWriteModule, IGESGeom_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESSolid_ReadWriteModule, IGESDefs_ReadWriteModule, and IGESAppli_ReadWriteModule.

virtual void IGESData_ReadWriteModule::WriteOwnParams ( const Standard_Integer  CN,
const Handle< IGESData_IGESEntity > &  ent,
IGESData_IGESWriter IW 
) const
pure virtual

Writes own parameters to IGESWriter; defined for each class <br>
     (to be redefined for other IGES ReadWriteModules) <br>

Warning : Properties and Associativities are directly managed by
WriteIGES, must not be sent by this method

Implemented in IGESBasic_ReadWriteModule, IGESGraph_ReadWriteModule, IGESGeom_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESSolid_ReadWriteModule, IGESDefs_ReadWriteModule, and IGESAppli_ReadWriteModule.


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