# DataExchange
TKXSBase
XSControl

# XSControl_TransferReader Class Reference

A TransferReader performs, manages, handles results of,
transfers done when reading a file (i.e. from entities of an
InterfaceModel, to objects for Imagine)
Running is organised around basic tools : TransientProcess and
its Actor, results are Binders and CheckIterators. It implies
control by a Controller (which prepares the Actor as required)
Getting results can be done directly on TransientProcess, but
these are immediate "last produced" results. Each transfer of
an entity gives a final result, but also possible intermediate
data, and checks, which can be attached to sub-entities.
Hence, final results (which intermediates and checks) are
recorded as ResultFromModel and can be queried individually.
Some more direct access are given for results which are
Transient or Shapes
.

`#include <XSControl_TransferReader.hxx>`

## Public Member Functions

Standard_EXPORT | XSControl_TransferReader ()
| Creates a TransferReader, empty .
Standard_EXPORT void | SetController (const Handle(XSControl_Controller)&control)
| Sets a Controller. It is required to generate the Actor. Elsewhere, the Actor must be provided directly .
Standard_EXPORT void | SetActor (const Handle(Transfer_ActorOfTransientProcess)&actor)
| Sets the Actor directly : this value will be used if the Controller is not set .
Standard_EXPORT Handle_Transfer_ActorOfTransientProcess | Actor ()
| Returns the Actor, determined by the Controller, or if this one is unknown, directly set. Once it has been defined, it can then be edited. .
Standard_EXPORT void | SetModel (const Handle(Interface_InterfaceModel)&model)
| Sets an InterfaceModel. This causes former results, computed from another one, to be lost (see also Clear) .
Standard_EXPORT void | SetGraph (const Handle(Interface_HGraph)&graph)
| Sets a Graph and its InterfaceModel (calls SetModel) .
Standard_EXPORT Handle_Interface_InterfaceModel | Model () const
| Returns the currently set InterfaceModel .
Standard_EXPORT void | SetContext (const Standard_CString name, const Handle(Standard_Transient)&ctx)
| Sets a Context : according to receiving appli, to be interpreted by the Actor .
Standard_EXPORT Standard_Boolean | GetContext (const Standard_CString name, const Handle(Standard_Type)&type, Handle(Standard_Transient)&ctx) const
| Returns the Context attached to a name, if set and if it is Kind of the type, else a Null Handle Returns True if OK, False if no Context .
Standard_EXPORT Handle_Dico_DictionaryOfTransient & | Context ()
| Returns (modifiable) the whole definition of Context Rather for internal use (ex.: preparing and setting in once) .
Standard_EXPORT void | SetFileName (const Standard_CString name)
| Sets a new value for (loaded) file name .
Standard_EXPORT Standard_CString | FileName () const
| Returns actual value of file name .
Standard_EXPORT void | Clear (const Standard_Integer mode)
| Clears data, according mode : -1 all 0 nothing done +1 final results +2 working data (model, context, transfer process) .
Standard_EXPORT Handle_Transfer_TransientProcess | TransientProcess () const
| Returns the currently used TransientProcess It is computed from the model by TransferReadRoots, or by BeginTransferRead .
Standard_EXPORT void | SetTransientProcess (const Handle(Transfer_TransientProcess)&TP)
| Forces the TransientProcess Remark : it also changes the Model and the Actor, from those recorded in the new TransientProcess .
Standard_EXPORT Standard_Boolean | RecordResult (const Handle(Standard_Transient)&ent)
| Records a final result of transferring an entity This result is recorded as a ResultFromModel, taken from the TransientProcess Returns True if a result is available, False else .
Standard_EXPORT Standard_Boolean | IsRecorded (const Handle(Standard_Transient)&ent) const
| Returns True if a final result is recorded for an entity Remark that it can bring no effective result if transfer has completely failed (FinalResult brings only fail messages ...) .
Standard_EXPORT Standard_Boolean | HasResult (const Handle(Standard_Transient)&ent) const
| Returns True if a final result is recorded AND BRINGS AN EFFECTIVE RESULT (else, it brings only fail messages) .
Standard_EXPORT Handle_TColStd_HSequenceOfTransient | RecordedList () const
| Returns the list of entities to which a final result is attached (i.e. processed by RecordResult) .
Standard_EXPORT Standard_Boolean | Skip (const Handle(Standard_Transient)&ent)
| Note that an entity has been required for transfer but no result at all is available (typically : case not implemented) It is not an error, but it gives a specific status : Skipped Returns True if done, False if <ent> is not in starting model .
Standard_EXPORT Standard_Boolean | IsSkipped (const Handle(Standard_Transient)&ent) const
| Returns True if an entity is noted as skipped .
Standard_EXPORT Standard_Boolean | IsMarked (const Handle(Standard_Transient)&ent) const
| Returns True if an entity has been asked for transfert, hence it is marked, as : Recorded (a computation has ran, with or without an effective result), or Skipped (case ignored) .
Standard_EXPORT Handle_Transfer_ResultFromModel | FinalResult (const Handle(Standard_Transient)&ent) const
| Returns the final result recorded for an entity, as such .
Standard_EXPORT Standard_CString | FinalEntityLabel (const Handle(Standard_Transient)&ent) const
| Returns the label attached to an entity recorded for final, or an empty string if not recorded .
Standard_EXPORT Standard_Integer | FinalEntityNumber (const Handle(Standard_Transient)&ent) const
| Returns the number attached to the entity recorded for final, or zero if not recorded (looks in the ResultFromModel) .
Standard_EXPORT Handle_Transfer_ResultFromModel | ResultFromNumber (const Standard_Integer num) const
| Returns the final result recorded for a NUMBER of entity (internal use). Null if out of range .
Standard_EXPORT Handle_Standard_Transient | TransientResult (const Handle(Standard_Transient)&ent) const
| Returns the resulting object as a Transient Null Handle if no result or result not transient .
Standard_EXPORT TopoDS_Shape | ShapeResult (const Handle(Standard_Transient)&ent) const
| Returns the resulting object as a Shape Null Shape if no result or result not a shape .
Standard_EXPORT Standard_Boolean | ClearResult (const Handle(Standard_Transient)&ent, const Standard_Integer mode)
| Clears recorded result for an entity, according mode <mode> = -1 : true, complete, clearing (erasing result) <mode> >= 0 : simple "stripping", see ResultFromModel, in particular, 0 for simple internal strip, 10 for all but final result, 11 for all : just label, status and filename are kept Returns True when done, False if nothing was to clear .
Standard_EXPORT Handle_Standard_Transient | EntityFromResult (const Handle(Standard_Transient)&res, const Standard_Integer mode=0) const

