File indexing completed on 2026-06-22 08:30:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TDataStd_IntPackedMap_HeaderFile
0017 #define _TDataStd_IntPackedMap_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <Standard_Boolean.hxx>
0022 #include <TDF_Attribute.hxx>
0023 #include <TColStd_HPackedMapOfInteger.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <Standard_OStream.hxx>
0026
0027 class Standard_GUID;
0028 class TDF_Label;
0029 class TDF_RelocationTable;
0030 class TDF_DeltaOnModification;
0031
0032 class TDataStd_IntPackedMap;
0033 DEFINE_STANDARD_HANDLE(TDataStd_IntPackedMap, TDF_Attribute)
0034
0035
0036 class TDataStd_IntPackedMap : public TDF_Attribute
0037 {
0038 friend class TDataStd_DeltaOnModificationOfIntPackedMap;
0039 DEFINE_STANDARD_RTTIEXT(TDataStd_IntPackedMap, TDF_Attribute)
0040 public:
0041
0042
0043
0044 Standard_EXPORT static const Standard_GUID& GetID();
0045
0046
0047
0048
0049
0050
0051
0052
0053 Standard_EXPORT static Handle(TDataStd_IntPackedMap) Set(
0054 const TDF_Label& label,
0055 const Standard_Boolean isDelta = Standard_False);
0056
0057 Standard_EXPORT TDataStd_IntPackedMap();
0058
0059 Standard_EXPORT Standard_Boolean ChangeMap(const Handle(TColStd_HPackedMapOfInteger)& theMap);
0060
0061 Standard_EXPORT Standard_Boolean ChangeMap(const TColStd_PackedMapOfInteger& theMap);
0062
0063 const TColStd_PackedMapOfInteger& GetMap() const { return myMap->Map(); }
0064
0065 const Handle(TColStd_HPackedMapOfInteger)& GetHMap() const { return myMap; }
0066
0067 Standard_EXPORT Standard_Boolean Clear();
0068
0069 Standard_EXPORT Standard_Boolean Add(const Standard_Integer theKey);
0070
0071 Standard_EXPORT Standard_Boolean Remove(const Standard_Integer theKey);
0072
0073 Standard_EXPORT Standard_Boolean Contains(const Standard_Integer theKey) const;
0074
0075 Standard_Integer Extent() const { return myMap->Map().Extent(); }
0076
0077 Standard_Boolean IsEmpty() const { return myMap->Map().IsEmpty(); }
0078
0079 Standard_Boolean GetDelta() const { return myIsDelta; }
0080
0081
0082 void SetDelta(const Standard_Boolean isDelta) { myIsDelta = isDelta; }
0083
0084 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0085
0086 Standard_EXPORT void Restore(const Handle(TDF_Attribute)& with) Standard_OVERRIDE;
0087
0088 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0089
0090 Standard_EXPORT void Paste(const Handle(TDF_Attribute)& into,
0091 const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE;
0092
0093 Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const Standard_OVERRIDE;
0094
0095
0096
0097 Standard_EXPORT virtual Handle(TDF_DeltaOnModification) DeltaOnModification(
0098 const Handle(TDF_Attribute)& anOldAttribute) const Standard_OVERRIDE;
0099
0100
0101 Standard_EXPORT virtual void DumpJson(Standard_OStream& theOStream,
0102 Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0103
0104 private:
0105 void RemoveMap() { myMap.Nullify(); }
0106
0107 private:
0108 Handle(TColStd_HPackedMapOfInteger) myMap;
0109 Standard_Boolean myIsDelta;
0110 };
0111
0112 #endif