ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/optimisation/src/mgopt_parametre.cpp
Revision: 243
Committed: Wed Mar 24 13:37:21 2010 UTC (15 years, 1 month ago) by francois
Original Path: magic/lib/optimisation/optimisation/src/mgopt_parametre.cpp
File size: 2037 byte(s)
Log Message:
Parametrage lissage plus correction bug lissage plus optimisation de code dans la creation des maillages FEM

File Contents

# User Rev Content
1 francois 239 #include "gestionversion.h"
2     #include "mgopt_parametre.h"
3     #include "tpl_octree.h"
4    
5    
6    
7    
8    
9    
10    
11    
12    
13    
14    
15    
16    
17    
18     MGOPT_PARAMETRE::MGOPT_PARAMETRE()
19     {
20     }
21    
22     MGOPT_PARAMETRE::MGOPT_PARAMETRE(MGOPT_PARAMETRE &mdd)
23     {
24     int taille=nom_param.size();
25     for (int i=0;i<taille;i++)
26     {
27     nom_param.insert(nom_param.end(),mdd.nom_param[i]);
28     valeur_param.insert(valeur_param.end(),mdd.valeur_param[i]);
29 francois 243 aide_param.insert(aide_param.end(),aide_param[i]);
30 francois 239 }
31     }
32    
33    
34     MGOPT_PARAMETRE::~MGOPT_PARAMETRE()
35     {
36     }
37    
38    
39 francois 243 void MGOPT_PARAMETRE::ajouter(std::string chaine,double valeur,std::string aide)
40 francois 239 {
41     nom_param.insert(nom_param.end(),chaine);
42     char mess[255];
43     sprintf(mess,"%lf",valeur);
44     valeur_param.insert(valeur_param.end(),mess);
45 francois 243 aide_param.insert(aide_param.end(),aide);
46 francois 239 }
47    
48 francois 243 void MGOPT_PARAMETRE::ajouter(std::string chaine,std::string valeurstring,std::string aide)
49 francois 239 {
50     nom_param.insert(nom_param.end(),chaine);
51 francois 243 valeur_param.insert(valeur_param.end(),valeurstring);
52     aide_param.insert(aide_param.end(),aide);
53     }
54 francois 239
55     void MGOPT_PARAMETRE::enregistrer(char *nom)
56     {
57     FILE* in=fopen(nom,"wt");
58     int taille=nom_param.size();
59     for (int i=0;i<taille;i++)
60 francois 243 fprintf(in,"%s = %s //%s\n",nom_param[i].c_str(),valeur_param[i].c_str(),aide_param[i].c_str());
61 francois 239 fclose(in);
62     }
63    
64     void MGOPT_PARAMETRE::lire(char *nom)
65     {
66     FILE* in=fopen(nom,"rt");
67     while (!feof(in))
68     {
69 francois 243 char chaine[4000];
70     fgets(chaine,4000,in);
71 francois 239 char nom[255],c;
72     char nom2[255];
73     sscanf(chaine,"%s %c %s",nom,&c,nom2);
74     ajouter(nom,nom2);
75     }
76     fclose(in);
77     }
78    
79    
80    
81     double MGOPT_PARAMETRE::get_valeur(std::string chaine)
82     {
83     int taille=nom_param.size();
84     for (int i=0;i<taille;i++)
85     {
86     std::string valtmp=nom_param[i];
87     if (valtmp==chaine)
88     {
89     double val;
90     sscanf(valeur_param[i].c_str(),"%lf",&val);
91     return val;
92     }
93    
94     }
95     return 0.;
96     }
97    
98     std::string MGOPT_PARAMETRE::get_nom(std::string chaine)
99     {
100     int taille=nom_param.size();
101     for (int i=0;i<taille;i++)
102     {
103     std::string valtmp=nom_param[i];
104     if (valtmp==chaine)
105     {
106     return valeur_param[i];
107     }
108    
109     }
110     return "";
111     }
112    
113     void MGOPT_PARAMETRE::vide(void)
114     {
115     nom_param.clear();
116     valeur_param.clear();
117     }
118