45 #ifdef CHECK_MEMORY_LEAKS
47 #endif // CHECK_MEMORY_LEAKS
60 :
MSE2Collector(id, usage, lane, startPos, detLength, haltingTimeThreshold,
61 haltingSpeedThreshold, jamDistThreshold) {}
80 myDetector(detector) {
82 Line l(v.front(), v.back());
88 int e = (
int) myFullGeometry.size() - 1;
89 for (
int i = 0; i < e; ++i) {
90 const Position& f = myFullGeometry[i];
91 const Position& s = myFullGeometry[i + 1];
118 ret->
mkItem(
"length [m]",
false, myDetector.getEndPos() - myDetector.getStartPos());
119 ret->
mkItem(
"position [m]",
false, myDetector.getStartPos());
120 ret->
mkItem(
"lane",
false, myDetector.getLane()->getID());
122 ret->
mkItem(
"vehicles [#]",
true,
124 ret->
mkItem(
"occupancy [%]",
true,
126 ret->
mkItem(
"mean speed [m/s]",
true,
128 ret->
mkItem(
"mean vehicle length [m]",
true,
130 ret->
mkItem(
"jam number [#]",
true,
132 ret->
mkItem(
"max jam length [veh]",
true,
134 ret->
mkItem(
"max jam length [m]",
true,
136 ret->
mkItem(
"jam length sum [veh]",
true,
138 ret->
mkItem(
"jam length sum [m]",
true,
140 ret->
mkItem(
"started halts [#]",
true,
150 glPushName(getGlID());
152 glTranslated(0, 0, getType());
165 int e = (
int) myFullGeometry.size() - 1;
166 for (
int i = 0; i < e; ++i) {
171 drawName(getCenteringBoundary().getCenter(), s.
scale, s.
addName);