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

DataExchange
TKXSBase
Interface


Interface_FileReaderData Class Reference

This class defines services which permit to access Data issued
from a File, in a form which does not depend of physical
format : thus, each Record has an attached ParamList (to be
managed) and resulting Entity.

Each Interface defines its own FileReaderData : on one hand by
defining deferred methods given here, on the other hand by
describing literal data and their accesses, with the help of
basic classes such as String, Array1OfString, etc...

FileReaderData is used by a FileReaderTool, which is also
specific of each Norm, to read an InterfaceModel of the Norm
FileReaderData inherits TShared to be accessed by Handle :
this allows FileReaderTool to define more easily the specific
methods, and improves memory management.
.

#include <Interface_FileReaderData.hxx>

Inheritance diagram for Interface_FileReaderData:

Inheritance graph
[legend]

Public Member Functions

virtual Standard_EXPORT Standard_Integer NbRecords () const
 Returns the count of registered records
That is, value given for Initialization (can be redefined)
.
virtual Standard_EXPORT Standard_Integer NbEntities () const
 Returns the count of entities. Depending of each norm, records
can be Entities or SubParts (SubList in STEP, SubGroup in SET
...). NbEntities counts only Entities, not Subs
Used for memory reservation in InterfaceModel
Default implementation uses FindNextRecord
Can be redefined into a more performant way
.
virtual Standard_EXPORT Standard_Integer FindNextRecord (const Standard_Integer num) const =0
 Determines the record number defining an Entity following a
given record number. Specific to each sub-class of
FileReaderData. Returning zero means no record found
.
Standard_EXPORT void InitParams (const Standard_Integer num)
 attaches an empty ParamList to a Record

Standard_EXPORT void AddParam (const Standard_Integer num, const Standard_CString aval, const Interface_ParamType atype, const Standard_Integer nument=0)
 Adds a parameter to record no "num" and fills its fields
(EntityNumber is optional)
Warning : <aval> is assumed to be memory-managed elsewhere : it is NOT
copied. This gives a best speed : strings remain stored in
pages of characters
.
Standard_EXPORT void AddParam (const Standard_Integer num, const TCollection_AsciiString &aval, const Interface_ParamType atype, const Standard_Integer nument=0)
 Same as above, but gets a AsciiString from TCollection
Remark that the content of the AsciiString is locally copied
(because its content is most often lost after using)
.
Standard_EXPORT void AddParam (const Standard_Integer num, const Interface_FileParameter &FP)
 Same as above, but gets a complete FileParameter
Warning : Content of <fp> is NOT copied : its original address and space
in memory are assumed to be managed elsewhere (see ParamSet)
.
Standard_EXPORT void SetParam (const Standard_Integer num, const Standard_Integer nump, const Interface_FileParameter &FP)
 Sets a new value for a parameter of a record, given by :
num : record number; nump : parameter number in the record
.
Standard_EXPORT Standard_Integer NbParams (const Standard_Integer num) const
 Returns count of parameters attached to record "num"
If <num> = 0, returns the total recorded count of parameters
.
Standard_EXPORT Handle_Interface_ParamList Params (const Standard_Integer num) const
 Returns the complete ParamList of a record (read only)
num = 0 to return the whole param list for the file
.
Standard_EXPORT const Interface_FileParameterParam (const Standard_Integer num, const Standard_Integer nump) const
 Returns parameter "nump" of record "num", as a complete
FileParameter
.
Standard_EXPORT Interface_FileParameterChangeParam (const Standard_Integer num, const Standard_Integer nump)
 Same as above, but in order to be modified on place
.
Standard_EXPORT Interface_ParamType ParamType (const Standard_Integer num, const Standard_Integer nump) const
 Returns type of parameter "nump" of record "num"
//! Returns literal value of parameter "nump" of record "num"
was C++ : return const &
.
Standard_EXPORT Standard_CString ParamCValue (const Standard_Integer num, const Standard_Integer nump) const
 Same as above, but as a CString
was C++ : return const
.
Standard_EXPORT Standard_Boolean IsParamDefined (const Standard_Integer num, const Standard_Integer nump) const
 Returns True if parameter "nump" of record "num" is defined
