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

specific FileReaderTool for IGES
Parameters are accessed through specific objects, ParamReaders
More...

#include <IGESData_IGESReaderTool.hxx>

Inheritance diagram for IGESData_IGESReaderTool:
Inheritance graph
[legend]

Public Member Functions

 IGESData_IGESReaderTool (const Handle< IGESData_IGESReaderData > &reader, const Handle< IGESData_Protocol > &protocol)
 creates IGESReaderTool to work with an IGESReaderData and an
IGES Protocol.
Actually, no Lib is used
More...
 
void Prepare (const Handle< IGESData_FileRecognizer > &reco)
 binds empty entities to records, works with the Protocol
(from IGESData) stored and later used
RQ : Actually, sets DNum into IGES Entities
Also loads the list of parameters for ParamReader
More...
 
Standard_Boolean Recognize (const Standard_Integer num, Handle< Interface_Check > &ach, Handle< Standard_Transient > &ent)
 recognizes records by asking Protocol (on data of DirType)
More...
 
void BeginRead (const Handle< Interface_InterfaceModel > &amodel)
 fills model's header, that is, its GlobalSection
More...
 
Standard_Boolean AnalyseRecord (const Standard_Integer num, const Handle< Standard_Transient > &anent, Handle< Interface_Check > &acheck)
 fills an entity, given record no; works by calling ReadDirPart
then ReadParams (with help of a ParamReader), then if required
ReadProps and ReadAssocs, from IGESEntity
Returns True if no fail has been recorded
More...
 
virtual void EndRead (const Handle< Interface_InterfaceModel > &amodel)
 after reading entities, true line weights can be computed
More...
 
void ReadDir (const Handle< IGESData_IGESEntity > &ent, const Handle< IGESData_IGESReaderData > &IR, const IGESData_DirPart &DP, Handle< Interface_Check > &ach) const
 Reads directory part componants from file; DP is the litteral
directory part, IR detains entities referenced by DP
More...
 
void ReadOwnParams (const Handle< IGESData_IGESEntity > &ent, const Handle< IGESData_IGESReaderData > &IR, IGESData_ParamReader &PR) const
 Performs Reading of own Parameters for each IGESEntity
Works with the ReaderLib loaded with ReadWriteModules for IGES
In case of failure, tries UndefinedEntity from IGES
More...
 
void ReadProps (const Handle< IGESData_IGESEntity > &ent, const Handle< IGESData_IGESReaderData > &IR, IGESData_ParamReader &PR) const
 Reads Property List, if there is (if not, does nothing)
criterium is : current parameter of PR remains inside params
list, and Stage is "Own"
Current parameter must be a positive integer, which value
gives the length of the list; else, a Fail is produced (into
Check of PR) and reading process is stopped
More...
 
void ReadAssocs (const Handle< IGESData_IGESEntity > &ent, const Handle< IGESData_IGESReaderData > &IR, IGESData_ParamReader &PR) const
 Reads Associativity List, if there is (if not, does nothing)
criterium is : current parameter of PR remains inside params
list, and Stage is "Own"
Same conditions as above; in addition, no parameter must be
let after the list once read
Note that "Associated" entities are not declared "Shared"
More...
 
- Public Member Functions inherited from Interface_FileReaderTool
void SetData (const Handle< Interface_FileReaderData > &reader, const Handle< Interface_Protocol > &protocol)
 Sets Data to a FileReaderData. Works with a Protocol
More...
 
Handle_Interface_Protocol Protocol () const
 Returns the Protocol given at creation time
More...
 
Handle_Interface_FileReaderData Data () const
 Returns the FileReaderData which is used to work
More...
 
void SetModel (const Handle< Interface_InterfaceModel > &amodel)
 Stores a Model. Used when the Model has been loaded
More...
 
Handle_Interface_InterfaceModel Model () const
 Returns the stored Model
More...
 
void SetMessenger (const Handle< Message_Messenger > &messenger)
 Sets Messenger used for outputting messages
More...
 
Handle_Message_Messenger Messenger () const
 Returns Messenger used for outputting messages.
The returned object is guaranteed to be non-null;
default is Message::Messenger().
More...
 
void SetTraceLevel (const Standard_Integer tracelev)
 Sets trace level used for outputting messages
More...
 
Standard_Integer TraceLevel () const
 Returns trace level used for outputting messages.
More...
 
void SetErrorHandle (const Standard_Boolean err)
 Allows controlling whether exception raisings are handled
