ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/optimisation/src/mgopt_parametre.cpp
Revision: 239
Committed: Sat Mar 13 00:19:11 2010 UTC (15 years, 2 months ago) by francois
Original Path: magic/lib/optimisation/optimisation/src/mgopt_parametre.cpp
File size: 1831 byte(s)
Log Message:
Optimisation de topologie integre generique. Version SIMP implemente.
optimisation de code apparu.

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     }
30     }
31    
32    
33     MGOPT_PARAMETRE::~MGOPT_PARAMETRE()
34     {
35     }
36    
37    
38     void MGOPT_PARAMETRE::ajouter(std::string chaine,double valeur)
39     {
40     nom_param.insert(nom_param.end(),chaine);
41     char mess[255];
42     sprintf(mess,"%lf",valeur);
43     valeur_param.insert(valeur_param.end(),mess);
44     }
45    
46     void MGOPT_PARAMETRE::ajouter(std::string chaine,std::string valeurstring)
47     {
48     nom_param.insert(nom_param.end(),chaine);
49     valeur_param.insert(valeur_param.end(),valeurstring);}
50    
51     void MGOPT_PARAMETRE::enregistrer(char *nom)
52     {
53     FILE* in=fopen(nom,"wt");
54     int taille=nom_param.size();
55     for (int i=0;i<taille;i++)
56     fprintf(in,"%s = %s\n",nom_param[i].c_str(),valeur_param[i].c_str());
57     fclose(in);
58     }
59    
60     void MGOPT_PARAMETRE::lire(char *nom)
61     {
62     FILE* in=fopen(nom,"rt");
63     while (!feof(in))
64     {
65     char chaine[300];
66     fgets(chaine,300,in);
67     char nom[255],c;
68     char nom2[255];
69     sscanf(chaine,"%s %c %s",nom,&c,nom2);
70     ajouter(nom,nom2);
71     }
72     fclose(in);
73     }
74    
75    
76    
77     double MGOPT_PARAMETRE::get_valeur(std::string chaine)
78     {
79     int taille=nom_param.size();
80     for (int i=0;i<taille;i++)
81     {
82     std::string valtmp=nom_param[i];
83     if (valtmp==chaine)
84     {
85     double val;
86     sscanf(valeur_param[i].c_str(),"%lf",&val);
87     return val;
88     }
89    
90     }
91     return 0.;
92     }
93    
94     std::string MGOPT_PARAMETRE::get_nom(std::string chaine)
95     {
96     int taille=nom_param.size();
97     for (int i=0;i<taille;i++)
98     {
99     std::string valtmp=nom_param[i];
100     if (valtmp==chaine)
101     {
102     return valeur_param[i];
103     }
104    
105     }
106     return "";
107     }
108    
109     void MGOPT_PARAMETRE::vide(void)
110     {
111     nom_param.clear();
112     valeur_param.clear();
113     }
114