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

Last change on this file since 288 was 288, checked in by garnier, 11 years ago

ajout de tooltip et nettoyage de code

File size: 3.1 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}
14
15void elementFit::setDefaultValues()
16{
17    defaultLabel_ = "fit";
18    variableNameDef_ = "";
19    variableValueDef_ = 0.0;
20    toleranceDef_ = 0.0;
21}
22
23void elementFit::setDefaults()
24{
25    label_ = defaultLabel_;
26    variableName_ = variableNameDef_;
27    variableValue_ = variableValueDef_;
28    tolerance_ = toleranceDef_;
29}
30
31trivaluedBool elementFit::is_accepted_by_software(nomDeLogiciel soft) const {
32    if ( soft == nomDeLogiciel::transport ) return ok;
33    else if ( soft == nomDeLogiciel::parmela ) return warning;
34    else return error;
35}
36
37
38string* elementFit::getParametersString() const
39{
40    int compteur = -1;
41    parametersString_[++compteur] = mixedTools::intToString(nbParam_);
42    parametersString_[++compteur] = label_;
43    parametersString_[++compteur] = variableName_;
44    parametersString_[++compteur] = mixedTools::doubleToString(variableValue_ );
45    parametersString_[++compteur] = mixedTools::doubleToString(tolerance_);
46    if ( compteur != nbParam_ ) {
47        cerr << " elementFit::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
48        return NULL;
49    }
50    return parametersString_;
51}
52
53void elementFit::setParametersString(string* param)
54{
55    if ( param == NULL )
56    {
57        cerr << "  elementFit::setParametersString parameters empty parameter set";
58        return;
59    }
60    int compteur = -1;
61    int nbparam = atoi(param[++compteur].c_str());
62    if ( nbparam != nbParam_ )
63    {
64        cerr << "  elementFit::setParametersString parameters do not match for a BEND" << endl;
65        return;
66    }
67   
68    label_ = param[++compteur];
69    variableName_ = param[++compteur];
70    variableValue_ = atof(param[++compteur].c_str());
71    tolerance_ = atof(param[++compteur].c_str());
72}
73
74
75string elementFit::parmelaOutputFlow() const
76{
77    ostringstream sortie;
78    return sortie.str();
79}
80
81string elementFit::transportOutputFlow() const
82{
83    ostringstream sortie;
84    sortie << label_ << ":" << "  FIT," << variableName_ << " = " << variableValue_ << ", TOLER = " << tolerance_ << " ;" << endl;
85    if ( variableName_ == "R11" || variableName_ == "R22" || variableName_ == "R12" || variableName_ == "R21" ) {
86        sortie << " PRINT, TRANS;" << endl;
87    }
88    return sortie.str();
89}
90
91string elementFit::FileOutputFlow() const
92{
93    ostringstream sortie;
94    //    sortie << elementName_.getElementType() << endl;
95    sortie << elementName_.getElementLabel() << endl;
96    sortie  << label_ << endl;
97    sortie  <<    variableName_ << " " << variableValue_ << " " << tolerance_ << endl;
98    return sortie.str();
99}
100
101void elementFit::FileInput(ifstream& ifs)
102{
103    ifs >> label_;
104    ifs  >>  variableName_ >>  variableValue_   >> tolerance_;
105}
106
107
108string elementFit::print() {
109    string txt = "";
110 
111    txt += label_;
112    return txt;
113}
Note: See TracBrowser for help on using the repository browser.