AnimatLab  2
Test
StdLookupTable.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 namespace StdUtils
10 {
20 class STD_UTILS_PORT CStdLookupTable
21 {
22 protected:
24  CStdArray< CStdDPoint > m_aryInitialPoints;
25 
28 
30  double m_dblDelta;
31 
33  double m_dblStartX;
34 
36  double m_dblEndX;
37 
39  double *m_aryM;
40 
42  double *m_aryB;
43 
46 
49 
52 
55 
56 public:
58  virtual ~CStdLookupTable();
59 
68  int InitialPointCount() {return m_aryInitialPoints.GetSize();};
69 
80  CStdDPoint InitialPoint(int iIndex) {return m_aryInitialPoints[iIndex];};
81 
90  int TableSize() {return m_iTableSize;};
91 
100  double Delta() {return m_dblDelta;};
101 
110  double StartX() {return m_dblStartX;};
111 
120  double EndX() {return m_dblEndX;};
121 
130  bool UseLowLimitValue() {return m_bUseLowLimitValue;};
131 
140  void UseLowLimitValue(bool bVal) {m_bUseLowLimitValue = bVal;};
141 
150  bool UseHighLimitValue() {return m_bUseHighLimitValue;};
151 
160  void UseHighLimitValue(bool bVal) {m_bUseHighLimitValue = bVal;};
161 
170  double LowLimitValue() {return m_dblLowLimitValue;};
171 
180  void LowLimitValue(double dblVal) {m_dblLowLimitValue = dblVal;};
181 
190  double HighLimitValue() {return m_dblHighLimitValue;};
191 
200  void HighLimitValue(double dblVal) {m_dblHighLimitValue = dblVal;};
201 
202  void AddPoint(double dblX, double dblY);
203  void Initialize();
204  void Clear();
205  double Evaluate(double dblX);
206 
207  virtual void Load(CStdXml &oXml, std::string strParamName, bool bThrowError = false);
208  virtual void Save(CStdXml &oXml, std::string strParamName);
209 };
210 
211 } //StdUtils
void UseLowLimitValue(bool bVal)
Sets the use low limit value.
CStdDPoint InitialPoint(int iIndex)
Gets the initial point at the specified index.
double StartX()
Gets the start x coordinate.
void LowLimitValue(double dblVal)
Sets the low limit value.
Standard lookup table.
double m_dblDelta
The delta.
double m_dblHighLimitValue
The double high limit value.
CStdArray< CStdDPoint > m_aryInitialPoints
The initial points for the lines.
double * m_aryM
The array of slopes.
int TableSize()
Gets the table size.
int m_iTableSize
Size of the table.
void UseHighLimitValue(bool bVal)
Sets the use high limit value.
int InitialPointCount()
Gets the initial point count.
void HighLimitValue(double dblVal)
Sets the high limit value.
double LowLimitValue()
Gets the low limit value.
A standard xml manipulation class.
Definition: StdXml.h:19
double * m_aryB
The array of intercepts.
double Delta()
Gets the delta.
double EndX()
Gets the ends x coordinate.
bool UseLowLimitValue()
Gets the use low limit value.
Namespace for the standard utility objects.
Definition: MarkupSTL.cpp:19
double m_dblLowLimitValue
The double low limit value.
double m_dblEndX
The end x coordinate.
bool UseHighLimitValue()
Gets the use high limit value.
bool m_bUseLowLimitValue
true to use low limit value
bool m_bUseHighLimitValue
true to use high limit value
double HighLimitValue()
Gets the high limit value.
double m_dblStartX
The start x coordinate.