Пример #1
0
    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";
            }
          }
        }
      }

    }
Пример #2
0
    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";
          }
        }
      }
    }