File indexing completed on 2026-09-24 09:17:33
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TDF_CopyLabel_HeaderFile
0018 #define _TDF_CopyLabel_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TDF_Label.hxx>
0025 #include <TDF_IDFilter.hxx>
0026 #include <TDF_Attribute.hxx>
0027 #include <NCollection_Map.hxx>
0028 class TDF_RelocationTable;
0029 class TDF_DataSet;
0030
0031
0032 class TDF_CopyLabel
0033 {
0034 public:
0035 DEFINE_STANDARD_ALLOC
0036
0037
0038 Standard_EXPORT TDF_CopyLabel();
0039
0040
0041 Standard_EXPORT TDF_CopyLabel(const TDF_Label& aSource, const TDF_Label& aTarget);
0042
0043
0044 Standard_EXPORT void Load(const TDF_Label& aSource, const TDF_Label& aTarget);
0045
0046
0047 Standard_EXPORT void UseFilter(const TDF_IDFilter& aFilter);
0048
0049
0050 Standard_EXPORT static bool ExternalReferences(
0051 const TDF_Label& Lab,
0052 NCollection_Map<occ::handle<TDF_Attribute>>& aExternals,
0053 const TDF_IDFilter& aFilter);
0054
0055
0056 Standard_EXPORT static void ExternalReferences(
0057 const TDF_Label& aRefLab,
0058 const TDF_Label& Lab,
0059 NCollection_Map<occ::handle<TDF_Attribute>>& aExternals,
0060 const TDF_IDFilter& aFilter,
0061 occ::handle<TDF_DataSet>& aDataSet);
0062
0063
0064 Standard_EXPORT void Perform();
0065
0066 bool IsDone() const;
0067
0068
0069 Standard_EXPORT const occ::handle<TDF_RelocationTable>& RelocationTable() const;
0070
0071 private:
0072 occ::handle<TDF_RelocationTable> myRT;
0073 TDF_Label mySL;
0074 TDF_Label myTL;
0075 TDF_IDFilter myFilter;
0076 NCollection_Map<occ::handle<TDF_Attribute>> myMapOfExt;
0077 bool myIsDone;
0078 };
0079
0080 #include <TDF_CopyLabel.lxx>
0081
0082 #endif