Returns an entity from which a given result was produced.
If <mode> = 0 (D), searches in last root transfers
If <mode> = 1, searches in last (root & sub) transfers
If <mode> = 2, searches in root recorded results
If <mode> = 3, searches in all (root & sub) recordeds
<res> can be, either a transient object (result itself) or
a binder. For a binder of shape, calls EntityFromShapeResult
Returns a Null Handle if <res> not recorded
.

Standard_EXPORT Handle_Standard_Transient | EntityFromShapeResult (const TopoDS_Shape &res, const Standard_Integer mode=0) const
| Returns an entity from which a given shape result was produced Returns a Null Handle if <res> not recorded or not a Shape .
Standard_EXPORT Handle_TColStd_HSequenceOfTransient | EntitiesFromShapeList (const Handle(TopTools_HSequenceOfShape)&res, const Standard_Integer mode=0) const
| Returns the list of entities from which some shapes were produced : it corresponds to a loop on EntityFromShapeResult, but is optimised .
Standard_EXPORT Interface_CheckIterator | CheckList (const Handle(Standard_Transient)&ent, const Standard_Integer level=0) const

Returns the CheckList resulting from transferring <ent>, i.e.
stored in its recorded form ResultFromModel
(empty if transfer successful or not recorded ...)
If <ent> is the Model, returns the complete cumulated
check-list, <level> is ignored
If <ent> is an entity of the Model, <level> applies as follows
<level> : -1 for <ent> only, LAST transfer (TransientProcess)
<level> : 0 for <ent> only (D)
1 for <ent> and its immediate subtransfers, if any
2 for <ent> and subtransferts at all levels
.

