Select Git revision
EinsteinS5R3Adapter.cpp
Forked from
einsteinathome / graphicsframework
247 commits behind the upstream repository.
-
Oliver Bock authored
* Now there's a generic and science application specific (e.g. shared memory handling) part * The actual shared memory indentifier now has to be passed during initialize() instead of being hard-coded * All this might eventually allow us to incorporate some portions of this API into something more general like a generic graphics toolkit
Oliver Bock authored* Now there's a generic and science application specific (e.g. shared memory handling) part * The actual shared memory indentifier now has to be passed during initialize() instead of being hard-coded * All this might eventually allow us to incorporate some portions of this API into something more general like a generic graphics toolkit
EinsteinS5R3Adapter.cpp 1.38 KiB
#include "EinsteinS5R3Adapter.h"
EinsteinS5R3Adapter::EinsteinS5R3Adapter(BOINCClientAdapter *boincClient)
{
this->boincClient = boincClient;
m_WUSkyPosRightAscension = 0.0;
m_WUSkyPosDeclination = 0.0;
m_WUFractionDone = 0.0;
m_WUCPUTime = 0.0;
}
EinsteinS5R3Adapter::~EinsteinS5R3Adapter()
{
}
void EinsteinS5R3Adapter::refresh()
{
boincClient->refresh();
parseApplicationInformation();
}
void EinsteinS5R3Adapter::parseApplicationInformation()
{
// get updated application information
string info = boincClient->applicationInformation();
// do we have any data?
if(info.length() > 0) {
// parse data into members
if(4 != sscanf(info.c_str(),
"<graphics_info>\n"
" <skypos_rac>%lf</skypos_rac>\n"
" <skypos_dec>%lf</skypos_dec>\n"
" <fraction_done>%lf</fraction_done>\n"
" <cpu_time>%lf</cpu_time>\n",
&m_WUSkyPosRightAscension,
&m_WUSkyPosDeclination,
&m_WUFractionDone,
&m_WUCPUTime))
{
cerr << "Incompatible shared memory data encountered!" << endl;
}
}
}
double EinsteinS5R3Adapter::wuSkyPosRightAscension() const
{
return m_WUSkyPosRightAscension;
}
double EinsteinS5R3Adapter::wuSkyPosDeclination() const
{
return m_WUSkyPosDeclination;
}
double EinsteinS5R3Adapter::wuFractionDone() const
{
return m_WUFractionDone;
}
double EinsteinS5R3Adapter::wuCPUTime() const
{
return m_WUCPUTime;
}