ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/optimisation/src/mgopt_parametre.cpp
Revision: 253
Committed: Tue Jul 13 19:40:46 2010 UTC (15 years, 1 month ago) by francois
File size: 2037 byte(s)
Log Message:
changement de hiearchie et utilisation de ccmake + mise a jour

File Contents

# Content
1 #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 aide_param.insert(aide_param.end(),aide_param[i]);
30 }
31 }
32
33
34 MGOPT_PARAMETRE::~MGOPT_PARAMETRE()
35 {
36 }
37
38
39 void MGOPT_PARAMETRE::ajouter(std::string chaine,double valeur,std::string aide)
40 {
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 aide_param.insert(aide_param.end(),aide);
46 }
47
48 void MGOPT_PARAMETRE::ajouter(std::string chaine,std::string valeurstring,std::string aide)
49 {
50 nom_param.insert(nom_param.end(),chaine);
51 valeur_param.insert(valeur_param.end(),valeurstring);
52 aide_param.insert(aide_param.end(),aide);
53 }
54
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 fprintf(in,"%s = %s //%s\n",nom_param[i].c_str(),valeur_param[i].c_str(),aide_param[i].c_str());
61 fclose(in);
62 }
63
64 void MGOPT_PARAMETRE::lire(char *nom)
65 {
66 FILE* in=fopen(nom,"rt");
67 while (!feof(in))
68 {
69 char chaine[4000];
70 fgets(chaine,4000,in);
71 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