Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions
STEPCAFControl_Reader Class Reference

Provides a tool to read STEP file and put it into
DECAF document. Besides transfer of shapes (including
assemblies) provided by STEPControl, supports also
colors and part names

This reader supports reading files with external references
i.e. multifile reading
It behaves as usual Reader (from STEPControl) for the main
file (e.g. if it is single file)
Results of reading other files can be accessed by name of the
file or by iterating on a readers
More...

#include <STEPCAFControl_Reader.hxx>

Public Member Functions

 STEPCAFControl_Reader ()
 
 Creates a reader with an empty <br>

STEP model and sets ColorMode, LayerMode, NameMode and
PropsMode to Standard_True.
More...

 
 STEPCAFControl_Reader (const Handle< XSControl_WorkSession > &WS, const Standard_Boolean scratch=Standard_True)
 Creates a reader tool and attaches it to an already existing Session
Clears the session if it was not yet set for STEP
More...
 
void Init (const Handle< XSControl_WorkSession > &WS, const Standard_Boolean scratch=Standard_True)
 Clears the internal data structures and attaches to a new session
Clears the session if it was not yet set for STEP
More...
 
IFSelect_ReturnStatus ReadFile (const Standard_CString filename)
 Loads a file and returns the read status
Provided for use like single-file reader
More...
 
Standard_Integer NbRootsForTransfer ()
 Returns number of roots recognized for transfer
Shortcut for Reader().NbRootsForTransfer()
More...
 
Standard_Boolean TransferOneRoot (const Standard_Integer num, Handle< TDocStd_Document > &doc)
 Translates currently loaded STEP file into the document
Returns True if succeeded, and False in case of fail
Provided for use like single-file reader
More...
 
Standard_Boolean Transfer (Handle< TDocStd_Document > &doc)
 Translates currently loaded STEP file into the document
Returns True if succeeded, and False in case of fail
Provided for use like single-file reader
More...
 
Standard_Boolean Perform (const TCollection_AsciiString &filename, Handle< TDocStd_Document > &doc)
 
Standard_Boolean Perform (const Standard_CString filename, Handle< TDocStd_Document > &doc)
 Translate STEP file given by filename into the document
Return True if succeeded, and False in case of fail
More...
 
const
Handle_STEPCAFControl_DictionaryOfExternFile & 
ExternFiles () const
 Returns data on external files
Returns Null handle if no external files are read
More...
 
Standard_Boolean ExternFile (const Standard_CString name, Handle< STEPCAFControl_ExternFile > &ef) const
 Returns data on external file by its name
Returns False if no external file with given name is read
More...
 
STEPControl_ReaderChangeReader ()
 Returns basic reader
More...
 
const STEPControl_ReaderReader () const
 Returns basic reader as const
More...
 
void SetColorMode (const Standard_Boolean colormode)
 Set ColorMode for indicate read Colors or not.
More...
 
Standard_Boolean GetColorMode () const
 
void SetNameMode (const Standard_Boolean namemode)
 Set NameMode for indicate read Name or not.
More...
 
Standard_Boolean GetNameMode () const
 
void SetLayerMode (const Standard_Boolean layermode)
 Set LayerMode for indicate read Layers or not.
More...
 
Standard_Boolean GetLayerMode () const
 
void SetPropsMode (const Standard_Boolean propsmode)
 PropsMode for indicate read Validation properties or not.
More...
 
Standard_Boolean GetPropsMode () const
 
void SetSHUOMode (const Standard_Boolean shuomode)
 Set SHUO mode for indicate write SHUO or not.
More...
 
Standard_Boolean GetSHUOMode () const
 
void SetGDTMode (const Standard_Boolean gdtmode)
 Set GDT mode for indicate write GDT or not.
More...
 
Standard_Boolean GetGDTMode () const
 
void SetMatMode (const Standard_Boolean matmode)
 Set Material mode
More...
 
Standard_Boolean GetMatMode () const
 

Static Public Member Functions

static TDF_Label FindInstance (const Handle< StepRepr_NextAssemblyUsageOccurrence > &NAUO, const Handle< XCAFDoc_ShapeTool > &STool, const STEPConstruct_Tool &Tool, const STEPCAFControl_DataMapOfPDExternFile &PDRFileMap, const XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap)
 Returns label of instance of an assembly component
corresponding to a given NAUO
More...
 

Protected Member Functions