Standard_EXPORT Standard_Boolean | HasChecks (const Handle(Standard_Transient)&ent, const Standard_Boolean failsonly) const
| Returns True if an entity (with a final result) has checks : - failsonly = False : any kind of check message - failsonly = True : fails only Returns False if <ent> is not recorded .
Standard_EXPORT Handle_TColStd_HSequenceOfTransient | CheckedList (const Handle(Standard_Transient)&ent, const Interface_CheckStatus withcheck=Interface_CheckAny, const Standard_Boolean result=Standard_True) const

Returns the list of starting entities to which a given check
status is attached, IN FINAL RESULTS
<ent> can be an entity, or the model to query all entities
Below, "entities" are, either <ent> plus its sub-transferred,
or all the entities of the model
<check> = -2 , all entities whatever the check (see result)
<check> = -1 , entities with no fail (warning allowed)
<check> = 0 , entities with no check at all
<check> = 1 , entities with warning but no fail
<check> = 2 , entities with fail
<result> : if True, only entities with an attached result
Remark : result True and check=0 will give an empty list
.

Standard_EXPORT Standard_Boolean | BeginTransfer ()
| Defines a new TransferProcess for reading transfer Returns True if done, False if data are not properly defined (the Model, the Actor for Read) .
Standard_EXPORT Standard_Boolean | Recognize (const Handle(Standard_Transient)&ent)
| Tells if an entity is recognized as a valid candidate for Transfer. Calls method Recognize from the Actor (if known) .
Standard_EXPORT Standard_Integer | TransferOne (const Handle(Standard_Transient)&ent, const Standard_Boolean rec=Standard_True)
| Commands the transfer on reading for an entity to data for Imagine, using the selected Actor for Read Returns count of transferred entities, ok or with fails (0/1) If <rec> is True (D), the result is recorded by RecordResult .
Standard_EXPORT Standard_Integer | TransferList (const Handle(TColStd_HSequenceOfTransient)&list, const Standard_Boolean rec=Standard_True)
| Commands the transfer on reading for a list of entities to data for Imagine, using the selected Actor for Read Returns count of transferred entities, ok or with fails (0/1) If <rec> is True (D), the results are recorded by RecordResult .
Standard_EXPORT Standard_Integer | TransferRoots (const Interface_Graph &G)
| Transfers the content of the current Interface Model to data handled by Imagine, starting from its Roots (determined by the Graph <g>), using the selected Actor for Read Returns the count of performed root transfers (i.e. 0 if none) or -1 if no actor is defined .
Standard_EXPORT void | TransferClear (const Handle(Standard_Transient)&ent, const Standard_Integer level=0)
| Clears the results attached to an entity if <ents> equates the starting model, clears all results .
Standard_EXPORT void | PrintStats (const Standard_Integer what, const Standard_Integer mode=0) const
| Prints statistics on current Trace File, according <what> and <mode>. See PrintStatsProcess for details .
Standard_EXPORT Interface_CheckIterator | LastCheckList () const
| Returns the CheckList resulting from last TransferRead i.e. from TransientProcess itself, recorded from last Clear .
Standard_EXPORT Handle_TColStd_HSequenceOfTransient | LastTransferList (const Standard_Boolean roots) const
| Returns the list of entities recorded as lastly transferred i.e. from TransientProcess itself, recorded from last Clear If <roots> is True , considers only roots of transfer If <roots> is False, considers all entities bound with result .
Standard_EXPORT Handle_TopTools_HSequenceOfShape | ShapeResultList (const Standard_Boolean rec)
| Returns a list of result Shapes If <rec> is True , sees RecordedList If <rec> is False, sees LastTransferList (last ROOT transfers) For each one, if it is a Shape, it is cumulated to the list If no Shape is found, returns an empty Sequence .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Static Public Member Functions

static Standard_EXPORT void | PrintStatsProcess (const Handle(Transfer_TransientProcess)&TP, const Standard_Integer what, const Standard_Integer mode=0)

