source: PSPA/Interface_Web/trunk/pspaWT/src/nomdElements.cc @ 229

Last change on this file since 229 was 229, checked in by lemeur, 11 years ago

labels et dessins

File size: 3.9 KB
Line 
1
2#include <iostream>
3#include <cstring>
4#include "nomdElements.h"
5
6typedElement nomdElements::fromImage(std::string s)
7{
8  if( strstr(s.c_str(),"beam") ) return beam;
9  else if( strstr(s.c_str(),"rfgun") ) return RFgun;
10  else if( strstr(s.c_str(),"drift") ) return drift;
11  else if( strstr(s.c_str(),"cell") )  return cell;
12  else if( strstr(s.c_str(),"bend") ) return bend;
13  else if( strstr(s.c_str(),"lens") ) return soleno;
14  else if( strstr(s.c_str(),"fit") ) return fit;
15  return inconnu;
16}
17
18typedElement nomdElements::fromLabel(std::string s)
19{
20  if( s == "beam" ) return beam;
21  else if( s == "rfgun" ) return RFgun;
22  else if( s == "drift" ) return drift;
23  else if( s == "cell" )  return cell;
24  else if( s == "bend" ) return bend;
25  else if( s == "solnd" ) return soleno; 
26  else if( s == "fit" ) return fit; 
27  return inconnu;
28}
29
30
31
32std::string nomdElements::toName(typedElement eType)
33{
34  switch(eType) {
35  case beam : return "BEAM"; break;
36  case RFgun : return "RF GUN"; break;
37  case drift : return "DRIFT"; break;
38  case cell : return "CELL"; break;
39  case bend : return "BENDING MAGNET"; break;
40  case soleno : return "SOLENOID"; break;
41  case fit : return "FIT"; break;
42  default : return "UNKNOWN";
43  }
44}
45
46std::string nomdElements::toImage(typedElement eType)
47{
48  switch(eType) {
49  case beam : return string("icons/beam.jpg"); break;
50  case RFgun : return string("icons/rfgun.jpg"); break;
51  case drift : return string("icons/drift.jpg"); break;
52  case cell : return string("icons/cell.jpg"); break;
53  case bend : return string("icons/bend.jpg"); break;
54  case soleno :  return string("icons/lens.jpg"); break;
55  case fit :  return string("icons/fit.jpg"); break;
56  default : return string("");
57  }
58}
59
60std::string nomdElements::toLabel(typedElement eType)
61{
62  switch(eType) {
63  case beam : return "beam";
64  case RFgun : return "rfgun";
65  case drift :  return "drift";
66  case cell :  return "cell";
67  case bend :  return "bend";
68  case soleno :   return "solnd";
69  case fit :   return "fit";
70  default : return string("");
71  }
72}
73
74unsigned nomdElements::toNbParam(typedElement eType)
75{
76  switch(eType) {
77  case beam : return 8;
78  case RFgun : return 7;
79  case drift :  return 3;
80  case cell :  return 10;
81  case bend :  return 7;
82  case soleno :   return 5;
83  case fit :   return 4;
84  default : return 0;
85  }
86}
87
88
89nomdElements::nomdElements() 
90{
91  e_= fromImage("");
92  eName_ = toName(e_);
93  eImg_ = toImage(e_);
94  eLabel_ = toLabel(e_);
95  nbParam_ = toNbParam(e_);
96}
97
98nomdElements::nomdElements(nomdElements& ne)
99{
100  e_= ne.e_;
101  eName_ = ne.eName_;
102  eImg_ = ne.eImg_;
103  eLabel_ = ne.eLabel_;
104  nbParam_ = ne.nbParam_;
105}
106
107nomdElements::nomdElements(const nomdElements& ne)
108{
109  e_= ne.e_;
110  eName_ = ne.eName_;
111  eImg_ = ne.eImg_;
112  eLabel_ = ne.eLabel_;
113  nbParam_ = ne.nbParam_;
114}
115 
116
117nomdElements::nomdElements(const std::string& s) 
118{
119  e_= fromImage(s);
120  eName_ = toName(e_);
121  eImg_ = toImage(e_);
122  eLabel_ = toLabel(e_);
123  nbParam_ = toNbParam(e_);
124}
125
126nomdElements::nomdElements(typedElement& eType) 
127{
128  e_= eType;
129  eName_ = toName(e_);
130  eImg_ = toImage(e_);
131  eLabel_ = toLabel(e_);
132  nbParam_ = toNbParam(e_);
133}
134
135int nomdElements::getNumberOfElements() {
136  return inconnu;
137}
138
139std::string nomdElements::getImageFromType( typedElement tp)
140{
141  return toImage(tp);
142}
143
144std::string nomdElements::getLabelFromType(typedElement tp)
145{
146  return toLabel(tp);
147}
148
149typedElement nomdElements::getTypeFromLabel(std::string lb)
150{
151  return fromLabel(lb);
152}
153
154
155typedElement nomdElements::getElementType() const {
156  return e_;
157}
158
159std::string nomdElements::getElementName() const {
160  return eName_;
161}
162
163std::string nomdElements::getElementImage() const {
164  return eImg_;
165}
166
167std::string nomdElements::getElementLabel() const
168{
169  return eLabel_;
170}
171
172unsigned nomdElements::getElementNbParameters() const
173{
174  return nbParam_;
175}
176
177
178
179// operators
180 
181nomdElements& nomdElements::operator= (const nomdElements& ne)
182{
183  e_= ne.e_;
184  eName_ = ne.eName_;
185  eImg_ = ne.eImg_;
186  eLabel_ = ne.eLabel_;
187  nbParam_ = ne.nbParam_;
188  return *this;
189}
Note: See TracBrowser for help on using the repository browser.