Standard_Boolean Transfer (STEPControl_Reader &rd, const Standard_Integer num, Handle< TDocStd_Document > &doc, TDF_LabelSequence &Lseq, const Standard_Boolean asOne=Standard_False)
 Translates STEP file already loaded into the reader
into the document
If num==0, translates all roots, else only root number num
Returns True if succeeded, and False in case of fail
If asOne is True, in case of multiple results composes
them into assembly. Fills sequence of produced labels
More...
 
TDF_Label AddShape (const TopoDS_Shape &S, const Handle< XCAFDoc_ShapeTool > &STool, const TopTools_MapOfShape &NewShapesMap, const STEPCAFControl_DataMapOfShapePD &ShapePDMap, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap, XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap) const
 Add a shape to a document
Depending on a case, this shape can be added as one, or
as assembly, or (in case if it is associated with external
reference) taken as that referred shape
More...
 
Handle_STEPCAFControl_ExternFile ReadExternFile (const Standard_CString file, const Standard_CString fullpath, Handle< TDocStd_Document > &doc)
 Reads (or if returns already read) extern file with
given name
More...
 
Standard_Boolean ReadColors (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap, const XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap) const
 Reads style assignments from STEP model and sets
corresponding color assignments in the DECAF document
More...
 
Standard_Boolean ReadNames (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap, const XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap) const
 Reads names of parts defined in the STEP model and
assigns them to corresponding labels in the DECAF document
More...
 
Standard_Boolean ReadValProps (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap, const XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap) const
 Reads validation properties assigned to shapes in the STEP
model and assigns them to corresponding labels in the DECAF
document
More...
 
Standard_Boolean ReadLayers (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc) const
 Reads layers of parts defined in the STEP model and
set reference between shape and layers in the DECAF document
More...
 
Standard_Boolean ReadSHUOs (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap, const XCAFDoc_DataMapOfShapeLabel &ShapeLabelMap) const
 Reads SHUO for instances defined in the STEP model and
set reference between shape instances from different assemblyes
More...
 
Standard_Boolean ReadGDTs (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc) const
 Reads D&GT for instances defined in the STEP model and
set reference between shape instances from different assemblyes
More...
 
Standard_Boolean ReadMaterials (const Handle< XSControl_WorkSession > &WS, Handle< TDocStd_Document > &doc, const Handle< TColStd_HSequenceOfTransient > &SeqPDS) const
 Reads materials for instances defined in the STEP model and
set reference between shape instances from different assemblyes
More...
 
TDF_Label SettleShapeData (const Handle< StepRepr_RepresentationItem > &theItem, TDF_Label &theLab, const Handle< XCAFDoc_ShapeTool > &theShapeTool, const Handle< Transfer_TransientProcess > &theTP) const
 Populates the sub-Label of the passed TDF Label with shape
data associated with the given STEP Representation Item,
including naming and topological information.
More...
 
void ExpandSubShapes (const Handle< XCAFDoc_ShapeTool > &theShapeTool, const XCAFDoc_DataMapOfShapeLabel &theShapeLabelMap, const STEPCAFControl_DataMapOfShapePD &theShapePDMap) const
 Given the maps of already translated shapes, this method
expands their correspondent Labels in XDE Document so that
to have a dedicated sub-Label for each sub-shape coming
with associated name in its STEP Representation Item.
More...
 
void ExpandManifoldSolidBrep (TDF_Label &theLab, const Handle< StepRepr_RepresentationItem > &theItem, const Handle< Transfer_TransientProcess > &theTP, const Handle< XCAFDoc_ShapeTool > &theShapeTool) const
 Expands the topological structure of Manifold Solid BRep
STEP entity to OCAF sub-tree. Entities having no names
associated via their Representation Items are skipped.
More...
 
void ExpandSBSM (TDF_Label &theLab, const Handle< StepRepr_RepresentationItem > &theItem, const Handle< Transfer_TransientProcess > &theTP, const Handle< XCAFDoc_ShapeTool > &theShapeTool) const
 Expands the topological structure of Shell-Based Surface
Model STEP entity to OCAF sub-tree. Entities having no names
associated via their Representation Items are skipped.
More...
 
void ExpandShell (const Handle< StepShape_ConnectedFaceSet > &theShell, TDF_Label &theLab, const Handle< Transfer_TransientProcess > &theTP, const Handle< XCAFDoc_ShapeTool > &theShapeTool) const
 Expands STEP Shell structure to OCAF sub-tree. Entities
having no names associated via their Representation Items
are skipped.
More...
 

Detailed Description