(it is not if its type is ParamVoid)
.
Standard_EXPORT Standard_Integer ParamNumber (const Standard_Integer num, const Standard_Integer nump) const
 Returns record number of an entity referenced by a parameter
of type Ident; 0 if no EntityNumber has been determined
Note that it is used to reference Entities but also Sublists
(sublists are not objects, but internal descriptions)
.
Standard_EXPORT const Handle_Standard_Transient & ParamEntity (const Standard_Integer num, const Standard_Integer nump) const
 Returns the StepEntity referenced by a parameter
Error if none
.
Standard_EXPORT Standard_Integer ParamFirstRank (const Standard_Integer num) const
 Returns the absolute rank of the beginning of a record
(its lsit is from ParamFirstRank+1 to ParamFirstRank+NbParams)
.
Standard_EXPORT const Handle_Standard_Transient & BoundEntity (const Standard_Integer num) const
 Returns the entity bound to a record, set by SetEntities
.
Standard_EXPORT void BindEntity (const Standard_Integer num, const Handle(Standard_Transient)&ent)
 Binds an entity to a record
.
Standard_EXPORT void SetErrorLoad (const Standard_Boolean val)
 Sets the status "Error Load" on, to overside check fails
<val> True : declares unloaded
<val> False : declares loaded
If not called before loading (see FileReaderTool), check fails
give the status
IsErrorLoad says if SetErrorLoad has been called by user
ResetErrorLoad resets it (called by FileReaderTool)
This allows to specify that the currently loaded entity
remains unloaded (because of syntactic fail)
.
Standard_EXPORT Standard_Boolean IsErrorLoad () const
 Returns True if the status "Error Load" has been set (to True
or False)
.
Standard_EXPORT Standard_Boolean ResetErrorLoad ()
 Returns the former value of status "Error Load" then resets it
Used to read the status then ensure it is reset
.
Standard_EXPORT void Destroy ()
 Destructor (waiting for memory management)
.
 ~Interface_FileReaderData ()
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Static Public Member Functions

static Standard_EXPORT Standard_Real Fastof (const Standard_CString str)
 Same spec.s as standard <atof> but 5 times faster
.

Protected Member Functions

Standard_EXPORT Interface_FileReaderData (const Standard_Integer nbr, const Standard_Integer npar)
 Initializes arrays of Entities and of ParamLists attached
to registered records
<nbr> must be the maximum number of records to get (no way to
extend it at run-time) : count entities and sub-entities ...
<npar> is the total count of parameters (if it is not exact,
it will be extented as necessary)

Hence, to each record can be bound an Entity and a list of
Parameters. Each kind of FileReaderData can add other data, by
having them in parallel (other arrays with same sizes)
Else, it must manage binding between items and their data
.
Standard_EXPORT Interface_FileParameterChangeParameter (const Standard_Integer numpar)
 Returns a parameter given its absolute rank in the file
in order to be consulted or modified in specilaized actions
.
Standard_EXPORT void ParamPosition (const Standard_Integer numpar, Standard_Integer &num, Standard_Integer &nump) const
 For a given absolute rank of parameter, determines the
record to which its belongs, and the parameter number for it
.

Private Attributes

Standard_Integer thenum0
Standard_Integer thenump0
Standard_Integer therrload
Handle_Interface_ParamSet theparams
TColStd_Array1OfInteger thenumpar
TColStd_Array1OfTransient theents

Constructor & Destructor Documentation

Interface_FileReaderData::~Interface_FileReaderData  )  [inline]
 

Standard_EXPORT Interface_FileReaderData::Interface_FileReaderData const Standard_Integer  nbr,
const Standard_Integer  npar
[protected]
 


Member Function Documentation

Standard_EXPORT void Interface_FileReaderData::AddParam const Standard_Integer  num,
const Interface_FileParameter FP
 

Standard_EXPORT void Interface_FileReaderData::AddParam const Standard_Integer  num,
const TCollection_AsciiString &  aval,
const Interface_ParamType  atype,
const Standard_Integer  nument = 0
 

Standard_EXPORT void Interface_FileReaderData::AddParam const Standard_Integer  num,
const Standard_CString  aval,
const Interface_ParamType  atype,
const Standard_Integer  nument = 0
 

