// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _STEPCAFControl_Reader_HeaderFile #define _STEPCAFControl_Reader_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _STEPControl_Reader_HeaderFile #include #endif #ifndef _Handle_STEPCAFControl_DictionaryOfExternFile_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_XSControl_WorkSession_HeaderFile #include #endif #ifndef _IFSelect_ReturnStatus_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_TDocStd_Document_HeaderFile #include #endif #ifndef _Handle_STEPCAFControl_ExternFile_HeaderFile #include #endif #ifndef _Handle_XCAFDoc_ShapeTool_HeaderFile #include #endif #ifndef _Handle_TColStd_HSequenceOfTransient_HeaderFile #include #endif #ifndef _Handle_StepRepr_NextAssemblyUsageOccurrence_HeaderFile #include #endif class STEPCAFControl_DictionaryOfExternFile; class XSControl_WorkSession; class TDocStd_Document; class TCollection_AsciiString; class STEPCAFControl_ExternFile; class STEPControl_Reader; class TDF_LabelSequence; class TDF_Label; class TopoDS_Shape; class XCAFDoc_ShapeTool; class TopTools_MapOfShape; class STEPCAFControl_DataMapOfShapePD; class STEPCAFControl_DataMapOfPDExternFile; class XCAFDoc_DataMapOfShapeLabel; class TColStd_HSequenceOfTransient; class StepRepr_NextAssemblyUsageOccurrence; class STEPConstruct_Tool; //! 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
class STEPCAFControl_Reader { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Creates a reader with an empty
//! STEP model and sets ColorMode, LayerMode, NameMode and
//! PropsMode to Standard_True.
Standard_EXPORT STEPCAFControl_Reader(); //! Creates a reader tool and attaches it to an already existing Session
//! Clears the session if it was not yet set for STEP
Standard_EXPORT STEPCAFControl_Reader(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_EXPORT void Init(const Handle(XSControl_WorkSession)& WS,const Standard_Boolean scratch = Standard_True) ; //! Loads a file and returns the read status
//! Provided for use like single-file reader
Standard_EXPORT IFSelect_ReturnStatus ReadFile(const Standard_CString filename) ; //! Returns number of roots recognized for transfer
//! Shortcut for Reader().NbRootsForTransfer()
Standard_EXPORT Standard_Integer NbRootsForTransfer() ; //! 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_EXPORT 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_EXPORT Standard_Boolean Transfer(Handle(TDocStd_Document)& doc) ; Standard_EXPORT Standard_Boolean Perform(const TCollection_AsciiString& 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_EXPORT Standard_Boolean Perform(const Standard_CString filename,Handle(TDocStd_Document)& doc) ; //! Returns data on external files
//! Returns Null handle if no external files are read
Standard_EXPORT const Handle_STEPCAFControl_DictionaryOfExternFile& ExternFiles() const; //! Returns data on external file by its name
//! Returns False if no external file with given name is read
Standard_EXPORT Standard_Boolean ExternFile(const Standard_CString name,Handle(STEPCAFControl_ExternFile)& ef) const; //! Returns basic reader
Standard_EXPORT STEPControl_Reader& ChangeReader() ; //! Returns basic reader as const
Standard_EXPORT const STEPControl_Reader& Reader() const; //! Returns label of instance of an assembly component
//! corresponding to a given NAUO
Standard_EXPORT 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) ; //! Set ColorMode for indicate read Colors or not.
Standard_EXPORT void SetColorMode(const Standard_Boolean colormode) ; Standard_EXPORT Standard_Boolean GetColorMode() const; //! Set NameMode for indicate read Name or not.
Standard_EXPORT void SetNameMode(const Standard_Boolean namemode) ; Standard_EXPORT Standard_Boolean GetNameMode() const; //! Set LayerMode for indicate read Layers or not.
Standard_EXPORT void SetLayerMode(const Standard_Boolean layermode) ; Standard_EXPORT Standard_Boolean GetLayerMode() const; //! PropsMode for indicate read Validation properties or not.
Standard_EXPORT void SetPropsMode(const Standard_Boolean propsmode) ; Standard_EXPORT Standard_Boolean GetPropsMode() const; //! Set SHUO mode for indicate write SHUO or not.
Standard_EXPORT void SetSHUOMode(const Standard_Boolean shuomode) ; Standard_EXPORT Standard_Boolean GetSHUOMode() const; //! Set GDT mode for indicate write GDT or not.
Standard_EXPORT void SetGDTMode(const Standard_Boolean gdtmode) ; Standard_EXPORT Standard_Boolean GetGDTMode() const; //! Set Material mode
Standard_EXPORT void SetMatMode(const Standard_Boolean matmode) ; Standard_EXPORT Standard_Boolean GetMatMode() const; 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_EXPORT Standard_Boolean Transfer(STEPControl_Reader& rd,const Standard_Integer num,Handle(TDocStd_Document)& doc,TDF_LabelSequence& Lseq,const Standard_Boolean asOne = Standard_False) ; //! 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
Standard_EXPORT 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; //! Reads (or if returns already read) extern file with
//! given name
Standard_EXPORT Handle_STEPCAFControl_ExternFile ReadExternFile(const Standard_CString file,const Standard_CString fullpath,Handle(TDocStd_Document)& doc) ; //! Reads style assignments from STEP model and sets
//! corresponding color assignments in the DECAF document
Standard_EXPORT Standard_Boolean ReadColors(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_EXPORT Standard_Boolean ReadNames(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_EXPORT Standard_Boolean ReadValProps(const Handle(XSControl_WorkSession)& WS,Handle(TDocStd_Document)& doc,const STEPCAFControl_DataMapOfPDExternFile& PDFileMap,const XCAFDoc_DataMapOfShapeLabel& ShapeLabelMap) const; //! Reads layers of parts defined in the STEP model and
//! set reference between shape and layers in the DECAF document
Standard_EXPORT Standard_Boolean ReadLayers(const Handle(XSControl_WorkSession)& WS,Handle(TDocStd_Document)& doc) const; //! Reads SHUO for instances defined in the STEP model and
//! set reference between shape instances from different assemblyes
Standard_EXPORT Standard_Boolean ReadSHUOs(const Handle(XSControl_WorkSession)& WS,Handle(TDocStd_Document)& doc,const STEPCAFControl_DataMapOfPDExternFile& PDFileMap,const XCAFDoc_DataMapOfShapeLabel& ShapeLabelMap) const; //! Reads D> for instances defined in the STEP model and
//! set reference between shape instances from different assemblyes
Standard_EXPORT Standard_Boolean ReadGDTs(const Handle(XSControl_WorkSession)& WS,Handle(TDocStd_Document)& doc) const; //! Reads materials for instances defined in the STEP model and
//! set reference between shape instances from different assemblyes
Standard_EXPORT Standard_Boolean ReadMaterials(const Handle(XSControl_WorkSession)& WS,Handle(TDocStd_Document)& doc,const Handle(TColStd_HSequenceOfTransient)& SeqPDS) const; private: STEPControl_Reader myReader; Handle_STEPCAFControl_DictionaryOfExternFile myFiles; Standard_Boolean myColorMode; Standard_Boolean myNameMode; Standard_Boolean myLayerMode; Standard_Boolean myPropsMode; Standard_Boolean mySHUOMode; Standard_Boolean myGDTMode; Standard_Boolean myMatMode; }; // other Inline functions and methods (like "C++: function call" methods) #endif