# DataExchange
TKXSBase
StepData

# StepData_StepReaderTool Class Reference

Specific FileReaderTool for Step; works with FileReaderData
provides references evaluation, plus access to litteral data
and specific methods defined by FileReaderTool
Remarks : works with a ReaderLib to load Entities
.

`#include <StepData_StepReaderTool.hxx>`

Inheritance diagram for StepData_StepReaderTool:

[legend]

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | StepData_StepReaderTool (const Handle(StepData_StepReaderData)&reader, const Handle(StepData_Protocol)&protocol)
| creates StepReaderTool to work with a StepReaderData according to a Step Protocol. Defines the ReaderLib at this time
Standard_EXPORT void | Prepare (const Standard_Boolean optimize=Standard_True)
| Bounds empty entities to records, uses default Recognition provided by ReaderLib and ReaderModule. Also calls computation of references (SetEntityNumbers from StepReaderData) Works only on data entities (skips header) <optimize> given False allows to test some internal algorithms which are normally avoided (see also StepReaderData) .
Standard_EXPORT void | Prepare (const Handle(StepData_FileRecognizer)&reco, const Standard_Boolean optimize=Standard_True)
| Bounds empty entities to records, works with a specific FileRecognizer, stored and later used in Recognize Works only on data entities (skips header) <optimize : same as above .
Standard_EXPORT Standard_Boolean | Recognize (const Standard_Integer num, Handle(Interface_Check)&ach, Handle(Standard_Transient)&ent)
| recognizes records, by asking either ReaderLib (default) or FileRecognizer (if defined) to do so. <ach> is to call RecognizeByLib
Standard_EXPORT void | PrepareHeader (const Handle(StepData_FileRecognizer)&reco)
| bounds empty entities and sub-lists to header records works like Prepare + SetEntityNumbers, but for header (N.B.: in Header, no Ident and no reference) FileRecognizer is to specify Entities which are allowed to be defined in the Header (not every type can be)
Standard_EXPORT void | BeginRead (const Handle(Interface_InterfaceModel)&amodel)
| fills model's header; that is, gives to it Header entities and commands their loading. Also fills StepModel's Global Check from StepReaderData's GlobalCheck
Standard_EXPORT Standard_Boolean | AnalyseRecord (const Standard_Integer num, const Handle(Standard_Transient)&anent, Handle(Interface_Check)&acheck)
| fills an entity, given record no; works by using a ReaderLib to load each entity, which must be a Transient Actually, returned value is True if no fail, False else
virtual Standard_EXPORT void | EndRead (const Handle(Interface_InterfaceModel)&amodel)
| Ends file reading after reading all the entities Here, it binds in the model, Idents to Entities (for checks) .

## Private Attributes

Handle_StepData_FileRecognizer | thereco
Interface_GeneralLib | theglib
Interface_ReaderLib | therlib

## Constructor & Destructor Documentation

Standard_EXPORT StepData_StepReaderTool::StepData_StepReaderTool | ( | const Handle(StepData_StepReaderData)& | reader,
|  | const Handle(StepData_Protocol)& | protocol
| ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean StepData_StepReaderTool::AnalyseRecord | ( | const Standard_Integer | num,
|  | const Handle(Standard_Transient)& | anent,
|  | Handle(Interface_Check)& | acheck
| ) | `[virtual]`

| Implements Interface_FileReaderTool.

Standard_EXPORT void StepData_StepReaderTool::BeginRead | ( | const Handle(Interface_InterfaceModel)& | amodel | ) | `[virtual]`

| Implements Interface_FileReaderTool.

virtual Standard_EXPORT void StepData_StepReaderTool::EndRead | ( | const Handle(Interface_InterfaceModel)& | amodel | ) | `[virtual]`

| Reimplemented from Interface_FileReaderTool.

void StepData_StepReaderTool::operator delete | ( | void * | anAddress | ) | `[inline]`

| Reimplemented from Interface_FileReaderTool.

void* StepData_StepReaderTool::operator new | ( | size_t | size | ) | `[inline]`

| Reimplemented from Interface_FileReaderTool.

void* StepData_StepReaderTool::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

| Reimplemented from Interface_FileReaderTool.

Standard_EXPORT void StepData_StepReaderTool::Prepare | ( | const Handle(StepData_FileRecognizer)& | reco,
|  | const Standard_Boolean | optimize = `Standard_True`
| ) |

Standard_EXPORT void StepData_StepReaderTool::Prepare | ( | const Standard_Boolean | optimize = `Standard_True` | ) |

Standard_EXPORT void StepData_StepReaderTool::PrepareHeader | ( | const Handle(StepData_FileRecognizer)& | reco | ) |

Standard_EXPORT Standard_Boolean StepData_StepReaderTool::Recognize | ( | const Standard_Integer | num,
|  | Handle(Interface_Check)& | ach,
|  | Handle(Standard_Transient)& | ent
| ) | `[virtual]`

| Implements Interface_FileReaderTool.

## Field Documentation

Interface_GeneralLib StepData_StepReaderTool::theglib`[private]`

Handle_StepData_FileRecognizer StepData_StepReaderTool::thereco`[private]`

Interface_ReaderLib StepData_StepReaderTool::therlib`[private]`

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

- StepData_StepReaderTool.hxx