OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    DE_Provider Class Referenceabstract

    Base class to make transfer process. Reads or Writes specialized CAD files into/from OCCT. Each operation needs the Configuration Node. More...

    #include <DE_Provider.hxx>

    Inheritance diagram for DE_Provider:

    Data Structures

    struct  WriteStreamNode
     Node to store write stream information Contains relative path and reference to output stream. More...
    struct  ReadStreamNode
     Node to store read stream information Contains relative path and reference to input stream. More...

    Public Types

    using WriteStreamList = NCollection_List<WriteStreamNode>
     List to store write stream nodes First element is the main stream, others are for internal referencing.
    using ReadStreamList = NCollection_List<ReadStreamNode>
     List to store read stream nodes First element is the main stream, others are for internal referencing.
    typedef void base_type
     Returns a type descriptor about this object.

    Public Member Functions

     DE_Provider ()
     Default constructor Configure translation process with global configuration.
     DE_Provider (const occ::handle< DE_ConfigurationNode > &theNode)
     Configure translation process.
    virtual bool Read (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads a CAD file, according internal configuration.
    virtual bool Write (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes a CAD file, according internal configuration.
    virtual bool Read (ReadStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads streams according to internal configuration.
    virtual bool Write (WriteStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes streams according to internal configuration.
    virtual bool Read (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads a CAD file, according internal configuration.
    virtual bool Write (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes a CAD file, according internal configuration.
    virtual bool Read (ReadStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads streams according to internal configuration.
    virtual bool Write (WriteStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes streams according to internal configuration.
    virtual bool Read (const TCollection_AsciiString &thePath, TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads a CAD file, according internal configuration.
    virtual bool Write (const TCollection_AsciiString &thePath, const TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes a CAD file, according internal configuration.
    virtual bool Read (ReadStreamList &theStreams, TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads streams according to internal configuration.
    virtual bool Write (WriteStreamList &theStreams, const TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes streams according to internal configuration.
    virtual bool Read (const TCollection_AsciiString &thePath, TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads a CAD file, according internal configuration.
    virtual bool Write (const TCollection_AsciiString &thePath, const TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes a CAD file, according internal configuration.
    virtual bool Read (ReadStreamList &theStreams, TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Reads streams according to internal configuration.
    virtual bool Write (WriteStreamList &theStreams, const TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
     Writes streams according to internal configuration.
    virtual TCollection_AsciiString GetFormat () const =0
     Gets CAD format name of associated provider.
    virtual TCollection_AsciiString GetVendor () const =0
     Gets provider's vendor name of associated provider.
    occ::handle< DE_ConfigurationNodeGetNode () const
     Gets internal configuration node.
    void SetNode (const occ::handle< DE_ConfigurationNode > &theNode)
     Sets internal configuration node.
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transientoperator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool IsKind (const opencascade::handle< Standard_Type > &theType) const
     Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    bool IsKind (const char *const theTypeName) const
     Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
    Standard_TransientThis () const
     Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Additional Inherited Members

    static constexpr const char * get_type_name ()
     Returns a type descriptor about this object.
    static const opencascade::handle< Standard_Type > & get_type_descriptor ()
     Returns type descriptor of Standard_Transient class.

    Detailed Description

    Base class to make transfer process. Reads or Writes specialized CAD files into/from OCCT. Each operation needs the Configuration Node.

    Providers are grouped by Vendor's name and Format type. The Vendor name is not defined by default. The Format type is not defined by default. The import process is not supported. The export process is not supported.

    The algorithm for standalone transfer operation: 1) Create new empty Provider object 2) Configure the current object by special Configuration Node (::SetNode) 3) Initiate the transfer process: 3.1) Call the required Read method (if Read methods are implemented) 3.2) Call the required Write method (if Write methods are implemented) 4) Validate the output values

    Member Typedef Documentation

    ◆ ReadStreamList

    List to store read stream nodes First element is the main stream, others are for internal referencing.

    ◆ WriteStreamList

    List to store write stream nodes First element is the main stream, others are for internal referencing.

    Constructor & Destructor Documentation

    ◆ DE_Provider() [1/2]

    DE_Provider::DE_Provider ( )

    Default constructor Configure translation process with global configuration.

    ◆ DE_Provider() [2/2]

    DE_Provider::DE_Provider ( const occ::handle< DE_ConfigurationNode > & theNode)

    Configure translation process.

    Parameters
    [in]theNodeobject to copy

    Member Function Documentation

    ◆ GetFormat()

    virtual TCollection_AsciiString DE_Provider::GetFormat ( ) const
    pure virtual

    Gets CAD format name of associated provider.

    Returns
    provider CAD format

    Implemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ GetNode()

    occ::handle< DE_ConfigurationNode > DE_Provider::GetNode ( ) const
    inline

    Gets internal configuration node.

    Returns
    configuration node object

    ◆ GetVendor()

    virtual TCollection_AsciiString DE_Provider::GetVendor ( ) const
    pure virtual

    Gets provider's vendor name of associated provider.

    Returns
    provider's vendor name

    Implemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Read() [1/8]

    virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
    const occ::handle< TDocStd_Document > & theDocument,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the import CAD file
    [out]theDocumentdocument to save result
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Read() [2/8]

    virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
    const occ::handle< TDocStd_Document > & theDocument,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the import CAD file
    [out]theDocumentdocument to save result
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Read() [3/8]

    virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
    TopoDS_Shape & theShape,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the import CAD file
    [out]theShapeshape to save result
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Read() [4/8]

    virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
    TopoDS_Shape & theShape,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the import CAD file
    [out]theShapeshape to save result
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Read() [5/8]

    virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
    const occ::handle< TDocStd_Document > & theDocument,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to read from
    [out]theDocumentdocument to save result
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Read() [6/8]

    virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
    const occ::handle< TDocStd_Document > & theDocument,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to read from
    [out]theDocumentdocument to save result
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Read() [7/8]

    virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
    TopoDS_Shape & theShape,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to read from
    [out]theShapeshape to save result
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Read() [8/8]

    virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
    TopoDS_Shape & theShape,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Reads streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to read from
    [out]theShapeshape to save result
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Read was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ SetNode()

    void DE_Provider::SetNode ( const occ::handle< DE_ConfigurationNode > & theNode)
    inline

    Sets internal configuration node.

    Parameters
    [in]theNodeconfiguration node to set

    ◆ Write() [1/8]

    virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
    const occ::handle< TDocStd_Document > & theDocument,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the export CAD file
    [out]theDocumentdocument to export
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Write() [2/8]

    virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
    const occ::handle< TDocStd_Document > & theDocument,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the export CAD file
    [out]theDocumentdocument to export
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Write() [3/8]

    virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
    const TopoDS_Shape & theShape,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the export CAD file
    [out]theShapeshape to export
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Write() [4/8]

    virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
    const TopoDS_Shape & theShape,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes a CAD file, according internal configuration.

    Parameters
    [in]thePathpath to the export CAD file
    [out]theShapeshape to export
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DEBREP_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, DEVRML_Provider, and DEXCAF_Provider.

    ◆ Write() [5/8]

    virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
    const occ::handle< TDocStd_Document > & theDocument,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to write to
    [out]theDocumentdocument to export
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Write() [6/8]

    virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
    const occ::handle< TDocStd_Document > & theDocument,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to write to
    [out]theDocumentdocument to export
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Write() [7/8]

    virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
    const TopoDS_Shape & theShape,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to write to
    [out]theShapeshape to export
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

    ◆ Write() [8/8]

    virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
    const TopoDS_Shape & theShape,
    occ::handle< XSControl_WorkSession > & theWS,
    const Message_ProgressRange & theProgress = Message_ProgressRange() )
    virtual

    Writes streams according to internal configuration.

    Parameters
    [in]theStreamsstreams to write to
    [out]theShapeshape to export
    [in]theWScurrent work session
    [in]theProgressprogress indicator
    Returns
    True if Write was successful

    Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.


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