OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
XSControl


XSControl_Reader Class Reference

A groundwork to convert a shape to data which complies
with a particular norm. This data can be that of a whole
model or that of a specific list of entities in the model.
You specify the list using a single selection or a
combination of selections. A selection is an operator which
computes a list of entities from a list given in input. To
specify the input, you can use:
- A predefined selection such as "xst-transferrable-roots"
- A filter based on a signature.
A signature is an operator which returns a string from an
entity according to its type.
For example:
- "xst-type" (CDL)
- "iges-level"
- "step-type".
A filter can be based on a signature by giving a value to
be matched by the string returned. For example,
"xst-type(Curve)".
If no list is specified, the selection computes its list of
entities from the whole model. To use this class, you have to
initialize the transfer norm first, as shown in the example below.
Example:
Control_Reader reader;
IFSelect_ReturnStatus status = reader.ReadFile (filename.);
When using IGESControl_Reader or STEPControl_Reader - as the
above example shows - the reader initializes the norm directly.
Note that loading the file only stores the data. It does
not translate this data. Shapes are accumulated by
successive transfers. The last shape is cleared by:
- ClearShapes which allows you to handle a new batch
- TransferRoots which restarts the list of shapes from scratch.
.

#include <XSControl_Reader.hxx>

Inheritance diagram for XSControl_Reader:

Inheritance graph
[legend]

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT XSControl_Reader ()
 Creates a Reader from scratch (creates an empty WorkSession)
A WorkSession or a Controller must be provided before running
.
Standard_EXPORT XSControl_Reader (const Standard_CString norm)
 Creates a Reader from scratch, with a norm name which
identifies a Controller
.
Standard_EXPORT XSControl_Reader (const Handle(XSControl_WorkSession)&WS, const Standard_Boolean scratch=Standard_True)
 Creates a Reader from an already existing Session, with a
Controller already set
//! Virtual destructor
.
virtual Standard_EXPORT ~XSControl_Reader ()
Standard_EXPORT Standard_Boolean SetNorm (const Standard_CString norm)
 Sets a specific norm to <me>
Returns True if done, False if <norm> is not available
.
Standard_EXPORT void SetWS (const Handle(XSControl_WorkSession)&WS, const Standard_Boolean scratch=Standard_True)
 Sets a specific session to <me>
.
Standard_EXPORT Handle_XSControl_WorkSession WS () const
 Returns the session used in <me>
.
Standard_EXPORT IFSelect_ReturnStatus ReadFile (const Standard_CString filename)
 Loads a file and returns the read status
Zero for a Model which compies with the Controller
.
Standard_EXPORT Handle_Interface_InterfaceModel Model () const
 Returns the model. It can then be consulted (header, product)
.
Standard_EXPORT Handle_TColStd_HSequenceOfTransient GiveList (const Standard_CString first="", const Standard_CString second="")
 Returns a list of entities from the IGES or STEP file
according to the following rules:
- if first and second are empty strings, the whole file is selected.
- if first is an entity number or label, the entity referred to is selected.
- if first is a list of entity numbers/labels separated by commas, the entities referred to are selected,
- if first is the name of a selection in the worksession and second is not defined,
the list contains the standard output for that selection.
- if first is the name of a selection and second is defined, the criterion defined
by second is applied to the result of the first selection.
A selection is an operator which computes a list of entities from a list given in
input according to its type. If no list is specified, the selection computes its
list of entities from the whole model.
A selection can be:
- A predefined selection (xst-transferrable-mode)
- A filter based on a signature
A Signature is an operator which returns a string from an entity according to its type. For example:
- "xst-type" (CDL)
- "iges-level"
- "step-type".
For example, if you wanted to select only the advanced_faces in a STEP file you
would use the following code:
Example
Reader.GiveList("xst-transferrable-roots","step-type(ADVANCED_FACE)");
Warning
If the value given to second is incorrect, it will simply be ignored.
.
Standard_EXPORT Handle_TColStd_HSequenceOfTransient GiveList (const Standard_CString first, const Handle(Standard_Transient)&ent)
 Computes a List of entities from the model as follows
<first> beeing a Selection, <ent> beeing an entity or a list
of entities (as a HSequenceOfTransient) :
the standard result of this selection applied to this list
if <first> is erroneous, a null handle is returned
.
virtual Standard_EXPORT Standard_Integer NbRootsForTransfer ()
 Determines the list of root entities which are candidate for
a transfer to a Shape, and returns the number
of entities in the list
.
Standard_EXPORT Handle_Standard_Transient RootForTransfer (const Standard_Integer num=1)
 Returns an IGES or STEP root
