Open CASCADE Technology  7.7.0.dev
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. More...

#include <STEPCAFControl_Reader.hxx>

Public Member Functions

 STEPCAFControl_Reader ()
 Creates a reader with an empty 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...
 
virtual ~STEPCAFControl_Reader ()
 Destructor. 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, const Handle< TDocStd_Document > &doc, const Message_ProgressRange &theProgress=Message_ProgressRange())
 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 (const Handle< TDocStd_Document > &doc, const Message_ProgressRange &theProgress=Message_ProgressRange())
 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, const Handle< TDocStd_Document > &doc, const Message_ProgressRange &theProgress=Message_ProgressRange())
 
Standard_Boolean Perform (const Standard_CString filename, const Handle< TDocStd_Document > &doc, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Translate STEP file given by filename into the document Return True if succeeded, and False in case of fail. More...
 
const NCollection_DataMap< TCollection_AsciiString, Handle< STEPCAFControl_ExternFile > > & 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
 
void SetViewMode (const Standard_Boolean viewmode)
 Set View mode. More...
 
Standard_Boolean GetViewMode () const
 Get View mode. More...
 
const XCAFDoc_DataMapOfShapeLabelGetShapeLabelMap () const
 

Static Public Member Functions

static TDF_Label FindInstance (const Handle< StepRepr_NextAssemblyUsageOccurrence > &NAUO, const Handle< XCAFDoc_ShapeTool > &STool, const STEPConstruct_Tool &Tool, 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, const Handle< TDocStd_Document > &doc, TDF_LabelSequence &Lseq, const Standard_Boolean asOne=Standard_False, const Message_ProgressRange &theProgress=Message_ProgressRange())
 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)
 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_ExternFileReadExternFile (const Standard_CString file, const Standard_CString fullpath, const Handle< TDocStd_Document > &doc, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads (or if returns already read) extern file with given name. More...
 
Standard_Boolean ReadColors (const Handle< XSControl_WorkSession > &WS, const Handle< TDocStd_Document > &doc) 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, const Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap) 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, const Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap) 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, const 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, const Handle< TDocStd_Document > &doc, const STEPCAFControl_DataMapOfPDExternFile &PDFileMap) 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, const Handle< TDocStd_Document > &doc)
 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, const 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...
 
Standard_Boolean ReadViews (const Handle< XSControl_WorkSession > &theWS, const Handle< TDocStd_Document > &theDoc) const
 Reads Views for instances defined in the STEP model. More...
 
TDF_Label SettleShapeData (const Handle< StepRepr_RepresentationItem > &theItem, const 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 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...
 
virtual TCollection_ExtendedString convertName (const TCollection_AsciiString &theName) const
 Convert name into UNICODE text. 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() [1/2]

STEPCAFControl_Reader::STEPCAFControl_Reader ( )

Creates a reader with an empty STEP model and sets ColorMode, LayerMode, NameMode and PropsMode to Standard_True.

◆ STEPCAFControl_Reader() [2/2]

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.

◆ ~STEPCAFControl_Reader()

virtual STEPCAFControl_Reader::~STEPCAFControl_Reader ( )
virtual

Destructor.

Member Function Documentation

◆ AddShape()

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 
)
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.

◆ ChangeReader()

STEPControl_Reader& STEPCAFControl_Reader::ChangeReader ( )

Returns basic reader.

◆ convertName()

virtual TCollection_ExtendedString STEPCAFControl_Reader::convertName ( const TCollection_AsciiString theName) const
protectedvirtual

Convert name into UNICODE text.

◆ ExpandManifoldSolidBrep()

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.

◆ ExpandSBSM()

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.

◆ ExpandShell()

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.

◆ ExpandSubShapes()

