Skip to content

Commit bf7b9cb

Browse files
uwewoessnertobst
authored andcommitted
sc fixes
1 parent 3b89701 commit bf7b9cb

2 files changed

Lines changed: 40 additions & 31 deletions

File tree

src/OpenCOVER/plugins/general/Highscore/Highscore.cpp

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@
5252

5353
#include "Highscore.h"
5454

55-
void HSEntry::setStartTime(double t)
56-
{
57-
startTime = t;
58-
}
5955

6056
void HSEntry::setInterimTime(double t)
6157
{
@@ -65,17 +61,26 @@ void HSEntry::setInterimTime(double t)
6561
InterimLabel->setLabel(number);
6662
}
6763

68-
void HSEntry::setEndTime(double t)
64+
void HSEntry::setStartTime(double t)
6965
{
70-
endTime = t;
66+
startTime = t;
7167
char number[100];
7268
sprintf(number, "%03.3f", getLapTime());
7369
LapLabel->setLabel(number);
7470
}
7571

72+
void HSEntry::setFinishTime(double t)
73+
{
74+
finishTime = t;
75+
char number[100];
76+
sprintf(number, "%03.3f", getLapTime());
77+
LapLabel->setLabel(number);
78+
}
79+
80+
7681
double HSEntry::getLapTime()
7782
{
78-
return endTime - startTime;
83+
return finishTime - startTime;
7984
}
8085

8186
double HSEntry::getInterimTimeDiff()
@@ -101,17 +106,17 @@ void HSEntry::setPos(int p)
101106
InterimLabel->setPos((pos / 20) * 4 + 3, (pos % 20));
102107
}
103108

104-
void HSEntry::reset()
109+
void HSEntry::reset(double t)
105110
{
106-
startTime = 0;
107-
endTime = 0;
111+
startTime = t;
112+
finishTime = 0;
108113
interimTime = 0;
109114
}
110115

