Warning, file /include/opencascade/BinMDF_DerivedDriver.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _BinMDF_DerivedDriver_HeaderFile
0015 #define _BinMDF_DerivedDriver_HeaderFile
0016
0017 #include <BinMDF_ADriver.hxx>
0018
0019
0020
0021 class BinMDF_DerivedDriver : public BinMDF_ADriver
0022 {
0023 DEFINE_STANDARD_RTTIEXT(BinMDF_DerivedDriver, BinMDF_ADriver)
0024 public:
0025
0026
0027
0028
0029 BinMDF_DerivedDriver (const Handle(TDF_Attribute)& theDerivative,
0030 const Handle(BinMDF_ADriver)& theBaseDriver)
0031 : BinMDF_ADriver(theBaseDriver->MessageDriver()), myDerivative(theDerivative), myBaseDirver(theBaseDriver) {}
0032
0033
0034 virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE { return myDerivative->NewEmpty(); }
0035
0036
0037 virtual Standard_Boolean Paste (const BinObjMgt_Persistent& theSource,
0038 const Handle(TDF_Attribute)& theTarget,
0039 BinObjMgt_RRelocationTable& theRelocTable) const Standard_OVERRIDE
0040 {
0041 Standard_Boolean aResult = myBaseDirver->Paste (theSource, theTarget, theRelocTable);
0042 theTarget->AfterRetrieval();
0043 return aResult;
0044 }
0045
0046
0047 virtual void Paste (const Handle(TDF_Attribute)& theSource,
0048 BinObjMgt_Persistent& theTarget,
0049 BinObjMgt_SRelocationTable& theRelocTable) const Standard_OVERRIDE
0050 {
0051 myBaseDirver->Paste(theSource, theTarget, theRelocTable);
0052 }
0053
0054 protected:
0055 Handle(TDF_Attribute) myDerivative;
0056 Handle(BinMDF_ADriver) myBaseDirver;
0057 };
0058
0059 #endif