File indexing completed on 2026-06-16 08:29:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TFunction_Scope_HeaderFile
0017 #define _TFunction_Scope_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <TFunction_DoubleMapOfIntegerLabel.hxx>
0023 #include <TFunction_Logbook.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <TDF_Attribute.hxx>
0026 #include <Standard_OStream.hxx>
0027 class TDF_Label;
0028 class Standard_GUID;
0029 class TFunction_Logbook;
0030 class TDF_RelocationTable;
0031
0032 class TFunction_Scope;
0033 DEFINE_STANDARD_HANDLE(TFunction_Scope, TDF_Attribute)
0034
0035
0036 class TFunction_Scope : public TDF_Attribute
0037 {
0038
0039 public:
0040
0041
0042
0043
0044 Standard_EXPORT static Handle(TFunction_Scope) Set(const TDF_Label& Access);
0045
0046
0047
0048
0049
0050 Standard_EXPORT static const Standard_GUID& GetID();
0051
0052 Standard_EXPORT TFunction_Scope();
0053
0054
0055 Standard_EXPORT Standard_Boolean AddFunction(const TDF_Label& L);
0056
0057
0058 Standard_EXPORT Standard_Boolean RemoveFunction(const TDF_Label& L);
0059
0060
0061 Standard_EXPORT Standard_Boolean RemoveFunction(const Standard_Integer ID);
0062
0063
0064 Standard_EXPORT void RemoveAllFunctions();
0065
0066
0067 Standard_EXPORT Standard_Boolean HasFunction(const Standard_Integer ID) const;
0068
0069
0070 Standard_EXPORT Standard_Boolean HasFunction(const TDF_Label& L) const;
0071
0072
0073 Standard_EXPORT Standard_Integer GetFunction(const TDF_Label& L) const;
0074
0075
0076 Standard_EXPORT const TDF_Label& GetFunction(const Standard_Integer ID) const;
0077
0078
0079
0080
0081 Standard_EXPORT Handle(TFunction_Logbook) GetLogbook() const;
0082
0083 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0084
0085 Standard_EXPORT virtual void Restore(const Handle(TDF_Attribute)& with) Standard_OVERRIDE;
0086
0087 Standard_EXPORT virtual void Paste(const Handle(TDF_Attribute)& into,
0088 const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE;
0089
0090 Standard_EXPORT virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0091
0092 Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const Standard_OVERRIDE;
0093
0094
0095 Standard_EXPORT const TFunction_DoubleMapOfIntegerLabel& GetFunctions() const;
0096
0097
0098
0099 Standard_EXPORT TFunction_DoubleMapOfIntegerLabel& ChangeFunctions();
0100
0101 Standard_EXPORT void SetFreeID(const Standard_Integer ID);
0102
0103 Standard_EXPORT Standard_Integer GetFreeID() const;
0104
0105 DEFINE_STANDARD_RTTIEXT(TFunction_Scope, TDF_Attribute)
0106
0107 protected:
0108 private:
0109 TFunction_DoubleMapOfIntegerLabel myFunctions;
0110 Standard_Integer myFreeID;
0111 };
0112
0113 #endif