Provides a tool to read STEP file and put it into
DECAF document. Besides transfer of shapes (including
assemblies) provided by STEPControl, supports also
colors and part names

This reader supports reading files with external references
i.e. multifile reading
It behaves as usual Reader (from STEPControl) for the main
file (e.g. if it is single file)
Results of reading other files can be accessed by name of the
file or by iterating on a readers

Constructor & Destructor Documentation

STEPCAFControl_Reader::STEPCAFControl_Reader ( )

 Creates a reader with an empty <br>

STEP model and sets ColorMode, LayerMode, NameMode and
PropsMode to Standard_True.

STEPCAFControl_Reader::STEPCAFControl_Reader ( const Handle< XSControl_WorkSession > &  WS,
const Standard_Boolean  scratch = Standard_True 
)

Creates a reader tool and attaches it to an already existing Session
Clears the session if it was not yet set for STEP

Member Function Documentation

TDF_Label STEPCAFControl_Reader::AddShape ( const TopoDS_Shape S,
const Handle< XCAFDoc_ShapeTool > &  STool,
const TopTools_MapOfShape NewShapesMap,
const STEPCAFControl_DataMapOfShapePD ShapePDMap,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const
protected

Add a shape to a document
Depending on a case, this shape can be added as one, or
as assembly, or (in case if it is associated with external
reference) taken as that referred shape

STEPControl_Reader& STEPCAFControl_Reader::ChangeReader ( )

Returns basic reader

void STEPCAFControl_Reader::ExpandManifoldSolidBrep ( TDF_Label theLab,
const Handle< StepRepr_RepresentationItem > &  theItem,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const
protected

Expands the topological structure of Manifold Solid BRep
STEP entity to OCAF sub-tree. Entities having no names
associated via their Representation Items are skipped.

void STEPCAFControl_Reader::ExpandSBSM ( TDF_Label theLab,
const Handle< StepRepr_RepresentationItem > &  theItem,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const
protected

Expands the topological structure of Shell-Based Surface
Model STEP entity to OCAF sub-tree. Entities having no names
associated via their Representation Items are skipped.

void STEPCAFControl_Reader::ExpandShell ( const Handle< StepShape_ConnectedFaceSet > &  theShell,
TDF_Label theLab,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const
protected

Expands STEP Shell structure to OCAF sub-tree. Entities
having no names associated via their Representation Items
are skipped.

void STEPCAFControl_Reader::ExpandSubShapes ( const Handle< XCAFDoc_ShapeTool > &  theShapeTool,
const XCAFDoc_DataMapOfShapeLabel theShapeLabelMap,
const STEPCAFControl_DataMapOfShapePD theShapePDMap 
) const
protected

Given the maps of already translated shapes, this method
expands their correspondent Labels in XDE Document so that
to have a dedicated sub-Label for each sub-shape coming
with associated name in its STEP Representation Item.

Standard_Boolean STEPCAFControl_Reader::ExternFile ( const Standard_CString  name,
Handle< STEPCAFControl_ExternFile > &  ef 
) const

Returns data on external file by its name
Returns False if no external file with given name is read

const Handle_STEPCAFControl_DictionaryOfExternFile& STEPCAFControl_Reader::ExternFiles ( ) const

Returns data on external files
Returns Null handle if no external files are read

static TDF_Label STEPCAFControl_Reader::FindInstance ( const Handle< StepRepr_NextAssemblyUsageOccurrence > &  NAUO,
const Handle< XCAFDoc_ShapeTool > &  STool,
const STEPConstruct_Tool Tool,
const STEPCAFControl_DataMapOfPDExternFile PDRFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
)
static

Returns label of instance of an assembly component
corresponding to a given NAUO

Standard_Boolean STEPCAFControl_Reader::GetColorMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetGDTMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetLayerMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetMatMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetNameMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetPropsMode ( ) const
Standard_Boolean STEPCAFControl_Reader::GetSHUOMode ( ) const
void STEPCAFControl_Reader::Init ( const Handle< XSControl_WorkSession > &  WS,
const Standard_Boolean  scratch = Standard_True 
)

Clears the internal data structures and attaches to a new session
Clears the session if it was not yet set for STEP

Standard_Integer STEPCAFControl_Reader::NbRootsForTransfer ( )

Returns number of roots recognized for transfer
Shortcut for Reader().NbRootsForTransfer()

Standard_Boolean STEPCAFControl_Reader::Perform ( const TCollection_AsciiString filename,
Handle< TDocStd_Document > &  doc 
)
Standard_Boolean STEPCAFControl_Reader::Perform ( const Standard_CString  filename,
Handle< TDocStd_Document > &  doc 
)

Translate STEP file given by filename into the document
Return True if succeeded, and False in case of fail

Standard_Boolean STEPCAFControl_Reader::ReadColors ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const
protected

Reads style assignments from STEP model and sets
corresponding color assignments in the DECAF document

const STEPControl_Reader& STEPCAFControl_Reader::Reader ( ) const

Returns basic reader as const

Handle_STEPCAFControl_ExternFile STEPCAFControl_Reader::ReadExternFile ( const Standard_CString  file,
const Standard_CString  fullpath,
Handle< TDocStd_Document > &  doc 
)
protected

Reads (or if returns already read) extern file with
given name

IFSelect_ReturnStatus STEPCAFControl_Reader::ReadFile ( const Standard_CString  filename)

Loads a file and returns the read status
Provided for use like single-file reader

Standard_Boolean STEPCAFControl_Reader::ReadGDTs ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc 
) const
protected

Reads D&GT for instances defined in the STEP model and
set reference between shape instances from different assemblyes

Standard_Boolean STEPCAFControl_Reader::ReadLayers ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc 
) const
protected

Reads layers of parts defined in the STEP model and
set reference between shape and layers in the DECAF document

Standard_Boolean STEPCAFControl_Reader::ReadMaterials ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const Handle< TColStd_HSequenceOfTransient > &  SeqPDS 
) const
protected

Reads materials for instances defined in the STEP model and
set reference between shape instances from different assemblyes

Standard_Boolean STEPCAFControl_Reader::ReadNames ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const
protected

Reads names of parts defined in the STEP model and
assigns them to corresponding labels in the DECAF document

Standard_Boolean STEPCAFControl_Reader::ReadSHUOs ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const
protected

Reads SHUO for instances defined in the STEP model and
set reference between shape instances from different assemblyes

Standard_Boolean STEPCAFControl_Reader::ReadValProps ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const
protected

Reads validation properties assigned to shapes in the STEP
model and assigns them to corresponding labels in the DECAF
document

void STEPCAFControl_Reader::SetColorMode ( const Standard_Boolean  colormode)

Set ColorMode for indicate read Colors or not.

void STEPCAFControl_Reader::SetGDTMode ( const Standard_Boolean  gdtmode)

Set GDT mode for indicate write GDT or not.

void STEPCAFControl_Reader::SetLayerMode ( const Standard_Boolean  layermode)

Set LayerMode for indicate read Layers or not.

void STEPCAFControl_Reader::SetMatMode ( const Standard_Boolean  matmode)

Set Material mode

void STEPCAFControl_Reader::SetNameMode ( const Standard_Boolean  namemode)

Set NameMode for indicate read Name or not.

void STEPCAFControl_Reader::SetPropsMode ( const Standard_Boolean  propsmode)

PropsMode for indicate read Validation properties or not.

void STEPCAFControl_Reader::SetSHUOMode ( const Standard_Boolean  shuomode)

Set SHUO mode for indicate write SHUO or not.

TDF_Label STEPCAFControl_Reader::SettleShapeData ( const Handle< StepRepr_RepresentationItem > &  theItem,
TDF_Label theLab,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool,
const Handle< Transfer_TransientProcess > &  theTP 
) const
protected

Populates the sub-Label of the passed TDF Label with shape
data associated with the given STEP Representation Item,
including naming and topological information.

Standard_Boolean STEPCAFControl_Reader::Transfer ( Handle< TDocStd_Document > &  doc)

Translates currently loaded STEP file into the document
Returns True if succeeded, and False in case of fail
Provided for use like single-file reader

Standard_Boolean STEPCAFControl_Reader::Transfer ( STEPControl_Reader rd,
const Standard_Integer  num,
Handle< TDocStd_Document > &  doc,
TDF_LabelSequence Lseq,
const Standard_Boolean  asOne = Standard_False 
)
protected

Translates STEP file already loaded into the reader
into the document
If num==0, translates all roots, else only root number num
Returns True if succeeded, and False in case of fail
If asOne is True, in case of multiple results composes
them into assembly. Fills sequence of produced labels

Standard_Boolean STEPCAFControl_Reader::TransferOneRoot ( const Standard_Integer  num,
Handle< TDocStd_Document > &  doc 
)

Translates currently loaded STEP file into the document
Returns True if succeeded, and False in case of fail
Provided for use like single-file reader


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