source: PSPA/Interface_Web/trunk/pspaWT/sources/controler/src/elementFit.cc @ 418

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

definition des compatibilites des elements dans les software

File size: 3.7 KB
Line 
1#include "elementFit.h"
2#include "mixedTools.h"
3
4elementFit::elementFit() : abstractElement()
5{
6    setDefaultValues();
7    setDefaults();
8    elementName_ = nomdElements("fit");
9    nbParam_ = elementName_.getElementNbParameters();
10    parametersString_ = new string[nbParam_+1];
11    // transportOk_ = true;
12    // parmelaIgnored_ = true;
13    // registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk);
14    // registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolIgnore);
15}
16
17void elementFit::setDefaultValues()
18{
19    defaultSpecificName_ = "fit";
20    variableNameDef_ = "";
21    variableValueDef_ = 0.0;
22    toleranceDef_ = 0.0;
23}
24
25void elementFit::setDefaults()
26{
27    specificName_ = defaultSpecificName_;
28    variableName_ = variableNameDef_;
29    variableValue_ = variableValueDef_;
30    tolerance_ = toleranceDef_;
31}
32
33
34
35string* elementFit::getParametersString() const
36{
37    int compteur = -1;
38    parametersString_[++compteur] = mixedTools::intToString(nbParam_);
39    parametersString_[++compteur] = specificName_;
40    parametersString_[++compteur] = variableName_;
41    parametersString_[++compteur] = mixedTools::doubleToString(variableValue_ );
42    parametersString_[++compteur] = mixedTools::doubleToString(tolerance_);
43    if ( compteur != nbParam_ ) {
44        cerr << " elementFit::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
45        return NULL;
46    }
47    return parametersString_;
48}
49
50void elementFit::setParametersString(string* param)
51{
52    if ( param == NULL )
53    {
54        cerr << "  elementFit::setParametersString parameters empty parameter set";
55        return;
56    }
57    int compteur = -1;
58    int nbparam = atoi(param[++compteur].c_str());
59    if ( nbparam != nbParam_ )
60    {
61        cerr << "  elementFit::setParametersString parameters do not match for a BEND" << endl;
62        return;
63    }
64   
65    specificName_ = param[++compteur];
66    variableName_ = param[++compteur];
67    variableValue_ = atof(param[++compteur].c_str());
68    tolerance_ = atof(param[++compteur].c_str());
69}
70
71
72// string elementFit::parmelaOutputFlow() const
73// {
74//     ostringstream sortie;
75//     return sortie.str();
76// }
77
78// string elementFit::transportOutputFlow() const
79// {
80//     ostringstream sortie;
81//     sortie << specificName_ << ":" << "  FIT," << variableName_ << " = " << variableValue_ << ", TOLER = " << tolerance_ << " ;" << endl;
82//     if ( variableName_ == "R11" || variableName_ == "R22" || variableName_ == "R12" || variableName_ == "R21" ) {
83//         sortie << " PRINT, TRANS;" << endl;
84//     }
85//     return sortie.str();
86// }
87
88string elementFit::FileOutputFlow() const
89{
90    ostringstream sortie;
91    //    sortie << elementName_.getElementType() << endl;
92    sortie << elementName_.getGenericLabel() << endl;
93    sortie  << specificName_ << endl;
94    sortie  <<    variableName_ << " " << variableValue_ << " " << tolerance_ << endl;
95    return sortie.str();
96}
97
98vector< pair<string, vector<string> > > elementFit::parametersToSoftware () const {
99  vector< pair<string, vector<string> > >  sortie;
100  sortie.push_back( pair<string, vector<string> >("labelsGenericSpecific",  vector<string>() ) );
101  sortie.back().second.push_back(elementName_.getGenericLabel());
102  sortie.back().second.push_back(specificName_);
103  sortie.push_back( pair<string, vector<string> >("variable",  vector<string>() ) );
104  sortie.back().second.push_back(variableName_);
105  sortie.back().second.push_back(mixedTools::doubleToString(variableValue_));
106  sortie.back().second.push_back(mixedTools::doubleToString(tolerance_));
107  return sortie;
108}
109
110
111void elementFit::FileInput(ifstream& ifs)
112{
113    ifs >> specificName_;
114    ifs  >>  variableName_ >>  variableValue_   >> tolerance_;
115}
116
117
118string elementFit::print() {
119    string txt = "";
120 
121    txt += specificName_;
122    return txt;
123}
Note: See TracBrowser for help on using the repository browser.