entity for translation. The entity is identified by its
rank in a list.
.
Standard_EXPORT Standard_Boolean TransferOneRoot (const Standard_Integer num=1)
 Translates a root identified by the rank num in the model.
false is returned if no shape is produced.
.
Standard_EXPORT Standard_Boolean TransferOne (const Standard_Integer num)
 Translates an IGES or STEP
entity identified by the rank num in the model.
false is returned if no shape is produced.
.
Standard_EXPORT Standard_Boolean TransferEntity (const Handle(Standard_Transient)&start)
 Translates an IGES or STEP
entity in the model. true is returned if a shape is
produced; otherwise, false is returned.
.
Standard_EXPORT Standard_Integer TransferList (const Handle(TColStd_HSequenceOfTransient)&list)
 Translates a list of entities.
Returns the number of IGES or STEP entities that were
successfully translated. The list can be produced with GiveList.
Warning - This function does not clear the existing output shapes.
.
Standard_EXPORT Standard_Integer TransferRoots ()
 Translates all translatable
roots and returns the number of successful translations.
Warning - This function clears existing output shapes first.
.
Standard_EXPORT void ClearShapes ()
 Clears the list of shapes that
may have accumulated in calls to TransferOne or TransferRoot.C
.
Standard_EXPORT Standard_Integer NbShapes () const
 Returns the number of shapes produced by translation.
.
Standard_EXPORT TopoDS_Shape Shape (const Standard_Integer num=1) const
 Returns the shape resulting
from a translation and identified by the rank num.
num equals 1 by default. In other words, the first shape
resulting from the translation is returned.
.
Standard_EXPORT TopoDS_Shape OneShape () const
 Returns all of the results in
a single shape which is:
- a null shape if there are no results,
- a shape if there is one result,
- a compound containing the resulting shapes if there are more than one.
.
Standard_EXPORT void PrintCheckLoad (const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const
 Prints the check list attached to loaded data, on the Standard
Trace File (starts at cout)
All messages or fails only, according to <failsonly>
mode = 0 : per entity, prints messages
mode = 1 : per message, just gives count of entities per check
mode = 2 : also gives entity numbers
.
Standard_EXPORT void PrintCheckTransfer (const Standard_Boolean failsonly, const IFSelect_PrintCount mode) const
 Displays check results for the
last translation of IGES or STEP entities to Open CASCADE
entities. Only fail messages are displayed if failsonly is
true. All messages are displayed if failsonly is
false. mode determines the contents and the order of the
messages according to the terms of the IFSelect_PrintCount enumeration.
.
Standard_EXPORT void PrintStatsTransfer (const Standard_Integer what, const Standard_Integer mode=0) const
 Displays the statistics for
the last translation. what defines the kind of
statistics that are displayed as follows:
- 0 gives general statistics (number of translated roots,
number of warnings, number of fail messages),
- 1 gives root results,
- 2 gives statistics for all checked entities,
- 3 gives the list of translated entities,
- 4 gives warning and fail messages,
- 5 gives fail messages only.
The use of mode depends on the value of what. If what is 0,
mode is ignored. If what is 1, 2 or 3, mode defines the following:
- 0 lists the numbers of IGES or STEP entities in the respective model
- 1 gives the number, identifier, type and result
type for each IGES or STEP entity and/or its status
(fail, warning, etc.)
- 2 gives maximum information for each IGES or STEP entity (i.e. checks)
- 3 gives the number of entities per type of IGES or STEP entity
- 4 gives the number of IGES or STEP entities per result type and/or status
- 5 gives the number of pairs (IGES or STEP or result type and status)
- 6 gives the number of pairs (IGES or STEP or result type
and status) AND the list of entity numbers in the IGES or STEP model.
If what is 4 or 5, mode defines the warning and fail
messages as follows:
- if mode is 0 all warnings and checks per entity are returned
- if mode is 2 the list of entities per warning is returned.
If mode is not set, only the list of all entities per warning is given.
.
Standard_EXPORT void GetStatsTransfer (const Handle(TColStd_HSequenceOfTransient)&list, Standard_Integer &nbMapped, Standard_Integer &nbWithResult, Standard_Integer &nbWithFail) const
 Gives statistics about Transfer
.

Protected Member Functions

Standard_EXPORT TopTools_SequenceOfShape & Shapes ()
 Returns a sequence of produced shapes
.

Protected Attributes

Standard_Boolean therootsta
TColStd_SequenceOfTransient theroots

Private Attributes

Handle_XSControl_WorkSession thesession
TopTools_SequenceOfShape theshapes

Constructor & Destructor Documentation

Standard_EXPORT XSControl_Reader::XSControl_Reader  ) 
 

