MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qtFloatMath.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2024 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef qtFloatMath_H_
11 #define qtFloatMath_H_
12 
13 #include <lgrGui/lgrGui.h>
14 
15 #include <QPoint>
16 #include <QRect>
17 #include <math.h>
18 
19 #include <limits.h>
20 #define DT_ROUND(x) (((x) < LONG_MIN-0.5 || (x) > LONG_MAX+0.5) ? 0 : ((x)>=0?(int)((x)+0.5):(int)((x)-0.5)))
21 
22 namespace MAKLogger
23 {
28  {
29  public:
30 
31  DtValueSmoother(int valuesToBuffer,double init)
32  {
33  myValues = new double[valuesToBuffer];
34  myBufferSize = valuesToBuffer;
35  for(int i = 0;i < myBufferSize;++i)
36  {
37  myValues[i] = init;
38  }
39 
40  }
41 
43  {
44  delete[] myValues;
45  }
46 
47  void addValue(double value)
48  {
49  for(int i = 1;i < myBufferSize;++i)
50  {
51  myValues[i-1] = myValues[i];
52  }
53  myValues[myBufferSize-1] = value;
54  }
55 
58  {
60  double deltaD = 0.0;
61  for(int i = 1;i < myBufferSize;++i)
62  {
63  deltaD += myValues[i] - myValues[i-1];
64  }
65  deltaD /= (myBufferSize-1);
66 
68  double newValue = 0.0;
69  for(int j = 0;j < myBufferSize;++j)
70  {
71  newValue += myValues[j] + ((myBufferSize - j) * deltaD);
72  }
73  newValue /= myBufferSize;
74  return newValue;
75  }
76 
77  protected:
78  double* myValues;
80  };
81 
82 
83 
84 }
85 
86 #endif
87 
Class responsible for smoothing multiple input values and calculating an interpolated &#39;next&#39; value...
Definition: qtFloatMath.h:27
double * myValues
Definition: qtFloatMath.h:78
void addValue(double value)
Definition: qtFloatMath.h:47
~DtValueSmoother()
Definition: qtFloatMath.h:42
int myBufferSize
Definition: qtFloatMath.h:79
double getSmoothedValue()
Get the next value.
Definition: qtFloatMath.h:57
DtValueSmoother(int valuesToBuffer, double init)
Definition: qtFloatMath.h:31
#define DT_DLL_LGRGUI
Definition: lgrGui.h:19
Defines INPORT/EXPORT macros for lgrGui library.

Document ID: Generated on Fri May 31 15:45:35 EDT 2024 from SVN revision 266500
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)