This routines prints statistics about a TransientProcess
It can be called, by a TransferReader, or isolately
Prints are done on the default trace file
<what> defines what kind of statistics are to be printed :
0 : basic figures
1 : root results
2 : all recorded (roots, intermediate, checked entities)
3 : abnormal records
4 : check messages (warnings and fails)
5 : fail messages
<mode> is used according <what> :
<what> = 0 : <mode> is ignored
<what> = 1,2,3 : <mode> as follows :
0 (D) : just lists numbers of concerned entities in the model
1 : for each entity, gives number,label, type and result
type and/or status (fail/warning...)
2 : for each entity, gives maximal information (i.e. checks)
3 : counts per type of starting entity (class type)
4 : counts per result type and/or status
5 : counts per couple (starting type / result type/status)
6 : idem plus gives for each item, the list of numbers of
entities in the starting model
<what> = 4,5 : modes relays on an enum PrintCount :
0 (D) : ItemsByEntity (sequential list by entity)
1 : CountByItem
2 : ShortByItem (count + 5 first numbers)
3 : ListByItem (count + entity numbers)
4 : EntitiesByItem (count + entity numbers and labels)
.

static Standard_EXPORT void | PrintStatsOnList (const Handle(Transfer_TransientProcess)&TP, const Handle(TColStd_HSequenceOfTransient)&list, const Standard_Integer what, const Standard_Integer mode=0)
| Works as PrintStatsProcess, but displays data only on the entities which are in <list> (filter) .

## Private Attributes

Handle_XSControl_Controller | theController
TCollection_AsciiString | theFilename
Handle_Interface_InterfaceModel | theModel
Handle_Interface_HGraph | theGraph
Handle_Dico_DictionaryOfTransient | theContext
Handle_Transfer_ActorOfTransientProcess | theActor
Handle_Transfer_TransientProcess | theTransfer
Interface_DataMapOfIntegerTransient | theResults
Handle_TopTools_HSequenceOfShape | theShapeResult

## Constructor & Destructor Documentation

Standard_EXPORT XSControl_TransferReader::XSControl_TransferReader | ( |  | ) |

## Member Function Documentation

Standard_EXPORT Handle_Transfer_ActorOfTransientProcess XSControl_TransferReader::Actor | ( |  | ) |

Standard_EXPORT Standard_Boolean XSControl_TransferReader::BeginTransfer | ( |  | ) |

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::CheckedList | ( | const Handle(Standard_Transient)& | ent,
|  | const Interface_CheckStatus | withcheck = `Interface_CheckAny`,
|  | const Standard_Boolean | result = `Standard_True`
| ) | const

Standard_EXPORT Interface_CheckIterator XSControl_TransferReader::CheckList | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Integer | level = `0`
| ) | const

Standard_EXPORT void XSControl_TransferReader::Clear | ( | const Standard_Integer | mode | ) |

Standard_EXPORT Standard_Boolean XSControl_TransferReader::ClearResult | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Integer | mode
| ) |

Standard_EXPORT Handle_Dico_DictionaryOfTransient& XSControl_TransferReader::Context | ( |  | ) |

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::EntitiesFromShapeList | ( | const Handle(TopTools_HSequenceOfShape)& | res,
|  | const Standard_Integer | mode = `0`
| ) | const

Standard_EXPORT Handle_Standard_Transient XSControl_TransferReader::EntityFromResult | ( | const Handle(Standard_Transient)& | res,
|  | const Standard_Integer | mode = `0`
| ) | const

Standard_EXPORT Handle_Standard_Transient XSControl_TransferReader::EntityFromShapeResult | ( | const TopoDS_Shape & | res,
|  | const Standard_Integer | mode = `0`
| ) | const

Standard_EXPORT Standard_CString XSControl_TransferReader::FileName | ( |  | ) | const

Standard_EXPORT Standard_CString XSControl_TransferReader::FinalEntityLabel | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Integer XSControl_TransferReader::FinalEntityNumber | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Handle_Transfer_ResultFromModel XSControl_TransferReader::FinalResult | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::GetContext | ( | const Standard_CString | name,
|  | const Handle(Standard_Type)& | type,
|  | Handle(Standard_Transient)& | ctx
| ) | const

