Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/opencascade/DEIGES_Provider.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Copyright (c) 2022 OPEN CASCADE SAS
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013 
0014 #ifndef _DEIGES_Provider_HeaderFile
0015 #define _DEIGES_Provider_HeaderFile
0016 
0017 #include <DEIGES_ConfigurationNode.hxx>
0018 #include <DE_Provider.hxx>
0019 
0020 //! The class to transfer IGES files.
0021 //! Reads and Writes any IGES files into/from OCCT.
0022 //! Each operation needs configuration node.
0023 //!
0024 //! Providers grouped by Vendor name and Format type.
0025 //! The Vendor name is "OCC"
0026 //! The Format type is "IGES"
0027 //! The import process is supported.
0028 //! The export process is supported.
0029 class DEIGES_Provider : public DE_Provider
0030 {
0031 public:
0032   DEFINE_STANDARD_RTTIEXT(DEIGES_Provider, DE_Provider)
0033 
0034 public:
0035   //! Default constructor
0036   //! Configure translation process with global configuration
0037   Standard_EXPORT DEIGES_Provider();
0038 
0039   //! Configure translation process
0040   //! @param[in] theNode object to copy
0041   Standard_EXPORT DEIGES_Provider(const Handle(DE_ConfigurationNode)& theNode);
0042 
0043 public:
0044   //! Reads a CAD file, according internal configuration
0045   //! @param[in] thePath path to the import CAD file
0046   //! @param[out] theDocument document to save result
0047   //! @param[in] theWS current work session
0048   //! @param[in] theProgress progress indicator
0049   //! @return true if Read operation has ended correctly
0050   Standard_EXPORT virtual bool Read(
0051     const TCollection_AsciiString&  thePath,
0052     const Handle(TDocStd_Document)& theDocument,
0053     Handle(XSControl_WorkSession)&  theWS,
0054     const Message_ProgressRange&    theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0055 
0056   //! Writes a CAD file, according internal configuration
0057   //! @param[in] thePath path to the export CAD file
0058   //! @param[out] theDocument document to export
0059   //! @param[in] theWS current work session
0060   //! @param[in] theProgress progress indicator
0061   //! @return true if Write operation has ended correctly
0062   Standard_EXPORT virtual bool Write(
0063     const TCollection_AsciiString&  thePath,
0064     const Handle(TDocStd_Document)& theDocument,
0065     Handle(XSControl_WorkSession)&  theWS,
0066     const Message_ProgressRange&    theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0067 
0068   //! Reads a CAD file, according internal configuration
0069   //! @param[in] thePath path to the import CAD file
0070   //! @param[out] theDocument document to save result
0071   //! @param[in] theProgress progress indicator
0072   //! @return true if Read operation has ended correctly
0073   Standard_EXPORT virtual bool Read(
0074     const TCollection_AsciiString&  thePath,
0075     const Handle(TDocStd_Document)& theDocument,
0076     const Message_ProgressRange&    theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0077 
0078   //! Writes a CAD file, according internal configuration
0079   //! @param[in] thePath path to the export CAD file
0080   //! @param[out] theDocument document to export
0081   //! @param[in] theProgress progress indicator
0082   //! @return true if Write operation has ended correctly
0083   Standard_EXPORT virtual bool Write(
0084     const TCollection_AsciiString&  thePath,
0085     const Handle(TDocStd_Document)& theDocument,
0086     const Message_ProgressRange&    theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0087 
0088   //! Reads a CAD file, according internal configuration
0089   //! @param[in] thePath path to the import CAD file
0090   //! @param[out] theShape shape to save result
0091   //! @param[in] theWS current work session
0092   //! @param[in] theProgress progress indicator
0093   //! @return true if Read operation has ended correctly
0094   Standard_EXPORT virtual bool Read(
0095     const TCollection_AsciiString& thePath,
0096     TopoDS_Shape&                  theShape,
0097     Handle(XSControl_WorkSession)& theWS,
0098     const Message_ProgressRange&   theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0099 
0100   //! Writes a CAD file, according internal configuration
0101   //! @param[in] thePath path to the export CAD file
0102   //! @param[out] theShape shape to export
0103   //! @param[in] theWS current work session
0104   //! @param[in] theProgress progress indicator
0105   //! @return true if Write operation has ended correctly
0106   Standard_EXPORT virtual bool Write(
0107     const TCollection_AsciiString& thePath,
0108     const TopoDS_Shape&            theShape,
0109     Handle(XSControl_WorkSession)& theWS,
0110     const Message_ProgressRange&   theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0111 
0112   //! Reads a CAD file, according internal configuration
0113   //! @param[in] thePath path to the import CAD file
0114   //! @param[out] theShape shape to save result
0115   //! @param[in] theProgress progress indicator
0116   //! @return true if Read operation has ended correctly
0117   Standard_EXPORT virtual bool Read(
0118     const TCollection_AsciiString& thePath,
0119     TopoDS_Shape&                  theShape,
0120     const Message_ProgressRange&   theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0121 
0122   //! Writes a CAD file, according internal configuration
0123   //! @param[in] thePath path to the export CAD file
0124   //! @param[out] theShape shape to export
0125   //! @param[in] theProgress progress indicator
0126   //! @return true if Write operation has ended correctly
0127   Standard_EXPORT virtual bool Write(
0128     const TCollection_AsciiString& thePath,
0129     const TopoDS_Shape&            theShape,
0130     const Message_ProgressRange&   theProgress = Message_ProgressRange()) Standard_OVERRIDE;
0131 
0132 public:
0133   //! Gets CAD format name of associated provider
0134   //! @return provider CAD format
0135   Standard_EXPORT virtual TCollection_AsciiString GetFormat() const Standard_OVERRIDE;
0136 
0137   //! Gets provider's vendor name of associated provider
0138   //! @return provider's vendor name
0139   Standard_EXPORT virtual TCollection_AsciiString GetVendor() const Standard_OVERRIDE;
0140 
0141 private:
0142   //! Personizes work session with current format.
0143   //! Creates new temporary session if current session is null
0144   //! @param[in] theWS current work session
0145   void personizeWS(Handle(XSControl_WorkSession)& theWS);
0146 
0147   //! Initialize static variables
0148   void initStatic(const Handle(DE_ConfigurationNode)& theNode);
0149 
0150   //! Initialize static variables
0151   void setStatic(const DEIGES_Parameters& theParameter);
0152 
0153   //! Reset used interface static variables
0154   void resetStatic();
0155 
0156   DEIGES_Parameters myOldValues;
0157   int               myOldLengthUnit = 1;
0158 };
0159 
0160 #endif // _DEIGES_Provider_HeaderFile