If err is False, they are not (hence, dbx can take control)
If err is True, they are, and they are traced
(by putting on messenger Entity's Number and file record num)
Default given at Model's creation time is True
More...
 
Standard_Boolean ErrorHandle () const
 Returns ErrorHandle flag
More...
 
void SetEntities ()
 Fills records with empty entities; once done, each entity can
ask the FileReaderTool for any entity referenced through an
identifier. Calls Recognize which is specific to each specific
type of FileReaderTool
More...
 
Standard_Boolean RecognizeByLib (const Standard_Integer num, Interface_GeneralLib &glib, Interface_ReaderLib &rlib, Handle< Interface_Check > &ach, Handle< Standard_Transient > &ent) const
 Recognizes a record with the help of Libraries. Can be used
to implement the method Recognize.
<rlib> is used to find Protocol and CaseNumber to apply
<glib> performs the creation (by service NewVoid, or NewRead
if NewVoid gave no result)
<ach> is a check, which is transmitted to NewRead if it is
called, gives a result but which is false
<ent> is the result
Returns False if recognition has failed, True else
More...
 
Handle_Standard_Transient UnknownEntity () const
 Provides an unknown entity, specific to the Interface
called by SetEntities when Recognize has failed (Unknown alone)
or by LoadModel when an Entity has caused a Fail on reading
(to keep at least its literal description)
Uses Protocol to do it
More...
 
Handle_Interface_InterfaceModel NewModel () const
 Creates an empty Model of the norm. Uses Protocol to do it
More...
 
void LoadModel (const Handle< Interface_InterfaceModel > &amodel)
 Reads and fills Entities from the FileReaderData set by
SetData to an InterfaceModel.
It enchains required operations, the specific ones correspond
to deferred methods (below) to be defined for each Norm.
It manages also error recovery and trace.
Remark : it calls SetModel.
It Can raise any error which can occur during a load
operation, unless Error Handling is set.
This method can also be redefined if judged necessary.
More...
 
Handle_Standard_Transient LoadedEntity (const Standard_Integer num)
 Reads, Fills and Returns one Entity read from a Record of the
FileReaderData. This Method manages also case of Fail or
Warning, by producing a ReportEntyty plus , for a Fail, a
literal Content (as an UnknownEntity). Performs also Trace
More...
 
virtual void Destroy ()
 
virtual ~Interface_FileReaderTool ()
 
void Clear ()
 Clear filelds
More...
 

Additional Inherited Members

- Protected Member Functions inherited from Interface_FileReaderTool
 Interface_FileReaderTool ()
 Constructor; sets default fields
More...
 

Detailed Description

specific FileReaderTool for IGES
Parameters are accessed through specific objects, ParamReaders

Constructor & Destructor Documentation

IGESData_IGESReaderTool::IGESData_IGESReaderTool ( const Handle< IGESData_IGESReaderData > &  reader,
const Handle< IGESData_Protocol > &  protocol 
)

creates IGESReaderTool to work with an IGESReaderData and an
IGES Protocol.
Actually, no Lib is used

Member Function Documentation

Standard_Boolean IGESData_IGESReaderTool::AnalyseRecord ( const Standard_Integer  num,
const Handle< Standard_Transient > &  anent,
Handle< Interface_Check > &  acheck 
)
virtual

fills an entity, given record no; works by calling ReadDirPart
then ReadParams (with help of a ParamReader), then if required
ReadProps and ReadAssocs, from IGESEntity
Returns True if no fail has been recorded

Implements Interface_FileReaderTool.

void IGESData_IGESReaderTool::BeginRead ( const Handle< Interface_InterfaceModel > &  amodel)
virtual

fills model's header, that is, its GlobalSection

Implements Interface_FileReaderTool.

virtual void IGESData_IGESReaderTool::EndRead ( const Handle< Interface_InterfaceModel > &  amodel)
virtual

after reading entities, true line weights can be computed

Reimplemented from Interface_FileReaderTool.

void IGESData_IGESReaderTool::Prepare ( const Handle< IGESData_FileRecognizer > &  reco)

binds empty entities to records, works with the Protocol
(from IGESData) stored and later used
RQ : Actually, sets DNum into IGES Entities
Also loads the list of parameters for ParamReader

void IGESData_IGESReaderTool::ReadAssocs ( const Handle< IGESData_IGESEntity > &  ent,
const Handle< IGESData_IGESReaderData > &  IR,
IGESData_ParamReader PR 
) const

Reads Associativity List, if there is (if not, does nothing)
criterium is : current parameter of PR remains inside params
list, and Stage is "Own"
Same conditions as above; in addition, no parameter must be
let after the list once read
Note that "Associated" entities are not declared "Shared"

void IGESData_IGESReaderTool::ReadDir ( const Handle< IGESData_IGESEntity > &  ent,
const Handle< IGESData_IGESReaderData > &  IR,
const IGESData_DirPart DP,
Handle< Interface_Check > &  ach 
) const

Reads directory part componants from file; DP is the litteral
directory part, IR detains entities referenced by DP

void IGESData_IGESReaderTool::ReadOwnParams ( const Handle< IGESData_IGESEntity > &  ent,
const Handle< IGESData_IGESReaderData > &  IR,
IGESData_ParamReader PR 
) const

Performs Reading of own Parameters for each IGESEntity
Works with the ReaderLib loaded with ReadWriteModules for IGES
In case of failure, tries UndefinedEntity from IGES

void IGESData_IGESReaderTool::ReadProps ( const Handle< IGESData_IGESEntity > &  ent,
const Handle< IGESData_IGESReaderData > &  IR,
IGESData_ParamReader PR 
) const

Reads Property List, if there is (if not, does nothing)
criterium is : current parameter of PR remains inside params
list, and Stage is "Own"
Current parameter must be a positive integer, which value
gives the length of the list; else, a Fail is produced (into
Check of PR) and reading process is stopped

Standard_Boolean IGESData_IGESReaderTool::Recognize ( const Standard_Integer  num,
Handle< Interface_Check > &  ach,
Handle< Standard_Transient > &  ent 
)
virtual

recognizes records by asking Protocol (on data of DirType)

Implements Interface_FileReaderTool.


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