Standard_EXPORT const XSControl_TransferReader::Handle | ( | Standard_Type |  | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::HasChecks | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Boolean | failsonly
| ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::HasResult | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::IsMarked | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::IsRecorded | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::IsSkipped | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Interface_CheckIterator XSControl_TransferReader::LastCheckList | ( |  | ) | const

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::LastTransferList | ( | const Standard_Boolean | roots | ) | const

Standard_EXPORT Handle_Interface_InterfaceModel XSControl_TransferReader::Model | ( |  | ) | const

Standard_EXPORT void XSControl_TransferReader::PrintStats | ( | const Standard_Integer | what,
|  | const Standard_Integer | mode = `0`
| ) | const

static Standard_EXPORT void XSControl_TransferReader::PrintStatsOnList | ( | const Handle(Transfer_TransientProcess)& | TP,
|  | const Handle(TColStd_HSequenceOfTransient)& | list,
|  | const Standard_Integer | what,
|  | const Standard_Integer | mode = `0`
| ) | `[static]`

static Standard_EXPORT void XSControl_TransferReader::PrintStatsProcess | ( | const Handle(Transfer_TransientProcess)& | TP,
|  | const Standard_Integer | what,
|  | const Standard_Integer | mode = `0`
| ) | `[static]`

Standard_EXPORT Standard_Boolean XSControl_TransferReader::Recognize | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::RecordedList | ( |  | ) | const

Standard_EXPORT Standard_Boolean XSControl_TransferReader::RecordResult | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT Handle_Transfer_ResultFromModel XSControl_TransferReader::ResultFromNumber | ( | const Standard_Integer | num | ) | const

Standard_EXPORT void XSControl_TransferReader::SetActor | ( | const Handle(Transfer_ActorOfTransientProcess)& | actor | ) |

Standard_EXPORT void XSControl_TransferReader::SetContext | ( | const Standard_CString | name,
|  | const Handle(Standard_Transient)& | ctx
| ) |

Standard_EXPORT void XSControl_TransferReader::SetController | ( | const Handle(XSControl_Controller)& | control | ) |

Standard_EXPORT void XSControl_TransferReader::SetFileName | ( | const Standard_CString | name | ) |

Standard_EXPORT void XSControl_TransferReader::SetGraph | ( | const Handle(Interface_HGraph)& | graph | ) |

Standard_EXPORT void XSControl_TransferReader::SetModel | ( | const Handle(Interface_InterfaceModel)& | model | ) |

Standard_EXPORT void XSControl_TransferReader::SetTransientProcess | ( | const Handle(Transfer_TransientProcess)& | TP | ) |

Standard_EXPORT TopoDS_Shape XSControl_TransferReader::ShapeResult | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Handle_TopTools_HSequenceOfShape XSControl_TransferReader::ShapeResultList | ( | const Standard_Boolean | rec | ) |

Standard_EXPORT Standard_Boolean XSControl_TransferReader::Skip | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT void XSControl_TransferReader::TransferClear | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Integer | level = `0`
| ) |

Standard_EXPORT Standard_Integer XSControl_TransferReader::TransferList | ( | const Handle(TColStd_HSequenceOfTransient)& | list,
|  | const Standard_Boolean | rec = `Standard_True`
| ) |

Standard_EXPORT Standard_Integer XSControl_TransferReader::TransferOne | ( | const Handle(Standard_Transient)& | ent,
|  | const Standard_Boolean | rec = `Standard_True`
| ) |

Standard_EXPORT Standard_Integer XSControl_TransferReader::TransferRoots | ( | const Interface_Graph & | G | ) |

Standard_EXPORT Handle_Transfer_TransientProcess XSControl_TransferReader::TransientProcess | ( |  | ) | const

Standard_EXPORT Handle_Standard_Transient XSControl_TransferReader::TransientResult | ( | const Handle(Standard_Transient)& | ent | ) | const

## Field Documentation

Handle_Transfer_ActorOfTransientProcess XSControl_TransferReader::theActor`[private]`

Handle_Dico_DictionaryOfTransient XSControl_TransferReader::theContext`[private]`

Handle_XSControl_Controller XSControl_TransferReader::theController`[private]`

TCollection_AsciiString XSControl_TransferReader::theFilename`[private]`

Handle_Interface_HGraph XSControl_TransferReader::theGraph`[private]`

Handle_Interface_InterfaceModel XSControl_TransferReader::theModel`[private]`

Interface_DataMapOfIntegerTransient XSControl_TransferReader::theResults`[private]`

Handle_TopTools_HSequenceOfShape XSControl_TransferReader::theShapeResult`[private]`

Handle_Transfer_TransientProcess XSControl_TransferReader::theTransfer`[private]`

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

- XSControl_TransferReader.hxx