void build_mangeld_field_name(const Field_Id & id, Nom & name) { name = id.uname_.build_string(); name += "_"; name += Nom(id.timestep_); name += "_"; name += Nom(id.block_); name.majuscule(); }
void build_mangeld_domain_name(const Domain_Id & id, Nom & name) { name = id.name_; name += "_"; name += Nom(id.timestep_); name += "_"; name += Nom(id.block_); name.majuscule(); }
Nom LataOptions::read_string_opt(const Nom & s) { const char *ptr = strstr(s, "="); if (!ptr) return s; else return Nom(ptr+1); }
void LataOptions::extract_path_basename(const char * s, Nom & path_prefix, Nom & basename) { int i; for (i=strlen(s)-1;i>=0;i--) if ((s[i]==PATH_SEPARATOR) ||(s[i]=='\\')) break; path_prefix = ""; int j; for (j = 0; j <= i; j++) path_prefix += Nom(s[j]); // Parse basename : if extension given, remove it int n = strlen(s); if (n > 5 && strcmp(s+n-5,".lata") == 0) n -= 5; basename = ""; for (j = i+1; j < n; j++) basename += Nom(s[j]); // Journal(9)<<" prefix "<<path_prefix<< " "<<i<<endl; }
void split_path_filename(const char *s, Nom & path, Nom & filename) { int i; for (i=strlen(s)-1;i>=0;i--) if ((s[i]==PATH_SEPARATOR) || (s[i]=='\\')) break; path = ""; int j; for (j = 0; j <= i; j++) path += Nom(s[j]); // Parse basename : if extension given, remove it filename = s+i+1; }
Noms extract_list(const Nom & n) { Noms liste; if (n == "") return liste; const char *ptr = n; Nom tmp(""); while (*ptr) { if (*ptr == ',') { liste.add(tmp); tmp = ""; } else { tmp += Nom(*ptr); } } liste.add(tmp); return liste; }
/*! @par Etat Test codé en dur */ void Charger(const Base::Chaine& _nom) { if (_nom == "TestDemonstration") { /// 1. Construction d'un univers Base::Traceur::MessageInterne("construction de Univers...") ; Base::Association<Objet> univers = Ajouter(new Objet(Nom("Univers"))) ; /// ses facettes univers->Ajouter(new Univers()) ; univers->Ajouter(new Positionne()) ; Base::Traceur::MessageInterne("construction de Univers terminée") ; /// 1.4 Une galaxie /// 1.5 Un système stellaire Base::Traceur::MessageInterne("construction d'un système...") ; Base::Association<Objet> systeme = univers->Ajouter(new Objet(Nom("Systeme#1"))) ; systeme->Ajouter(new Positionne(Position())) ; systeme->Ajouter(new SystemeStellaire()) ; Base::Traceur::MessageInterne("construction d'un système terminée") ; /// 2. Ajout d'objets planetes Base::Traceur::MessageInterne("construction d'une planete...") ; Base::Association<Objet> planete1 = systeme->Ajouter(new Objet(Nom("Planete#1"))) ; planete1->Ajouter(new Positionne(Position())) ; Base::Traceur::MessageInterne("construction d'une planete terminée") ; /// Ajouter(new Solide(planete1, /// 3. Ajout d'un vaisseau Base::Traceur::MessageInterne("construction d'un vaisseau...") ; Base::Association<Objet> vaisseau = systeme->Ajouter(new Objet(Nom("Vaisseau"))) ; vaisseau->Ajouter(new Positionne(Position(Distance(Distance::_Metre, 0), Distance(Distance::_Metre, 0), Distance(Distance::_Metre, 0)) )) ; vaisseau->Ajouter(new Solide(Modele3D("razor.mesh"))) ; Base::Traceur::MessageInterne("construction d'un vaisseau terminée") ; /// 4. Ajout d'un observateur Base::Traceur::MessageInterne("construction d'un observateur...") ; Base::Association<Objet> observateur = systeme->Ajouter(new Objet(Nom("Observateur"))) ; observateur->Ajouter(new Positionne(Position(Distance(Distance::_Metre, 0), Distance(Distance::_Metre, 0), Distance(Distance::_Metre, 500000)) )) ; /// Il a la faculté d'observer observateur->Ajouter(new Observateur()) ; Base::Traceur::MessageInterne("construction d'un observateur terminée") ; } }