Open CASCADE Technology 6.6.0
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

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

 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

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

IFSelect_ReturnStatus ReadFile (const Standard_CString filename)
 Loads a file and returns the read status
Provided for use like single-file reader

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

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

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

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

const
Handle_STEPCAFControl_DictionaryOfExternFile & 
ExternFiles () const
 Returns data on external files
Returns Null handle if no external files are read

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

STEPControl_ReaderChangeReader ()
 Returns basic reader

const STEPControl_ReaderReader () const
 Returns basic reader as const

void SetColorMode (const Standard_Boolean colormode)
 Set ColorMode for indicate read Colors or not.

Standard_Boolean GetColorMode () const
void SetNameMode (const Standard_Boolean namemode)
 Set NameMode for indicate read Name or not.

Standard_Boolean GetNameMode () const
void SetLayerMode (const Standard_Boolean layermode)
 Set LayerMode for indicate read Layers or not.

Standard_Boolean GetLayerMode () const
void SetPropsMode (const Standard_Boolean propsmode)
 PropsMode for indicate read Validation properties or not.

Standard_Boolean GetPropsMode () const
void SetSHUOMode (const Standard_Boolean shuomode)
 Set SHUO mode for indicate write SHUO or not.

Standard_Boolean GetSHUOMode () const
void SetGDTMode (const Standard_Boolean gdtmode)
 Set GDT mode for indicate write GDT or not.

Standard_Boolean GetGDTMode () const
void SetMatMode (const Standard_Boolean matmode)
 Set Material mode

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.


Constructor & Destructor Documentation

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

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]
STEPControl_Reader& STEPCAFControl_Reader::ChangeReader ( )
void STEPCAFControl_Reader::ExpandManifoldSolidBrep ( TDF_Label theLab,
const Handle< StepRepr_RepresentationItem > &  theItem,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const [protected]
void STEPCAFControl_Reader::ExpandSBSM ( TDF_Label theLab,
const Handle< StepRepr_RepresentationItem > &  theItem,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const [protected]
void STEPCAFControl_Reader::ExpandShell ( const Handle< StepShape_ConnectedFaceSet > &  theShell,
TDF_Label theLab,
const Handle< Transfer_TransientProcess > &  theTP,
const Handle< XCAFDoc_ShapeTool > &  theShapeTool 
) const [protected]
void STEPCAFControl_Reader::ExpandSubShapes ( const Handle< XCAFDoc_ShapeTool > &  theShapeTool,
const XCAFDoc_DataMapOfShapeLabel theShapeLabelMap,
const STEPCAFControl_DataMapOfShapePD theShapePDMap 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ExternFile ( const Standard_CString  name,
Handle< STEPCAFControl_ExternFile > &  ef 
) const
const Handle_STEPCAFControl_DictionaryOfExternFile& STEPCAFControl_Reader::ExternFiles ( ) const
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]
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 
)
Standard_Integer STEPCAFControl_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 
)
Standard_Boolean STEPCAFControl_Reader::ReadColors ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const [protected]
const STEPControl_Reader& STEPCAFControl_Reader::Reader ( ) const
Handle_STEPCAFControl_ExternFile STEPCAFControl_Reader::ReadExternFile ( const Standard_CString  file,
const Standard_CString  fullpath,
Handle< TDocStd_Document > &  doc 
) [protected]
IFSelect_ReturnStatus STEPCAFControl_Reader::ReadFile ( const Standard_CString  filename)
Standard_Boolean STEPCAFControl_Reader::ReadGDTs ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ReadLayers ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ReadMaterials ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const Handle< TColStd_HSequenceOfTransient > &  SeqPDS 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ReadNames ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ReadSHUOs ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const [protected]
Standard_Boolean STEPCAFControl_Reader::ReadValProps ( const Handle< XSControl_WorkSession > &  WS,
Handle< TDocStd_Document > &  doc,
const STEPCAFControl_DataMapOfPDExternFile PDFileMap,
const XCAFDoc_DataMapOfShapeLabel ShapeLabelMap 
) const [protected]
void STEPCAFControl_Reader::SetColorMode ( const Standard_Boolean  colormode)
void STEPCAFControl_Reader::SetGDTMode ( const Standard_Boolean  gdtmode)
void STEPCAFControl_Reader::SetLayerMode ( const Standard_Boolean  layermode)
void STEPCAFControl_Reader::SetMatMode ( const Standard_Boolean  matmode)
void STEPCAFControl_Reader::SetNameMode ( const Standard_Boolean  namemode)
void STEPCAFControl_Reader::SetPropsMode ( const Standard_Boolean  propsmode)
void STEPCAFControl_Reader::SetSHUOMode ( const Standard_Boolean  shuomode)
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]
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]
Standard_Boolean STEPCAFControl_Reader::Transfer ( Handle< TDocStd_Document > &  doc)
Standard_Boolean STEPCAFControl_Reader::TransferOneRoot ( const Standard_Integer  num,
Handle< TDocStd_Document > &  doc 
)

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