# 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:

[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_FileParameter & | Param (const Standard_Integer num, const Standard_Integer nump) const
| Returns parameter "nump" of record "num", as a complete FileParameter .
Standard_EXPORT Interface_FileParameter & | ChangeParam (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_FileParameter & | ChangeParameter (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:

- Interface_FileReaderData.hxx