File indexing completed on 2025-01-18 10:04:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _math_DoubleTab_HeaderFile
0018 #define _math_DoubleTab_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Real.hxx>
0025 #include <Standard_Boolean.hxx>
0026
0027
0028 class math_DoubleTab
0029 {
0030 public:
0031
0032 DEFINE_STANDARD_ALLOC
0033
0034
0035 Standard_EXPORT math_DoubleTab(const Standard_Integer LowerRow, const Standard_Integer UpperRow, const Standard_Integer LowerCol, const Standard_Integer UpperCol);
0036
0037 Standard_EXPORT math_DoubleTab(const Standard_Address Tab, const Standard_Integer LowerRow, const Standard_Integer UpperRow, const Standard_Integer LowerCol, const Standard_Integer UpperCol);
0038
0039 Standard_EXPORT void Init (const Standard_Real InitValue);
0040
0041 Standard_EXPORT math_DoubleTab(const math_DoubleTab& Other);
0042
0043 void Copy (math_DoubleTab& Other) const;
0044
0045 Standard_EXPORT void SetLowerRow (const Standard_Integer LowerRow);
0046
0047 Standard_EXPORT void SetLowerCol (const Standard_Integer LowerCol);
0048
0049 Standard_Real& Value (const Standard_Integer RowIndex, const Standard_Integer ColIndex) const;
0050 Standard_Real& operator() (const Standard_Integer RowIndex, const Standard_Integer ColIndex) const
0051 {
0052 return Value(RowIndex,ColIndex);
0053 }
0054
0055 Standard_EXPORT void Free();
0056 ~math_DoubleTab()
0057 {
0058 Free();
0059 }
0060
0061
0062
0063
0064 protected:
0065
0066
0067
0068
0069
0070 private:
0071
0072
0073 Standard_EXPORT void Allocate();
0074
0075
0076 Standard_Address Addr;
0077 Standard_Real Buf[16];
0078 Standard_Boolean isAllocated;
0079 Standard_Integer LowR;
0080 Standard_Integer UppR;
0081 Standard_Integer LowC;
0082 Standard_Integer UppC;
0083
0084
0085 };
0086
0087
0088 #include <math_DoubleTab.lxx>
0089
0090
0091
0092
0093
0094 #endif