File indexing completed on 2025-01-18 10:05:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TDataStd_ByteArray_HeaderFile
0017 #define _TDataStd_ByteArray_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <TColStd_HArray1OfByte.hxx>
0022 #include <TDF_Attribute.hxx>
0023 #include <Standard_Integer.hxx>
0024 #include <Standard_OStream.hxx>
0025 #include <Standard_GUID.hxx>
0026
0027 class TDF_Label;
0028 class TDF_RelocationTable;
0029 class TDF_DeltaOnModification;
0030
0031
0032 class TDataStd_ByteArray;
0033 DEFINE_STANDARD_HANDLE(TDataStd_ByteArray, TDF_Attribute)
0034
0035
0036 class TDataStd_ByteArray : public TDF_Attribute
0037 {
0038 friend class TDataStd_DeltaOnModificationOfByteArray;
0039 DEFINE_STANDARD_RTTIEXT(TDataStd_ByteArray, TDF_Attribute)
0040 public:
0041
0042
0043
0044
0045
0046 Standard_EXPORT static const Standard_GUID& GetID();
0047
0048
0049
0050
0051
0052
0053 Standard_EXPORT static Handle(TDataStd_ByteArray) Set (const TDF_Label& label, const Standard_Integer lower, const Standard_Integer upper, const Standard_Boolean isDelta = Standard_False);
0054
0055
0056 Standard_EXPORT static Handle(TDataStd_ByteArray) Set (const TDF_Label& label, const Standard_GUID& theGuid,
0057 const Standard_Integer lower, const Standard_Integer upper,
0058 const Standard_Boolean isDelta = Standard_False);
0059
0060
0061 Standard_EXPORT void Init (const Standard_Integer lower, const Standard_Integer upper);
0062
0063
0064
0065 Standard_EXPORT void SetValue (const Standard_Integer index, const Standard_Byte value);
0066
0067
0068 Standard_EXPORT void SetID( const Standard_GUID& theGuid) Standard_OVERRIDE;
0069
0070
0071 Standard_EXPORT void SetID() Standard_OVERRIDE;
0072
0073
0074 Standard_EXPORT Standard_Byte Value (const Standard_Integer Index) const;
0075
0076 Standard_Byte operator () (const Standard_Integer Index) const
0077 {
0078 return Value(Index);
0079 }
0080
0081
0082 Standard_EXPORT Standard_Integer Lower() const;
0083
0084
0085 Standard_EXPORT Standard_Integer Upper() const;
0086
0087
0088 Standard_EXPORT Standard_Integer Length() const;
0089
0090 const Handle(TColStd_HArray1OfByte)& InternalArray() const { return myValue; }
0091
0092
0093
0094
0095
0096
0097
0098 Standard_EXPORT void ChangeArray (const Handle(TColStd_HArray1OfByte)& newArray, const Standard_Boolean isCheckItems = Standard_True);
0099
0100 Standard_Boolean GetDelta() const { return myIsDelta; }
0101
0102
0103 void SetDelta (const Standard_Boolean isDelta) { myIsDelta = isDelta; }
0104
0105 Standard_EXPORT TDataStd_ByteArray();
0106
0107 Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
0108
0109 Standard_EXPORT void Restore (const Handle(TDF_Attribute)& with) Standard_OVERRIDE;
0110
0111 Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
0112
0113 Standard_EXPORT void Paste (const Handle(TDF_Attribute)& into, const Handle(TDF_RelocationTable)& RT) const Standard_OVERRIDE;
0114
0115 Standard_EXPORT virtual Standard_OStream& Dump (Standard_OStream& OS) const Standard_OVERRIDE;
0116
0117
0118
0119 Standard_EXPORT virtual Handle(TDF_DeltaOnModification) DeltaOnModification (const Handle(TDF_Attribute)& anOldAttribute) const Standard_OVERRIDE;
0120
0121
0122 Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const Standard_OVERRIDE;
0123
0124 private:
0125
0126 void RemoveArray() { myValue.Nullify(); }
0127
0128 private:
0129
0130 Handle(TColStd_HArray1OfByte) myValue;
0131 Standard_Boolean myIsDelta;
0132 Standard_GUID myID;
0133
0134 };
0135
0136 #endif