Open CASCADE Technology 6.6.0
|
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 | |
XSControl_TransferReader () | |
Creates a TransferReader, empty | |
void | SetController (const Handle< XSControl_Controller > &control) |
Sets a Controller. It is required to generate the Actor. Elsewhere, the Actor must be provided directly | |
void | SetActor (const Handle< Transfer_ActorOfTransientProcess > &actor) |
Sets the Actor directly : this value will be used if the Controller is not set | |
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. | |
void | SetModel (const Handle< Interface_InterfaceModel > &model) |
Sets an InterfaceModel. This causes former results, computed from another one, to be lost (see also Clear) | |
void | SetGraph (const Handle< Interface_HGraph > &graph) |
Sets a Graph and its InterfaceModel (calls SetModel) | |
Handle_Interface_InterfaceModel | Model () const |
Returns the currently set InterfaceModel | |
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_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 | |
Handle_Dico_DictionaryOfTransient & | Context () |
Returns (modifiable) the whole definition of Context Rather for internal use (ex.: preparing and setting in once) | |
void | SetFileName (const Standard_CString name) |
Sets a new value for (loaded) file name | |
Standard_CString | FileName () const |
Returns actual value of file name | |
void | Clear (const Standard_Integer mode) |
Clears data, according mode : | |
Handle_Transfer_TransientProcess | TransientProcess () const |
Returns the currently used TransientProcess It is computed from the model by TransferReadRoots, or by BeginTransferRead | |
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_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_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_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) | |
Handle_TColStd_HSequenceOfTransient | RecordedList () const |
Returns the list of entities to which a final result is attached (i.e. processed by RecordResult) | |
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_Boolean | IsSkipped (const Handle< Standard_Transient > &ent) const |
Returns True if an entity is noted as skipped | |
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) | |
Handle_Transfer_ResultFromModel | FinalResult (const Handle< Standard_Transient > &ent) const |
Returns the final result recorded for an entity, as such | |
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_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) | |
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 | |
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 | |
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_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 | |
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 | |
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 | |
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 | |
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_Boolean | HasChecks (const Handle< Standard_Transient > &ent, const Standard_Boolean failsonly) const |
Returns True if an entity (with a final result) has checks : | |
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_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_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_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_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_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 | |
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 | |
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 | |
Interface_CheckIterator | LastCheckList () const |
Returns the CheckList resulting from last TransferRead i.e. from TransientProcess itself, recorded from last Clear | |
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 | |
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 | |
Static Public Member Functions | |
static 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 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 |
XSControl_TransferReader::XSControl_TransferReader | ( | ) |
Handle_Transfer_ActorOfTransientProcess XSControl_TransferReader::Actor | ( | ) |
Standard_Boolean XSControl_TransferReader::BeginTransfer | ( | ) |
Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::CheckedList | ( | const Handle< Standard_Transient > & | ent, |
const Interface_CheckStatus | withcheck = Interface_CheckAny , |
||
const Standard_Boolean | result = Standard_True |
||
) | const |
Interface_CheckIterator XSControl_TransferReader::CheckList | ( | const Handle< Standard_Transient > & | ent, |
const Standard_Integer | level = 0 |
||
) | const |
void XSControl_TransferReader::Clear | ( | const Standard_Integer | mode | ) |
-1 all
0 nothing done
+1 final results
+2 working data (model, context, transfer process)
Standard_Boolean XSControl_TransferReader::ClearResult | ( | const Handle< Standard_Transient > & | ent, |
const Standard_Integer | mode | ||
) |
Handle_Dico_DictionaryOfTransient& XSControl_TransferReader::Context | ( | ) |
Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::EntitiesFromShapeList | ( | const Handle< TopTools_HSequenceOfShape > & | res, |
const Standard_Integer | mode = 0 |
||
) | const |
Handle_Standard_Transient XSControl_TransferReader::EntityFromResult | ( | const Handle< Standard_Transient > & | res, |
const Standard_Integer | mode = 0 |
||
) | const |
Handle_Standard_Transient XSControl_TransferReader::EntityFromShapeResult | ( | const TopoDS_Shape & | res, |
const Standard_Integer | mode = 0 |
||
) | const |
Standard_CString XSControl_TransferReader::FileName | ( | ) | const |
Standard_CString XSControl_TransferReader::FinalEntityLabel | ( | const Handle< Standard_Transient > & | ent | ) | const |
Standard_Integer XSControl_TransferReader::FinalEntityNumber | ( | const Handle< Standard_Transient > & | ent | ) | const |
Handle_Transfer_ResultFromModel XSControl_TransferReader::FinalResult | ( | const Handle< Standard_Transient > & | ent | ) | const |
Standard_Boolean XSControl_TransferReader::GetContext | ( | const Standard_CString | name, |
const Handle< Standard_Type > & | type, | ||
Handle< Standard_Transient > & | ctx | ||
) | const |
Standard_Boolean XSControl_TransferReader::HasChecks | ( | const Handle< Standard_Transient > & | ent, |
const Standard_Boolean | failsonly | ||
) | const |
Standard_Boolean XSControl_TransferReader::HasResult | ( | const Handle< Standard_Transient > & | ent | ) | const |
Standard_Boolean XSControl_TransferReader::IsMarked | ( | const Handle< Standard_Transient > & | ent | ) | const |
Standard_Boolean XSControl_TransferReader::IsRecorded | ( | const Handle< Standard_Transient > & | ent | ) | const |
Standard_Boolean XSControl_TransferReader::IsSkipped | ( | const Handle< Standard_Transient > & | ent | ) | const |
Interface_CheckIterator XSControl_TransferReader::LastCheckList | ( | ) | const |
Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::LastTransferList | ( | const Standard_Boolean | roots | ) | const |
Handle_Interface_InterfaceModel XSControl_TransferReader::Model | ( | ) | const |
void XSControl_TransferReader::PrintStats | ( | const Standard_Integer | what, |
const Standard_Integer | mode = 0 |
||
) | const |
static 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 void XSControl_TransferReader::PrintStatsProcess | ( | const Handle< Transfer_TransientProcess > & | TP, |
const Standard_Integer | what, | ||
const Standard_Integer | mode = 0 |
||
) | [static] |
Standard_Boolean XSControl_TransferReader::Recognize | ( | const Handle< Standard_Transient > & | ent | ) |
Handle_TColStd_HSequenceOfTransient XSControl_TransferReader::RecordedList | ( | ) | const |
Standard_Boolean XSControl_TransferReader::RecordResult | ( | const Handle< Standard_Transient > & | ent | ) |
Handle_Transfer_ResultFromModel XSControl_TransferReader::ResultFromNumber | ( | const Standard_Integer | num | ) | const |
void XSControl_TransferReader::SetActor | ( | const Handle< Transfer_ActorOfTransientProcess > & | actor | ) |
void XSControl_TransferReader::SetContext | ( | const Standard_CString | name, |
const Handle< Standard_Transient > & | ctx | ||
) |
void XSControl_TransferReader::SetController | ( | const Handle< XSControl_Controller > & | control | ) |
void XSControl_TransferReader::SetFileName | ( | const Standard_CString | name | ) |
void XSControl_TransferReader::SetGraph | ( | const Handle< Interface_HGraph > & | graph | ) |
void XSControl_TransferReader::SetModel | ( | const Handle< Interface_InterfaceModel > & | model | ) |
void XSControl_TransferReader::SetTransientProcess | ( | const Handle< Transfer_TransientProcess > & | TP | ) |
TopoDS_Shape XSControl_TransferReader::ShapeResult | ( | const Handle< Standard_Transient > & | ent | ) | const |
Handle_TopTools_HSequenceOfShape XSControl_TransferReader::ShapeResultList | ( | const Standard_Boolean | rec | ) |
Standard_Boolean XSControl_TransferReader::Skip | ( | const Handle< Standard_Transient > & | ent | ) |
void XSControl_TransferReader::TransferClear | ( | const Handle< Standard_Transient > & | ent, |
const Standard_Integer | level = 0 |
||
) |
Standard_Integer XSControl_TransferReader::TransferList | ( | const Handle< TColStd_HSequenceOfTransient > & | list, |
const Standard_Boolean | rec = Standard_True |
||
) |
Standard_Integer XSControl_TransferReader::TransferOne | ( | const Handle< Standard_Transient > & | ent, |
const Standard_Boolean | rec = Standard_True |
||
) |
Standard_Integer XSControl_TransferReader::TransferRoots | ( | const Interface_Graph & | G | ) |
Handle_Transfer_TransientProcess XSControl_TransferReader::TransientProcess | ( | ) | const |
Handle_Standard_Transient XSControl_TransferReader::TransientResult | ( | const Handle< Standard_Transient > & | ent | ) | const |