File indexing completed on 2026-09-19 09:29:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TDocStd_XLink_HeaderFile
0017 #define _TDocStd_XLink_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <TCollection_AsciiString.hxx>
0022 #include <TDocStd_XLinkPtr.hxx>
0023 #include <TDF_Attribute.hxx>
0024 #include <Standard_OStream.hxx>
0025 class TDF_Label;
0026 class TDF_Reference;
0027 class Standard_GUID;
0028 class TDF_AttributeDelta;
0029 class TDF_RelocationTable;
0030
0031
0032
0033
0034
0035 class TDocStd_XLink : public TDF_Attribute
0036 {
0037
0038 public:
0039
0040 Standard_EXPORT static occ::handle<TDocStd_XLink> Set(const TDF_Label& atLabel);
0041
0042
0043 Standard_EXPORT TDocStd_XLink();
0044
0045
0046 Standard_EXPORT occ::handle<TDF_Reference> Update();
0047
0048
0049 Standard_EXPORT const Standard_GUID& ID() const override;
0050
0051
0052 Standard_EXPORT static const Standard_GUID& GetID();
0053
0054
0055
0056 Standard_EXPORT void DocumentEntry(const TCollection_AsciiString& aDocEntry);
0057
0058
0059
0060 Standard_EXPORT const TCollection_AsciiString& DocumentEntry() const;
0061
0062
0063
0064 Standard_EXPORT void LabelEntry(const TDF_Label& aLabel);
0065
0066
0067
0068 Standard_EXPORT void LabelEntry(const TCollection_AsciiString& aLabEntry);
0069
0070
0071 Standard_EXPORT const TCollection_AsciiString& LabelEntry() const;
0072
0073
0074
0075 Standard_EXPORT void AfterAddition() override;
0076
0077
0078
0079 Standard_EXPORT void BeforeRemoval() override;
0080
0081
0082 Standard_EXPORT bool BeforeUndo(const occ::handle<TDF_AttributeDelta>& anAttDelta,
0083 const bool forceIt = false) override;
0084
0085
0086 Standard_EXPORT bool AfterUndo(const occ::handle<TDF_AttributeDelta>& anAttDelta,
0087 const bool forceIt = false) override;
0088
0089
0090
0091 Standard_EXPORT occ::handle<TDF_Attribute> BackupCopy() const override;
0092
0093
0094 Standard_EXPORT void Restore(const occ::handle<TDF_Attribute>& anAttribute) override;
0095
0096
0097 Standard_EXPORT occ::handle<TDF_Attribute> NewEmpty() const override;
0098
0099
0100 Standard_EXPORT void Paste(
0101 const occ::handle<TDF_Attribute>& intoAttribute,
0102 const occ::handle<TDF_RelocationTable>& aRelocationTable) const override;
0103
0104
0105 Standard_EXPORT Standard_OStream& Dump(Standard_OStream& anOS) const override;
0106
0107 friend class TDocStd_XLinkRoot;
0108 friend class TDocStd_XLinkIterator;
0109
0110 DEFINE_STANDARD_RTTIEXT(TDocStd_XLink, TDF_Attribute)
0111
0112 private:
0113
0114 void Next(const TDocStd_XLinkPtr& anXLinkPtr);
0115
0116
0117 TDocStd_XLinkPtr Next() const;
0118
0119 TCollection_AsciiString myDocEntry;
0120 TCollection_AsciiString myLabelEntry;
0121 TDocStd_XLinkPtr myNext;
0122 };
0123
0124 #include <TDocStd_XLink.lxx>
0125
0126 #endif