111116
HSEntry::HSEntry(Highscore *h)
112117
{
113118
startTime = 0;
114-
endTime = 0;
119+
finishTime = 0;
115120
interimTime = 0;
116121
hs = h;
117122
PosLabel = new coTUILabel("X", hs->HighscoreTab->getID());
@@ -132,8 +137,8 @@ void VrmlNodeHighscore::initFields(VrmlNodeHighscore *node, VrmlNodeType *t)
132137
{
133138
VrmlNodeChild::initFields(node, t); // Parent class
134139
initFieldsHelper(node, t,
135-
eventInCallBack<VrmlSFTime>("startTime", [node](auto fieldValue){
136-
Highscore::instance()->setStartTime(fieldValue->get());
140+
eventInCallBack<VrmlSFTime>("finishTime", [node](auto fieldValue){
141+
Highscore::instance()->setFinishTime(fieldValue->get());
137142
}),
138143
eventInCallBack<VrmlSFTime>("interimTime", [node](auto fieldValue){
139144
Highscore::instance()->setInterimTime(fieldValue->get());
@@ -180,9 +185,9 @@ void VrmlNodeHighscore::eventIn(double timeStamp,
180185
const char *eventName,
181186
const VrmlField *fieldValue)
182187
{
183-
if (strcmp(eventName, "startTime") == 0)
188+
if (strcmp(eventName, "finishTime") == 0)
184189
{
185-
Highscore::instance()->setStartTime(fieldValue->toSFTime()->get());
190+
Highscore::instance()->setFinishTime(fieldValue->toSFTime()->get());
186191
}
187192
else if (strcmp(eventName, "interimTime") == 0)
188193
{
@@ -268,11 +273,11 @@ Highscore::~Highscore()
268273
}
269274

270275
void
271-
Highscore::setStartTime(double t)
276+
Highscore::setFinishTime(double t)
272277
{
273278
if (passedInterim) // we finised a lap
274279
{
275-
currentEntry->setEndTime(t);
280+
currentEntry->setFinishTime(t);
276281
std::list<HSEntry *>::iterator hs;
277282
for (hs = hsEntries.begin(); hs != hsEntries.end(); ++hs)
278283
{
@@ -308,7 +313,7 @@ Highscore::setStartTime(double t)
308313
}
309314
save(); // save highscore table
310315
}
311-
currentEntry->setStartTime(t);
316+
currentEntry->setFinishTime(t);
312317
passedInterim = false;
313318
}
314319

@@ -319,10 +324,13 @@ Highscore::setInterimTime(double t)
319324
passedInterim = true;
320325
}
321326

327+
328+
322329
void
323-
Highscore::setResetTime(double)
330+
Highscore::setResetTime(double t)
324331
{
325-
currentEntry->reset();
332+
currentEntry->reset(t);
333+
fprintf(stderr, "Resetting Time to %f \n",t);
326334
passedInterim = false;
327335
}
328336

@@ -360,7 +368,7 @@ void Highscore::load()
360368
char *name = xercesc::XMLString::transcode(node->getAttribute(t1 = xercesc::XMLString::transcode("name"))); xercesc::XMLString::release(&t1);
361369
char *startTime = xercesc::XMLString::transcode(node->getAttribute(t1 = xercesc::XMLString::transcode("startTime"))); xercesc::XMLString::release(&t1);
362370
char *interimTime = xercesc::XMLString::transcode(node->getAttribute(t1 = xercesc::XMLString::transcode("interimTime"))); xercesc::XMLString::release(&t1);
363-
char *endTime = xercesc::XMLString::transcode(node->getAttribute(t1 = xercesc::XMLString::transcode("endTime"))); xercesc::XMLString::release(&t1);
371+
char *finishTime = xercesc::XMLString::transcode(node->getAttribute(t1 = xercesc::XMLString::transcode("finishTime"))); xercesc::XMLString::release(&t1);
364372
HSEntry *he = new HSEntry(this);
365373
double d;
366374
int posi;
@@ -372,14 +380,14 @@ void Highscore::load()
372380
he->setStartTime(d);
373381
sscanf(interimTime, "%lf", &d);
374382
he->setInterimTime(d);
375-
sscanf(endTime, "%lf", &d);
376-
he->setEndTime(d);
383+
sscanf(finishTime, "%lf", &d);
384+
he->setFinishTime(d);
377385
hsEntries.push_back(he);
378386
xercesc::XMLString::release(&pos);
379387
xercesc::XMLString::release(&name);
380388
xercesc::XMLString::release(&startTime);
381389
xercesc::XMLString::release(&interimTime);
382-
xercesc::XMLString::release(&endTime);
390+
xercesc::XMLString::release(&finishTime);
383391
}
384392
}
385393
}
@@ -404,8 +412,8 @@ void Highscore::save()
404412
hsElement->setAttribute(t1 = xercesc::XMLString::transcode("startTime"), t2 = xercesc::XMLString::transcode(number)); xercesc::XMLString::release(&t1); xercesc::XMLString::release(&t2);
405413
sprintf(number, "%lf", (*hs)->getInterimTime());
406414
hsElement->setAttribute(t1 = xercesc::XMLString::transcode("interimTime"), t2 = xercesc::XMLString::transcode(number)); xercesc::XMLString::release(&t1); xercesc::XMLString::release(&t2);
407-
sprintf(number, "%lf", (*hs)->getEndTime());
408-
hsElement->setAttribute(t1 = xercesc::XMLString::transcode("endTime"), t2 = xercesc::XMLString::transcode(number)); xercesc::XMLString::release(&t1); xercesc::XMLString::release(&t2);
415+
sprintf(number, "%lf", (*hs)->getFinishTime());
416+
hsElement->setAttribute(t1 = xercesc::XMLString::transcode("finishTime"), t2 = xercesc::XMLString::transcode(number)); xercesc::XMLString::release(&t1); xercesc::XMLString::release(&t2);
409417
rootElement->appendChild(hsElement);
410418
}
411419

src/OpenCOVER/plugins/general/Highscore/Highscore.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class HSEntry
5959
~HSEntry();
6060
void setStartTime(double t);
6161
void setInterimTime(double t);
62-
void setEndTime(double t);
62+
void setFinishTime(double t);
6363
double getLapTime();
6464
double getInterimTimeDiff();
6565
int getPos()
@@ -70,9 +70,9 @@ class HSEntry
7070
{
7171
return startTime;
7272
}
73-
double getEndTime()
73+
double getFinishTime()
7474
{
75-
return endTime;
75+
return finishTime;
7676
}
7777
double getInterimTime()
7878
{
@@ -84,10 +84,11 @@ class HSEntry
8484
}
8585
void setName(std::string &n);
8686
void setPos(int p);
87-
void reset();
87+
void reset(double t);
8888

8989
private:
9090
double startTime;
91+
double finishTime;
9192
double interimTime;
9293
double endTime;
9394
std::string name;
@@ -115,7 +116,7 @@ class Highscore : public coVRPlugin, public coTUIListener
115116
void tabletPressEvent(coTUIElement *);
116117
void tabletEvent(coTUIElement *);
117118

118-
void setStartTime(double time);
119+
void setFinishTime(double time);
119120
void setInterimTime(double time);
120121
void setResetTime(double time);
121122
bool passedInterim;

0 commit comments

Comments
 (0)