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