Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:03:00

0001 // Copyright (c) 2019 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 _BinMXCAFDoc_VisMaterialDriver_HeaderFile
0015 #define _BinMXCAFDoc_VisMaterialDriver_HeaderFile
0016 
0017 #include <BinMDF_ADriver.hxx>
0018 #include <Standard_Boolean.hxx>
0019 #include <BinObjMgt_RRelocationTable.hxx>
0020 #include <BinObjMgt_SRelocationTable.hxx>
0021 
0022 DEFINE_STANDARD_HANDLE(BinMXCAFDoc_VisMaterialDriver, BinMDF_ADriver)
0023 
0024 //! Binary persistence driver for XCAFDoc_VisMaterial attribute.
0025 class BinMXCAFDoc_VisMaterialDriver : public BinMDF_ADriver
0026 {
0027   DEFINE_STANDARD_RTTIEXT(BinMXCAFDoc_VisMaterialDriver, BinMDF_ADriver)
0028 
0029   //! Persistence version (major for breaking changes, minor for adding new fields at end).
0030   enum
0031   {
0032     MaterialVersionMajor_1 = 1,
0033     MaterialVersionMinor_0 = 0,
0034     MaterialVersionMinor_1 = 1, //!< added IOR
0035 
0036     MaterialVersionMajor = MaterialVersionMajor_1,
0037     MaterialVersionMinor = MaterialVersionMinor_1
0038   };
0039 public:
0040 
0041   //! Main constructor.
0042   Standard_EXPORT BinMXCAFDoc_VisMaterialDriver (const Handle(Message_Messenger)& theMsgDriver);
0043 
0044   //! Create new instance of XCAFDoc_VisMaterial.
0045   Standard_EXPORT virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0046 
0047   //! Paste attribute from persistence into document.
0048   Standard_EXPORT virtual Standard_Boolean Paste (const BinObjMgt_Persistent&  theSource,
0049                                                   const Handle(TDF_Attribute)& theTarget,
0050                                                   BinObjMgt_RRelocationTable&  theRelocTable) const Standard_OVERRIDE;
0051 
0052   //! Paste attribute from document into persistence.
0053   Standard_EXPORT virtual void Paste (const Handle(TDF_Attribute)& theSource,
0054                                       BinObjMgt_Persistent&        theTarget,
0055                                       BinObjMgt_SRelocationTable&  theRelocTable) const Standard_OVERRIDE;
0056 
0057 };
0058 
0059 #endif // _BinMXCAFDoc_VisMaterialDriver_HeaderFile