Standard_EXPORT void Interface_FileReaderData::BindEntity const Standard_Integer  num,
const Handle(Standard_Transient)&  ent
 

Standard_EXPORT const Handle_Standard_Transient& Interface_FileReaderData::BoundEntity const Standard_Integer  num  )  const
 

Standard_EXPORT Interface_FileParameter& Interface_FileReaderData::ChangeParam const Standard_Integer  num,
const Standard_Integer  nump
 

Standard_EXPORT Interface_FileParameter& Interface_FileReaderData::ChangeParameter const Standard_Integer  numpar  )  [protected]
 

Standard_EXPORT void Interface_FileReaderData::Destroy  ) 
 

static Standard_EXPORT Standard_Real Interface_FileReaderData::Fastof const Standard_CString  str  )  [static]
 

virtual Standard_EXPORT Standard_Integer Interface_FileReaderData::FindNextRecord const Standard_Integer  num  )  const [pure virtual]
 

Implemented in IGESData_IGESReaderData, and StepData_StepReaderData.

Standard_EXPORT const Interface_FileReaderData::Handle Standard_Type   )  const
 

Reimplemented in IGESData_IGESReaderData, and StepData_StepReaderData.

Standard_EXPORT void Interface_FileReaderData::InitParams const Standard_Integer  num  ) 
 

Standard_EXPORT Standard_Boolean Interface_FileReaderData::IsErrorLoad  )  const
 

Standard_EXPORT Standard_Boolean Interface_FileReaderData::IsParamDefined const Standard_Integer  num,
const Standard_Integer  nump
const
 

virtual Standard_EXPORT Standard_Integer Interface_FileReaderData::NbEntities  )  const [virtual]
 

Reimplemented in IGESData_IGESReaderData, and StepData_StepReaderData.

Standard_EXPORT Standard_Integer Interface_FileReaderData::NbParams const Standard_Integer  num  )  const
 

virtual Standard_EXPORT Standard_Integer Interface_FileReaderData::NbRecords  )  const [virtual]
 

Standard_EXPORT const Interface_FileParameter& Interface_FileReaderData::Param const Standard_Integer  num,
const Standard_Integer  nump
const
 

Standard_EXPORT Standard_CString Interface_FileReaderData::ParamCValue const Standard_Integer  num,
const Standard_Integer  nump
const
 

Standard_EXPORT const Handle_Standard_Transient& Interface_FileReaderData::ParamEntity const Standard_Integer  num,
const Standard_Integer  nump
const
 

Standard_EXPORT Standard_Integer Interface_FileReaderData::ParamFirstRank const Standard_Integer  num  )  const
 

Standard_EXPORT Standard_Integer Interface_FileReaderData::ParamNumber const Standard_Integer  num,
const Standard_Integer  nump
const
 

Standard_EXPORT void Interface_FileReaderData::ParamPosition const Standard_Integer  numpar,
Standard_Integer &  num,
Standard_Integer &  nump
const [protected]
 

Standard_EXPORT Handle_Interface_ParamList Interface_FileReaderData::Params const Standard_Integer  num  )  const
 

Standard_EXPORT Interface_ParamType Interface_FileReaderData::ParamType const Standard_Integer  num,
const Standard_Integer  nump
const
 

Standard_EXPORT Standard_Boolean Interface_FileReaderData::ResetErrorLoad  ) 
 

Standard_EXPORT void Interface_FileReaderData::SetErrorLoad const Standard_Boolean  val  ) 
 

Standard_EXPORT void Interface_FileReaderData::SetParam const Standard_Integer  num,
const Standard_Integer  nump,
const Interface_FileParameter FP
 


Field Documentation

TColStd_Array1OfTransient Interface_FileReaderData::theents [private]
 

Standard_Integer Interface_FileReaderData::thenum0 [private]
 

Standard_Integer Interface_FileReaderData::thenump0 [private]
 

TColStd_Array1OfInteger Interface_FileReaderData::thenumpar [private]
 

Handle_Interface_ParamSet Interface_FileReaderData::theparams [private]
 

Standard_Integer Interface_FileReaderData::therrload [private]
 


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