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
    BinLDrivers_DocumentStorageDriver Class Reference

    persistent implementation of storage a document in a binary file More...

    #include <BinLDrivers_DocumentStorageDriver.hxx>

    Inheritance diagram for BinLDrivers_DocumentStorageDriver:

    Public Member Functions

     BinLDrivers_DocumentStorageDriver ()
     Constructor.
    void Write (const occ::handle< CDM_Document > &theDocument, const TCollection_ExtendedString &theFileName, const Message_ProgressRange &theRange=Message_ProgressRange()) override
     Write <theDocument> to the binary file <theFileName>.
    void Write (const occ::handle< CDM_Document > &theDocument, Standard_OStream &theOStream, const Message_ProgressRange &theRange=Message_ProgressRange()) override
     Write <theDocument> to theOStream.
    virtual occ::handle< BinMDF_ADriverTableAttributeDrivers (const occ::handle< Message_Messenger > &theMsgDriver)
    void AddSection (const TCollection_AsciiString &theName, const bool isPostRead=true)
     Create a section that should be written after the OCAF data.
    bool IsQuickPart (const int theVersion) const
     Return true if document should be stored in quick mode for partial reading.
    Public Member Functions inherited from PCDM_StorageDriver
    virtual occ::handle< PCDM_DocumentMake (const occ::handle< CDM_Document > &aDocument)
     raises NotImplemented.
    virtual void Make (const occ::handle< CDM_Document > &aDocument, NCollection_Sequence< occ::handle< PCDM_Document > > &Documents)
     By default, puts in the Sequence the document returns by the previous Make method.
    void Write (const occ::handle< CDM_Document > &aDocument, const TCollection_ExtendedString &aFileName, const Message_ProgressRange &theRange=Message_ProgressRange()) override
     Warning! raises DriverError if an error occurs during inside the Make method. stores the content of the Document into a new file.
    void Write (const occ::handle< CDM_Document > &theDocument, Standard_OStream &theOStream, const Message_ProgressRange &theRange=Message_ProgressRange()) override
     Write <theDocument> to theOStream.
    void SetFormat (const TCollection_ExtendedString &aformat)
    TCollection_ExtendedString GetFormat () const
    bool IsError () const
    void SetIsError (const bool theIsError)
    PCDM_StoreStatus GetStoreStatus () const
    void SetStoreStatus (const PCDM_StoreStatus theStoreStatus)
    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.

    Protected Member Functions

    void WriteSubTree (const TDF_Label &theData, Standard_OStream &theOS, const bool &theQuickPart, const Message_ProgressRange &theRange=Message_ProgressRange())
     Write the tree under <theLabel> to the stream <theOS>.
    virtual void WriteSection (const TCollection_AsciiString &, const occ::handle< CDM_Document > &, Standard_OStream &)
     define the procedure of writing a section to file.
    virtual void WriteShapeSection (BinLDrivers_DocumentSection &theDocSection, Standard_OStream &theOS, const TDocStd_FormatVersion theDocVer, const Message_ProgressRange &theRange=Message_ProgressRange())
     defines the procedure of writing a shape section to file
    virtual void EnableQuickPartWriting (const occ::handle< Message_Messenger > &, const bool)
     Enables writing in the quick part access mode.
    virtual void Clear ()
     clears the writing-cash data in drivers if any.

    Protected Attributes

    occ::handle< BinMDF_ADriverTablemyDrivers
    NCollection_IndexedMap< occ::handle< Standard_Transient > > myRelocTable
    occ::handle< Message_MessengermyMsgDriver

    Additional Inherited Members

    typedef void base_type
     Returns a type descriptor about this object.
    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

    persistent implementation of storage a document in a binary file

    Constructor & Destructor Documentation

    ◆ BinLDrivers_DocumentStorageDriver()

    BinLDrivers_DocumentStorageDriver::BinLDrivers_DocumentStorageDriver ( )

    Constructor.

    Member Function Documentation

    ◆ AddSection()

    void BinLDrivers_DocumentStorageDriver::AddSection ( const TCollection_AsciiString & theName,
    const bool isPostRead = true )

    Create a section that should be written after the OCAF data.

    ◆ AttributeDrivers()

    virtual occ::handle< BinMDF_ADriverTable > BinLDrivers_DocumentStorageDriver::AttributeDrivers ( const occ::handle< Message_Messenger > & theMsgDriver)
    virtual

    ◆ Clear()

    virtual void BinLDrivers_DocumentStorageDriver::Clear ( )
    protectedvirtual

    clears the writing-cash data in drivers if any.

    Reimplemented in BinDrivers_DocumentStorageDriver.

    ◆ EnableQuickPartWriting()

    virtual void BinLDrivers_DocumentStorageDriver::EnableQuickPartWriting ( const occ::handle< Message_Messenger > & ,
    const bool  )
    inlineprotectedvirtual

    Enables writing in the quick part access mode.

    Reimplemented in BinDrivers_DocumentStorageDriver.

    ◆ IsQuickPart()

    bool BinLDrivers_DocumentStorageDriver::IsQuickPart ( const int theVersion) const

    Return true if document should be stored in quick mode for partial reading.

    ◆ Write() [1/2]

    void BinLDrivers_DocumentStorageDriver::Write ( const occ::handle< CDM_Document > & theDocument,
    const TCollection_ExtendedString & theFileName,
    const Message_ProgressRange & theRange = Message_ProgressRange() )
    overridevirtual

    Write <theDocument> to the binary file <theFileName>.

    Implements PCDM_Writer.

    ◆ Write() [2/2]

    void BinLDrivers_DocumentStorageDriver::Write ( const occ::handle< CDM_Document > & theDocument,
    Standard_OStream & theOStream,
    const Message_ProgressRange & theRange = Message_ProgressRange() )
    overridevirtual

    Write <theDocument> to theOStream.

    Implements PCDM_Writer.

    ◆ WriteSection()

    virtual void BinLDrivers_DocumentStorageDriver::WriteSection ( const TCollection_AsciiString & ,
    const occ::handle< CDM_Document > & ,
    Standard_OStream &  )
    protectedvirtual

    define the procedure of writing a section to file.

    ◆ WriteShapeSection()

    virtual void BinLDrivers_DocumentStorageDriver::WriteShapeSection ( BinLDrivers_DocumentSection & theDocSection,
    Standard_OStream & theOS,
    const TDocStd_FormatVersion theDocVer,
    const Message_ProgressRange & theRange = Message_ProgressRange() )
    protectedvirtual

    defines the procedure of writing a shape section to file

    Reimplemented in BinDrivers_DocumentStorageDriver.

    ◆ WriteSubTree()

    void BinLDrivers_DocumentStorageDriver::WriteSubTree ( const TDF_Label & theData,
    Standard_OStream & theOS,
    const bool & theQuickPart,
    const Message_ProgressRange & theRange = Message_ProgressRange() )
    protected

    Write the tree under <theLabel> to the stream <theOS>.

    Field Documentation

    ◆ myDrivers

    occ::handle<BinMDF_ADriverTable> BinLDrivers_DocumentStorageDriver::myDrivers
    protected

    ◆ myMsgDriver

    occ::handle<Message_Messenger> BinLDrivers_DocumentStorageDriver::myMsgDriver
    protected

    ◆ myRelocTable

    NCollection_IndexedMap<occ::handle<Standard_Transient> > BinLDrivers_DocumentStorageDriver::myRelocTable
    protected

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