Open CASCADE Technology 6.6.0
Public Member Functions | Static Public Member Functions
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>

Inheritance diagram for XSControl_TransferReader:
Inheritance graph
[legend]

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

filter)


Constructor & Destructor Documentation

XSControl_TransferReader::XSControl_TransferReader ( )

Member Function Documentation

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
  • failsonly = False : any kind of check message
  • failsonly = True : fails only
    Returns False if <ent> is not recorded
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

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines