void appendToDataFiles() { if (!m_OKToGo) return; openfluid::core::SpatialUnit* UU; // write data files for (std::list<KmlSerieInfo>::iterator it=m_KmlSeriesInfos.begin();it!=m_KmlSeriesInfos.end();++it) { for (std::map<openfluid::core::UnitID_t,KmlUnitInfoExtra>::iterator it2=(*it).UnitsInfos.begin(); it2!=(*it).UnitsInfos.end(); ++it2) { if ((*it2).second.IsPlotted) { UU = OPENFLUID_GetUnit((*it).UnitsClass,(*it2).second.UnitID); if (UU != nullptr) { (*((*it2).second.DataFile)) << OPENFLUID_GetCurrentDate().getAsString("%Y%m%d-%H%M%S"); for (std::vector<openfluid::core::VariableName_t>::iterator it3 = (*it).VarsList.begin(); it3 != (*it).VarsList.end(); ++it3) { if (OPENFLUID_IsVariableExist(UU,*it3,OPENFLUID_GetCurrentTimeIndex(),openfluid::core::Value::DOUBLE)) { double Val; OPENFLUID_GetVariable(UU,*it3,OPENFLUID_GetCurrentTimeIndex(),Val); (*((*it2).second.DataFile)) << ";" << Val; } } (*((*it2).second.DataFile)) << "\n"; } else { (*((*it2).second.DataFile)) << OPENFLUID_GetCurrentDate().getAsString("%Y%m%d-%H%M%S") << ";n/a\n"; } } } } }
void WriteDataToFiles() { std::map<std::string, SerieInfo>::iterator Sit; std::map<std::string, SerieInfo>::iterator Sitb = m_Series.begin(); std::map<std::string, SerieInfo>::iterator Site = m_Series.end(); for (Sit = Sitb; Sit != Site; ++Sit) { if ((*Sit).second.Type == SerieInfo::SERIE_VAR) { openfluid::core::Value* Val = (*Sit).second.Unit->variables()->currentValueIfIndex((*Sit).second.VarName, OPENFLUID_GetCurrentTimeIndex()); if (Val!= NULL) { *((*Sit).second.FileHandle) << OPENFLUID_GetCurrentDate().getAsString("%Y-%m-%dT%H:%M:%S"); *((*Sit).second.FileHandle) << " "; if (Val->isSimple() && !Val->isStringValue()) Val->writeToStream(*((*Sit).second.FileHandle)); else *((*Sit).second.FileHandle) << "NaN"; *((*Sit).second.FileHandle) << "\n"; } } } }