VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
averager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999-2000 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: averager.h,v $ $Revision: 1.10 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef averager_H_
9 #define averager_H_
10 
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include <vector>
16 
25 #include "vrfutil/vrfutilDefines.h"
27 {
28 public:
30  DtAverager();
31 
32  DtAverager(unsigned int maxPopulation);
33 
35  DtAverager(const DtAverager& orig);
36 
38  DtAverager& operator=(const DtAverager& orig);
39 
41  virtual ~DtAverager();
42 
47  virtual double sampleMean() const;
48 
53  virtual double sampleMedian() const;
54 
58  virtual double sampleStandardDeviation() const;
59 
64  virtual double sampleMinimum() const;
65 
70  virtual double sampleMaximum() const;
71 
73  virtual void addSample(double sample);
74 
78  virtual double lastSample() const;
79 
82  virtual unsigned int maxPopulationSize() const;
83 
85  virtual void setMaxPopulationSize(unsigned int maxPopulation);
86 
88  virtual void invalidatePopulation();
89 
91  virtual std::vector<double>& samples();
92  virtual const std::vector<double>& samples() const;
93 
95  virtual unsigned int currentSampleIndex() const;
96 
98  virtual unsigned int currentPopulationSize() const;
99 
101  virtual void adjustSample(double frameTime);
102 
103 protected:
106  virtual void invalidateStatistics();
107 
109  virtual void validateStatistics();
110 
111  void resetStatistics();
112 
113 private:
114 
115  mutable double mySampleMean;
116  mutable bool mySampleMeanValid;
117 
118  mutable double mySampleMedian;
119  mutable bool mySampleMedianValid;
120 
123 
124  mutable double mySampleMaximum;
125  mutable bool mySampleMaximumValid;
126 
127  mutable double mySampleMinimum;
128  mutable bool mySampleMinimumValid;
129 
131  unsigned int myCurrentSampleIndex;
132 
133  mutable std::vector<double> mySamples;
134  mutable std::vector<double> mySortedSamples;
135 };
136 
137 #endif
class DtAverager:
Definition: averager.h:26
std::vector< double > mySamples
Definition: averager.h:133
bool mySampleStandardDeviationValid
Definition: averager.h:122
unsigned int myCurrentSampleIndex
Definition: averager.h:131
double mySampleStandardDeviation
Definition: averager.h:121
bool mySampleMaximumValid
Definition: averager.h:125
unsigned int myCurrentPopulationSize
Definition: averager.h:130
double mySampleMean
Definition: averager.h:115
double mySampleMedian
Definition: averager.h:118
double mySampleMinimum
Definition: averager.h:127
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
double mySampleMaximum
Definition: averager.h:124
bool mySampleMinimumValid
Definition: averager.h:128
bool mySampleMedianValid
Definition: averager.h:119
std::vector< double > mySortedSamples
Definition: averager.h:134
bool mySampleMeanValid
Definition: averager.h:116

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)