void STEPCAFControl_Reader::ExpandSubShapes ( const Handle< XCAFDoc_ShapeTool > &  theShapeTool,
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.

◆ ExternFile()

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.

◆ ExternFiles()

const NCollection_DataMap<TCollection_AsciiString, Handle< STEPCAFControl_ExternFile > >& STEPCAFControl_Reader::ExternFiles ( ) const

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

◆ FindInstance()

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

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

◆ GetColorMode()

Standard_Boolean STEPCAFControl_Reader::GetColorMode ( ) const

◆ GetGDTMode()

Standard_Boolean STEPCAFControl_Reader::GetGDTMode ( ) const

◆ GetLayerMode()

Standard_Boolean STEPCAFControl_Reader::GetLayerMode ( ) const

◆ GetMatMode()

Standard_Boolean STEPCAFControl_Reader::GetMatMode ( ) const

◆ GetNameMode()

Standard_Boolean STEPCAFControl_Reader::GetNameMode ( ) const

◆ GetPropsMode()

Standard_Boolean STEPCAFControl_Reader::GetPropsMode ( ) const

◆ GetShapeLabelMap()

const XCAFDoc_DataMapOfShapeLabel& STEPCAFControl_Reader::GetShapeLabelMap ( ) const
inline

◆ GetSHUOMode()

Standard_Boolean STEPCAFControl_Reader::GetSHUOMode ( ) const

◆ GetViewMode()

Standard_Boolean STEPCAFControl_Reader::GetViewMode ( ) const

Get View mode.

◆ Init()

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.

◆ NbRootsForTransfer()

Standard_Integer STEPCAFControl_Reader::NbRootsForTransfer ( )

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

◆ Perform() [1/2]

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

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

◆ Perform() [2/2]

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

◆ ReadColors()

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

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

◆ Reader()

const STEPControl_Reader& STEPCAFControl_Reader::Reader ( ) const

Returns basic reader as const.

◆ ReadExternFile()

Handle< STEPCAFControl_ExternFile > STEPCAFControl_Reader::ReadExternFile ( const Standard_CString  file,
const Standard_CString  fullpath,
const Handle< TDocStd_Document > &  doc,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

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

◆ ReadFile()

IFSelect_ReturnStatus STEPCAFControl_Reader::ReadFile ( const Standard_CString  filename)

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

◆ ReadGDTs()

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

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

◆ ReadLayers()

Standard_Boolean STEPCAFControl_Reader::ReadLayers ( const Handle< XSControl_WorkSession > &  WS,
const 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.

◆ ReadMaterials()

Standard_Boolean STEPCAFControl_Reader::ReadMaterials ( const Handle< XSControl_WorkSession > &  WS,
const 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.

◆ ReadNames()

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

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

◆ ReadSHUOs()

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

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

◆ ReadValProps()

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

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

◆ ReadViews()

Standard_Boolean STEPCAFControl_Reader::ReadViews ( const Handle< XSControl_WorkSession > &  theWS,
const Handle< TDocStd_Document > &  theDoc 
) const
protected

Reads Views for instances defined in the STEP model.

◆ SetColorMode()

void STEPCAFControl_Reader::SetColorMode ( const Standard_Boolean  colormode)

Set ColorMode for indicate read Colors or not.

◆ SetGDTMode()

void STEPCAFControl_Reader::SetGDTMode ( const Standard_Boolean  gdtmode)

Set GDT mode for indicate write GDT or not.

◆ SetLayerMode()

void STEPCAFControl_Reader::SetLayerMode ( const Standard_Boolean  layermode)

Set LayerMode for indicate read Layers or not.

◆ SetMatMode()

void STEPCAFControl_Reader::SetMatMode ( const Standard_Boolean  matmode)

Set Material mode.

◆ SetNameMode()

void STEPCAFControl_Reader::SetNameMode ( const Standard_Boolean  namemode)

Set NameMode for indicate read Name or not.

◆ SetPropsMode()

void STEPCAFControl_Reader::SetPropsMode ( const Standard_Boolean  propsmode)

PropsMode for indicate read Validation properties or not.

◆ SetSHUOMode()

void STEPCAFControl_Reader::SetSHUOMode ( const Standard_Boolean  shuomode)

Set SHUO mode for indicate write SHUO or not.

◆ SettleShapeData()

TDF_Label STEPCAFControl_Reader::SettleShapeData ( const Handle< StepRepr_RepresentationItem > &  theItem,
const 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.

◆ SetViewMode()

void STEPCAFControl_Reader::SetViewMode ( const Standard_Boolean  viewmode)

Set View mode.

◆ Transfer() [1/2]

Standard_Boolean STEPCAFControl_Reader::Transfer ( const Handle< TDocStd_Document > &  doc,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)

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.

◆ Transfer() [2/2]

Standard_Boolean STEPCAFControl_Reader::Transfer ( STEPControl_Reader rd,
const Standard_Integer  num,
const Handle< TDocStd_Document > &  doc,
TDF_LabelSequence Lseq,
const Standard_Boolean  asOne = Standard_False,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
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.

◆ TransferOneRoot()

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

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: