File indexing completed on 2025-01-18 10:03:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _BinMXCAFDoc_LocationDriver_HeaderFile
0017 #define _BinMXCAFDoc_LocationDriver_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <BinMNaming_NamedShapeDriver.hxx>
0023 #include <BinMDF_ADriver.hxx>
0024 #include <BinObjMgt_RRelocationTable.hxx>
0025 #include <BinObjMgt_SRelocationTable.hxx>
0026 class Message_Messenger;
0027 class TDF_Attribute;
0028 class BinObjMgt_Persistent;
0029 class TopLoc_Location;
0030
0031
0032 class BinMXCAFDoc_LocationDriver;
0033 DEFINE_STANDARD_HANDLE(BinMXCAFDoc_LocationDriver, BinMDF_ADriver)
0034
0035
0036 class BinMXCAFDoc_LocationDriver : public BinMDF_ADriver
0037 {
0038
0039 public:
0040
0041
0042 Standard_EXPORT BinMXCAFDoc_LocationDriver(const Handle(Message_Messenger)& theMsgDriver);
0043
0044 Standard_EXPORT virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0045
0046 Standard_EXPORT virtual Standard_Boolean Paste (const BinObjMgt_Persistent& theSource, const Handle(TDF_Attribute)& theTarget, BinObjMgt_RRelocationTable& theRelocTable) const Standard_OVERRIDE;
0047
0048 Standard_EXPORT virtual void Paste (const Handle(TDF_Attribute)& theSource, BinObjMgt_Persistent& theTarget, BinObjMgt_SRelocationTable& theRelocTable) const Standard_OVERRIDE;
0049
0050 Standard_EXPORT Standard_Boolean Translate (const BinObjMgt_Persistent& theSource, TopLoc_Location& theLoc, BinObjMgt_RRelocationTable& theMap) const;
0051
0052
0053 Standard_EXPORT void Translate (const TopLoc_Location& theLoc, BinObjMgt_Persistent& theTarget, BinObjMgt_SRelocationTable& theMap) const;
0054
0055 void SetNSDriver (const Handle(BinMNaming_NamedShapeDriver)& theNSDriver) { myNSDriver = theNSDriver; }
0056
0057
0058
0059
0060 DEFINE_STANDARD_RTTIEXT(BinMXCAFDoc_LocationDriver,BinMDF_ADriver)
0061
0062 protected:
0063
0064
0065
0066
0067 private:
0068
0069
0070 Handle(BinMNaming_NamedShapeDriver) myNSDriver;
0071
0072 };
0073
0074
0075
0076 #endif