Standard_EXPORT XSControl_Reader::XSControl_Reader const Standard_CString  norm  ) 
 

Standard_EXPORT XSControl_Reader::XSControl_Reader const Handle(XSControl_WorkSession)&  WS,
const Standard_Boolean  scratch = Standard_True
 

virtual Standard_EXPORT XSControl_Reader::~XSControl_Reader  )  [inline, virtual]
 


Member Function Documentation

Standard_EXPORT void XSControl_Reader::ClearShapes  ) 
 

Standard_EXPORT void XSControl_Reader::GetStatsTransfer const Handle(TColStd_HSequenceOfTransient)&  list,
Standard_Integer &  nbMapped,
Standard_Integer &  nbWithResult,
Standard_Integer &  nbWithFail
const
 

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_Reader::GiveList const Standard_CString  first,
const Handle(Standard_Transient)&  ent
 

Standard_EXPORT Handle_TColStd_HSequenceOfTransient XSControl_Reader::GiveList const Standard_CString  first = "",
const Standard_CString  second = ""
 

Standard_EXPORT Handle_Interface_InterfaceModel XSControl_Reader::Model  )  const
 

virtual Standard_EXPORT Standard_Integer XSControl_Reader::NbRootsForTransfer  )  [virtual]
 

Reimplemented in IGESControl_Reader, and STEPControl_Reader.

Standard_EXPORT Standard_Integer XSControl_Reader::NbShapes  )  const
 

Standard_EXPORT TopoDS_Shape XSControl_Reader::OneShape  )  const
 

void XSControl_Reader::operator delete void *  anAddress  )  [inline]
 

Reimplemented in IGESCAFControl_Reader, IGESControl_Reader, and STEPControl_Reader.

void* XSControl_Reader::operator new size_t  size  )  [inline]
 

Reimplemented in IGESCAFControl_Reader, IGESControl_Reader, and STEPControl_Reader.

void* XSControl_Reader::operator new size_t  ,
void *  anAddress
[inline]
 

Reimplemented in IGESCAFControl_Reader, IGESControl_Reader, and STEPControl_Reader.

Standard_EXPORT void XSControl_Reader::PrintCheckLoad const Standard_Boolean  failsonly,
const IFSelect_PrintCount  mode
const
 

Standard_EXPORT void XSControl_Reader::PrintCheckTransfer const Standard_Boolean  failsonly,
const IFSelect_PrintCount  mode
const
 

Standard_EXPORT void XSControl_Reader::PrintStatsTransfer const Standard_Integer  what,
const Standard_Integer  mode = 0
const
 

Standard_EXPORT IFSelect_ReturnStatus XSControl_Reader::ReadFile const Standard_CString  filename  ) 
 

Standard_EXPORT Handle_Standard_Transient XSControl_Reader::RootForTransfer const Standard_Integer  num = 1  ) 
 

Standard_EXPORT Standard_Boolean XSControl_Reader::SetNorm const Standard_CString  norm  ) 
 

Standard_EXPORT void XSControl_Reader::SetWS const Handle(XSControl_WorkSession)&  WS,
const Standard_Boolean  scratch = Standard_True
 

Standard_EXPORT TopoDS_Shape XSControl_Reader::Shape const Standard_Integer  num = 1  )  const
 

Standard_EXPORT TopTools_SequenceOfShape& XSControl_Reader::Shapes  )  [protected]
 

Standard_EXPORT Standard_Boolean XSControl_Reader::TransferEntity const Handle(Standard_Transient)&  start  ) 
 

Standard_EXPORT Standard_Integer XSControl_Reader::TransferList const Handle(TColStd_HSequenceOfTransient)&  list  ) 
 

Standard_EXPORT Standard_Boolean XSControl_Reader::TransferOne const Standard_Integer  num  ) 
 

Standard_EXPORT Standard_Boolean XSControl_Reader::TransferOneRoot const Standard_Integer  num = 1  ) 
 

Standard_EXPORT Standard_Integer XSControl_Reader::TransferRoots  ) 
 

Standard_EXPORT Handle_XSControl_WorkSession XSControl_Reader::WS  )  const
 


Field Documentation

TColStd_SequenceOfTransient XSControl_Reader::theroots [protected]
 

Standard_Boolean XSControl_Reader::therootsta [protected]
 

Handle_XSControl_WorkSession XSControl_Reader::thesession [private]
 

TopTools_SequenceOfShape XSControl_Reader::theshapes [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:46:20 2008 for OpenCASCADE by  doxygen 1.4.1