VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
frameRateMonitor.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: frameRateMon.h,v $ $Revision: 1.19 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef frameRateMonitor_H_
9 #define frameRateMonitor_H_
10 
13 
19 
20 #include <vlutil/vlString.h>
21 #include <vl/hostStructs.h>
22 #include <vector>
23 #include "vrfutil/averager.h"
24 
25 class DtPeriodicTimer;
26 class DtSimManager;
28 class DtSimMessage;
29 class DtTimer;
30 
31 #include "vrfcore/vrfcoreDefines.h"
33 {
34 public:
35  typedef std::vector<DtSimulationAddress> DtFrameRateRequesters;
36  typedef DtFrameRateRequesters::iterator DtFrameRateRequestersIter;
37  typedef DtFrameRateRequesters::const_iterator DtFrameRateRequestersConstIter;
38 
43 
45  DtFrameRateMonitor(DtSimManager* simManager);
46 
49 
51  const DtFrameRateMonitor& operator=(const DtFrameRateMonitor& orig);
52 
54  virtual bool init();
55 
58  virtual void setSimManager(DtSimManager* simManager);
59 
61  virtual bool registerInterfaceCallbacks();
62 
63  virtual double meanFrameRate();
64 
65  virtual double medianFrameRate();
66 
67  virtual double standardDeviationFrameRate();
68 
69  virtual double minimumFrameRate();
70 
71  virtual double maximumFrameRate();
72 
73  virtual double simTimeToRealTimeRatio();
74 
79  virtual void addSample(double frameTime);
80 
84  virtual double lastSample() const;
85 
88  virtual void reset(bool sendReport = false);
89 
91  virtual void setNumberOfFramesToAverage(unsigned int numFramesToAverage);
92  virtual unsigned int numberOfFramesToAverage();
93 
94  virtual void setReportMean(bool reportMean);
95  virtual bool reportMean() const;
96 
97  virtual void setReportMedian(bool reportMedian);
98  virtual bool reportMedian() const;
99 
100  virtual void setReportStandardDeviation(bool reportStandardDeviation);
101  virtual bool reportStandardDeviation() const;
102 
103  virtual void setReportMinimum(bool reportMinimum);
104  virtual bool reportMinimum() const;
105 
106  virtual void setReportMaximum(bool reportMaximum);
107  virtual bool reportMaximum() const;
108 
109  virtual void setReportToConsole(bool reportToConsole);
110  virtual bool reportToConsole() const;
111 
112  virtual void setReportSimTimeToRealTimeRatio(bool reportSimTimeToRealTimeRatio);
113  virtual bool reportSimTimeToRealTimeRatio() const;
114 
116  virtual void processFrameRateRequestMessage(DtSimInterfaceMessage* message);
117 
119  virtual void generateReport();
120 
123  virtual void pause();
124  virtual void resume();
125 
127  virtual bool isPaused() const;
128 
130  virtual ~DtFrameRateMonitor();
131 
132  static void frameRateRequestCallback(DtSimMessage* msg, void* usr);
133  static void reportTimerCallback(DtTimer* timer);
134 
135 protected:
136  virtual void removeTimer();
137  virtual void setTimer(double period);
138 
139 protected:
140 
144 
153 
155 
162 
165 
166 private:
169 };
170 
171 
172 #endif

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)