Changeset 124 for XMLIO_V2/dev/dev_rv/src/XMLIO/abstract_data_treatment.hpp
- Timestamp:
- 10/01/10 11:32:41 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/abstract_data_treatment.hpp
r123 r124 11 11 { return (currentContext); } 12 12 13 const std::vector<CFile*> getEnabledFiles(void) const13 const std::vector<CFile*>& getEnabledFiles(void) const 14 14 { return (enabledFiles); } 15 15 … … 22 22 void printEnabledFilesId(std::ostream& out = std::clog) const 23 23 { 24 out << "Liste des fichiers à sortir dans le contexte analysé nommé \"" << currentContext->getId() << "\"" << std::endl; 25 std::vector<std::string> __vect; getEnabledFilesId(__vect); 24 out << "Liste des fichiers à sortir dans le contexte analysé nommé \"" 25 << currentContext->getId() << "\"" << std::endl; 26 27 std::vector<std::string> __vect; 28 this->getEnabledFilesId(__vect); 29 26 30 for (unsigned int i = 0; i < __vect.size(); i++) 27 31 out << __vect[i] << "|"; 28 32 out << "fin" << std::endl; 29 33 } 34 35 template <class T> 36 bool writeData(const std::string& id, const T& arr) 37 { 38 const CField* const field_entry = CField::GetObject(id); 39 const vector<CField*>& vectRef = field_entry->getVectRefObject(); 40 41 std::vector<CField*>::const_iterator it; 42 for (it = vectRef.begin(); it != vectRef.end(); it++ ) 43 { 44 if ((*it)->isStorable(currentContext->getCalendar()->getCurrentDate())) 45 { // Stockage des données dans l'instance CField si nécessaire. 46 Array<double, 1> data_uni; 47 (*it)->getGrid()->storeField(arr, data_uni); 48 (*it)->storeData(data_uni, currentContext->getCalendar()->getCurrentDate()); 49 } 50 } 51 52 return (false); 53 } 54 virtual void createDataOutput(void) = 0; 30 55 31 56 virtual ~AbstractDataTreatment() … … 34 59 protected : 35 60 36 AbstractDataTreatment(Context* const _ctxt ) : currentContext(_ctxt), enabledFiles()61 AbstractDataTreatment(Context* const _ctxt, const AbstractCalendar& cal) : enabledFiles(), currentContext(_ctxt) 37 62 { 38 63 //std::cout << "(Message temporaire) Résolution des héritages ..." << std::endl; … … 46 71 // Recherche des champs à sortir (enable à true + niveau de sortie correct) pour chaque fichier précédemment listé. 47 72 //std::cout << "(Message temporaire) Recherche des champs à sortir ..." << std::endl; 48 findAllEnabledFields( );73 findAllEnabledFields(cal.getInitDate()); 49 74 50 75 // Résolution des références de grilles pour chacun des champs. … … 55 80 } 56 81 82 std::vector<CFile*> enabledFiles; // Liste des fichiers à créer dans un context donné. 83 57 84 private : 58 85 59 void findAllEnabledFields( void)// <- ajouter attribut par défault ici.86 void findAllEnabledFields(const Date& iniDate)// <- ajouter attribut par défault ici. 60 87 { 61 88 for (unsigned int i = 0; i < enabledFiles.size(); i++) 62 enabledFiles[i]->findEnabledFields( );89 enabledFiles[i]->findEnabledFields(iniDate); 63 90 } 64 91 … … 82 109 { 83 110 const std::vector<CFile*>& allFiles = CFile::GetCurrentListObject().getVector(); 111 84 112 for (unsigned int i = 0; i < allFiles.size(); i++) 85 113 if (allFiles[i]->enabled.hasValue()) // Si l'attribut 'enabled' est défini. 86 114 if ((bool)allFiles[i]->enabled) // Si l'attribut 'enabled' est fixé à vrai. 87 115 enabledFiles.push_back ( allFiles[i] ); 116 88 117 if (enabledFiles.size() == 0) 89 118 WARNING("Aucun fichier ne va être sorti dans le contexte nommé \"" + currentContext->getId() + "\" !"); … … 91 120 92 121 Context* const currentContext; 93 std::vector<CFile*> enabledFiles; // Liste des fichiers à créer dans un context donné.94 122 95 123 }; //class AbstractDataTreatment
Note: See TracChangeset
for help on using the changeset viewer.