SUMO - Simulation of Urban MObility
TrackerValueDesc.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // Representation of a timeline of floats with their names and moments
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
11 // Copyright (C) 2001-2015 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef TrackerValueDesc_h
22 #define TrackerValueDesc_h
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 #include <fx.h>
33 #include <string>
34 #include <vector>
36 #include <utils/common/RGBColor.h>
37 #include <utils/common/SUMOTime.h>
39 
40 
41 // ===========================================================================
42 // class definitions
43 // ===========================================================================
51 class TrackerValueDesc : public ValueRetriever<SUMOReal> {
52 public:
54  TrackerValueDesc(const std::string& name, const RGBColor& col,
55  SUMOTime recordBegin);
56 
59 
61  SUMOReal getRange() const;
62 
64  SUMOReal getMin() const;
65 
67  SUMOReal getMax() const;
68 
70  SUMOReal getYCenter() const;
71 
73  const RGBColor& getColor() const;
74 
78  const std::vector<SUMOReal>& getValues();
79 
83  const std::vector<SUMOReal>& getAggregatedValues();
84 
86  const std::string& getName() const;
87 
89  void addValue(SUMOReal value);
90 
92  void unlockValues();
93 
96 
99 
101  SUMOTime getRecordingBegin() const;
102 
103 
104 private:
106  std::string myName;
107 
110 
113 
115  std::vector<SUMOReal> myValues;
116 
118  std::vector<SUMOReal> myAggregatedValues;
119 
122 
123  // Mutex to avoid parallel drawing and insertion of new items
125 
128 
131 
133  size_t myValidNo;
134 
137 
140 
141 };
142 
143 
144 #endif
145 
146 /****************************************************************************/
147 
SUMOReal myTmpLastAggValue
Temporary storage for the last aggregation interval.
SUMOReal getYCenter() const
Returns the center of the value.
TrackerValueDesc(const std::string &name, const RGBColor &col, SUMOTime recordBegin)
Constructor.
const std::vector< SUMOReal > & getValues()
returns the vector of collected values The values will be locked - no further addition will be perfom...
int myAggregationInterval
The aggregation interval in simulation steps.
void unlockValues()
Releases the locking after the values have been drawn.
Representation of a timeline of floats with their names and moments.
SUMOReal getMin() const
Returns the values minimum.
size_t myValidNo
Counter for valid numbers within the current aggregation interval.
const std::vector< SUMOReal > & getAggregatedValues()
returns the vector of aggregated values The values will be locked - no further addition will be perfo...
SUMOTime myRecordingBegin
The time step the values are added from.
SUMOReal getMax() const
Returns the values maximum.
SUMOReal getRange() const
returns the maximum value range
RGBColor myActiveCol
The color to use when the value is set as "active".
SUMOTime getRecordingBegin() const
Returns the timestep the recording started.
RGBColor myInactiveCol
The color to use when the value is set as "inactive".
std::vector< SUMOReal > myValues
Values collected.
SUMOTime getAggregationSpan() const
get the aggregation amount
std::vector< SUMOReal > myAggregatedValues
Collected values in their aggregated form.
int SUMOTime
Definition: SUMOTime.h:43
const std::string & getName() const
Returns the name of the value.
~TrackerValueDesc()
Destructor.
#define SUMOReal
Definition: config.h:218
SUMOReal myInvalidValue
Values like this shall not be counted on aggregation.
void addValue(SUMOReal value)
Adds a new value to the list.
SUMOReal myMin
The minimum and the maximum of the value.
std::string myName
The name of the value.
const RGBColor & getColor() const
Returns the color to use to display the value.
void setAggregationSpan(SUMOTime as)
set the aggregation amount