From bc0d1fc13f35e623b7eab4e681ace498cba99329 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me?= Date: Fri, 30 Oct 2020 17:12:19 +0100 Subject: [PATCH] Improvement coding style, Documentation, Translation --- src/BuildAPI/BuildAPI_Interpolation.cpp | 33 ++++---- src/BuildAPI/BuildAPI_Interpolation.h | 2 +- src/BuildPlugin/BuildPlugin_EvalListener.h | 1 + src/BuildPlugin/BuildPlugin_Interpolation.cpp | 68 ++++++++-------- src/BuildPlugin/BuildPlugin_Interpolation.h | 24 +++--- src/BuildPlugin/BuildPlugin_msg_fr.ts | 24 +++++- .../doc/TUI_interpolationFeature.rst | 11 +++ .../doc/examples/interpolationAnalytical.py | 9 ++ .../images/CreateInterpolationanalitycal.png | Bin 0 -> 14456 bytes src/BuildPlugin/doc/images/Interpolation.png | Bin 8000 -> 14153 bytes .../doc/images/InterpolationAnalitycal.png | Bin 0 -> 22560 bytes .../doc/images/InterpolationAnalytical.png | Bin 0 -> 22623 bytes .../feature_interpolation_analytical.png | Bin 0 -> 1172 bytes .../feature_interpolation_by_selection.png | Bin 0 -> 511 bytes src/BuildPlugin/doc/interpolationFeature.rst | 77 +++++++++++++++++- .../GeomValidators_MinObjectsSelected.cpp | 4 +- src/ModelAPI/ModelAPI_Events.h | 2 +- 17 files changed, 185 insertions(+), 70 deletions(-) create mode 100644 src/BuildPlugin/doc/examples/interpolationAnalytical.py create mode 100644 src/BuildPlugin/doc/images/CreateInterpolationanalitycal.png create mode 100644 src/BuildPlugin/doc/images/InterpolationAnalitycal.png create mode 100644 src/BuildPlugin/doc/images/InterpolationAnalytical.png create mode 100644 src/BuildPlugin/doc/images/feature_interpolation_analytical.png create mode 100644 src/BuildPlugin/doc/images/feature_interpolation_by_selection.png diff --git a/src/BuildAPI/BuildAPI_Interpolation.cpp b/src/BuildAPI/BuildAPI_Interpolation.cpp index f232b81da..353eff358 100644 --- a/src/BuildAPI/BuildAPI_Interpolation.cpp +++ b/src/BuildAPI/BuildAPI_Interpolation.cpp @@ -39,7 +39,7 @@ BuildAPI_Interpolation::BuildAPI_Interpolation(const FeaturePtr& theFeature, : ModelHighAPI_Interface(theFeature) { if(initialize()) { - fillAttribute(BuildPlugin_Interpolation::CREATION_METHODE_BY_SELECTION_ID(),mycreationmethod); + fillAttribute(BuildPlugin_Interpolation::CREATION_METHOD_BY_SELECTION_ID(),mycreationmethod); setUseTangents(true); setTangents(theStartTangent, theEndTangent); setClosed(theIsClosed); @@ -49,14 +49,15 @@ BuildAPI_Interpolation::BuildAPI_Interpolation(const FeaturePtr& theFeature, } //================================================================================================== -BuildAPI_Interpolation::BuildAPI_Interpolation(const FeaturePtr& theFeature, - const std::list& theBaseObjects, - const bool theIsClosed, - const bool theIsToReorder) +BuildAPI_Interpolation::BuildAPI_Interpolation( + const FeaturePtr& theFeature, + const std::list& theBaseObjects, + const bool theIsClosed, + const bool theIsToReorder) : ModelHighAPI_Interface(theFeature) { if (initialize()) { - fillAttribute(BuildPlugin_Interpolation::CREATION_METHODE_BY_SELECTION_ID(),mycreationmethod); + fillAttribute(BuildPlugin_Interpolation::CREATION_METHOD_BY_SELECTION_ID(),mycreationmethod); setClosed(theIsClosed); setReorder(theIsToReorder); setUseTangents(false); @@ -65,16 +66,16 @@ BuildAPI_Interpolation::BuildAPI_Interpolation(const FeaturePtr& theFeature, } BuildAPI_Interpolation::BuildAPI_Interpolation(const FeaturePtr& theFeature, - const std::string & theXTexpression, - const std::string & theYTexpression, - const std::string & theZTexpression, - const ModelHighAPI_Double& theMinT, - const ModelHighAPI_Double& theMaxT, - const ModelHighAPI_Integer& theNbStep) + const std::string & theXTexpression, + const std::string & theYTexpression, + const std::string & theZTexpression, + const ModelHighAPI_Double& theMinT, + const ModelHighAPI_Double& theMaxT, + const ModelHighAPI_Integer& theNbStep) : ModelHighAPI_Interface(theFeature) { if (initialize()) { - fillAttribute(BuildPlugin_Interpolation::CREATION_METHODE_ANALYTICAL_ID(),mycreationmethod); + fillAttribute(BuildPlugin_Interpolation::CREATION_METHOD_ANALYTICAL_ID(),mycreationmethod); fillAttribute(theXTexpression, myxt); fillAttribute(theYTexpression, myyt); fillAttribute(theZTexpression, myzt); @@ -136,8 +137,8 @@ void BuildAPI_Interpolation::dump(ModelHighAPI_Dumper& theDumper) const FeaturePtr aBase = feature(); std::string aPartName = theDumper.name(aBase->document()); - if( aBase->string(BuildPlugin_Interpolation::CREATION_METHODE_ID())->value() == - BuildPlugin_Interpolation::CREATION_METHODE_BY_SELECTION_ID() ) + if( aBase->string(BuildPlugin_Interpolation::CREATION_METHOD_ID())->value() == + BuildPlugin_Interpolation::CREATION_METHOD_BY_SELECTION_ID() ) { AttributeSelectionListPtr anAttrBaseObjects = aBase->selectionList(BuildPlugin_Interpolation::BASE_OBJECTS_ID()); @@ -159,7 +160,7 @@ void BuildAPI_Interpolation::dump(ModelHighAPI_Dumper& theDumper) const theDumper << closed() << ", " << reorder() << ")" << std::endl; }else{ - theDumper << aBase << " = model.addInterpolation(" << aPartName ; + theDumper << aBase << " = model.addInterpolation(" << aPartName ; AttributeStringPtr XtAttr = xt(); std::string xt = XtAttr->value(); AttributeStringPtr YtAttr = yt(); diff --git a/src/BuildAPI/BuildAPI_Interpolation.h b/src/BuildAPI/BuildAPI_Interpolation.h index 732a57a90..ebde245b3 100644 --- a/src/BuildAPI/BuildAPI_Interpolation.h +++ b/src/BuildAPI/BuildAPI_Interpolation.h @@ -96,7 +96,7 @@ public: ModelAPI_AttributeDouble, /** zt expression*/, numstep, BuildPlugin_Interpolation::NUMSTEP_ID(), ModelAPI_AttributeInteger, /** zt expression*/, - creationmethod, BuildPlugin_Interpolation::CREATION_METHODE_ID(), + creationmethod, BuildPlugin_Interpolation::CREATION_METHOD_ID(), ModelAPI_AttributeString, /** zt expression*/) /// Modify base attribute of the feature. diff --git a/src/BuildPlugin/BuildPlugin_EvalListener.h b/src/BuildPlugin/BuildPlugin_EvalListener.h index 3951559eb..5ace4821f 100644 --- a/src/BuildPlugin/BuildPlugin_EvalListener.h +++ b/src/BuildPlugin/BuildPlugin_EvalListener.h @@ -27,6 +27,7 @@ class ModelAPI_Attribute; class ModelAPI_Document; class ModelAPI_Feature; class ModelAPI_ResultParameter; + class InitializationPlugin_PyInterp; /** diff --git a/src/BuildPlugin/BuildPlugin_Interpolation.cpp b/src/BuildPlugin/BuildPlugin_Interpolation.cpp index 433a92d02..a515c4552 100644 --- a/src/BuildPlugin/BuildPlugin_Interpolation.cpp +++ b/src/BuildPlugin/BuildPlugin_Interpolation.cpp @@ -72,10 +72,9 @@ void BuildPlugin_Interpolation::initAttributes() data()->addAttribute(TANGENT_START_ID(), ModelAPI_AttributeSelection::typeId()); data()->addAttribute(TANGENT_END_ID(), ModelAPI_AttributeSelection::typeId()); - data()->addAttribute(CREATION_METHODE_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(CREATION_METHODE_BY_SELECTION_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(CREATION_METHODE_ANALYTICAL_ID(), ModelAPI_AttributeString::typeId()); - data()->addAttribute(CREATION_METHODE_ANALYTICAL_ID(), ModelAPI_AttributeString::typeId()); + data()->addAttribute(CREATION_METHOD_ID(), ModelAPI_AttributeString::typeId()); + data()->addAttribute(CREATION_METHOD_BY_SELECTION_ID(), ModelAPI_AttributeString::typeId()); + data()->addAttribute(CREATION_METHOD_ANALYTICAL_ID(), ModelAPI_AttributeString::typeId()); data()->addAttribute(EXPRESSION_ERROR_ID(), ModelAPI_AttributeString::typeId()); data()->addAttribute(VARIABLE_ID(), ModelAPI_AttributeString::typeId()); data()->addAttribute(VALUE_ID(), ModelAPI_AttributeTables::typeId()); @@ -90,9 +89,9 @@ void BuildPlugin_Interpolation::initAttributes() data()->addAttribute(NUMSTEP_ID(), ModelAPI_AttributeInteger::typeId()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), - CREATION_METHODE_ANALYTICAL_ID()); + CREATION_METHOD_ANALYTICAL_ID()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), - CREATION_METHODE_BY_SELECTION_ID()); + CREATION_METHOD_BY_SELECTION_ID()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), VARIABLE_ID()); ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), VALUE_ID()); data()->addAttribute(ARGUMENTS_ID(), ModelAPI_AttributeRefList::typeId()); @@ -123,13 +122,13 @@ void BuildPlugin_Interpolation::attributeChanged(const std::string& theID) && string(XT_ID())->value() !="" && string(YT_ID())->value() !="" && string(ZT_ID())->value() !="" - && string(CREATION_METHODE_ID())->value() == CREATION_METHODE_ANALYTICAL_ID() + && string(CREATION_METHOD_ID())->value() == CREATION_METHOD_ANALYTICAL_ID() ){ - updateCoods(); + updateCoordinates(); } } -void BuildPlugin_Interpolation::updateCoods() +void BuildPlugin_Interpolation::updateCoordinates() { std::wstring exp; double aMint = real(MINT_ID())->value(); @@ -140,13 +139,13 @@ void BuildPlugin_Interpolation::updateCoods() setError("The minimum value of the parameter must be less than maximum value !!!" ); } - double scale = (aMaxt - aMint )/aNbrStep; + double aScale = (aMaxt - aMint )/aNbrStep; string(VARIABLE_ID())->setValue("t"); tables(VALUE_ID())->setSize(aNbrStep+1,4); for( int step = 0; step <= aNbrStep; step++ ){ ModelAPI_AttributeTables::Value aVal; - aVal.myDouble = step * scale + aMint; + aVal.myDouble = step * aScale + aMint; tables(VALUE_ID())->setValue(aVal,step,0); } @@ -180,7 +179,7 @@ static GeomDirPtr selectionToDir(const AttributeSelectionPtr& theSelection) //================================================================================================= void BuildPlugin_Interpolation::execute() { - if( string(CREATION_METHODE_ID())->value() == CREATION_METHODE_BY_SELECTION_ID() ) + if( string(CREATION_METHOD_ID())->value() == CREATION_METHOD_BY_SELECTION_ID() ) { // Get closed flag value bool isClosed = boolean(CLOSED_ID())->value(); @@ -250,39 +249,39 @@ void BuildPlugin_Interpolation::execute() return false; if (!outErrorMessage.empty()){ - setError("Error: Python interpreter " ); + setError("Error: Python interpreter " );//+ outErrorMessage); return false; } - AttributeTablesPtr table = tables( VALUE_ID() ); - std::list > aCoodPoints; - for( int step = 0; step < table->rows() ; step++ ){ - std::vector coodPoint; + AttributeTablesPtr aTable = tables( VALUE_ID() ); + std::list > aCoordPoints; + for( int step = 0; step < aTable->rows() ; step++ ){ + std::vector aCoordPoint; ModelAPI_AttributeTables::Value value; //x - value = table->value(step, 1); - coodPoint.push_back( value.myDouble ); + value = aTable->value(step, 1); + aCoordPoint.push_back( value.myDouble ); //y - value = table->value(step, 2); - coodPoint.push_back( value.myDouble ); - //Z - value = table->value(step, 3); - coodPoint.push_back( value.myDouble ); + value = aTable->value(step, 2); + aCoordPoint.push_back( value.myDouble ); + // + value = aTable->value(step, 3); + aCoordPoint.push_back( value.myDouble ); - aCoodPoints.push_back(coodPoint); + aCoordPoints.push_back(aCoordPoint); } std::list aPoints; std::list aVertices; - std::list >::const_iterator aItCoodPoints = aCoodPoints.begin(); + std::list >::const_iterator anItCoordPoints = aCoordPoints.begin(); - for( ; aItCoodPoints != aCoodPoints.end(); ++aItCoodPoints ){ + for( ; anItCoordPoints != aCoordPoints.end(); ++anItCoordPoints ){ - GeomVertexPtr vertex = - GeomAlgoAPI_PointBuilder::vertex( (*aItCoodPoints)[0], - (*aItCoodPoints)[1], - (*aItCoodPoints)[2]); - aPoints.push_back (vertex->point()); - aVertices.push_back (vertex); + GeomVertexPtr aVertex = + GeomAlgoAPI_PointBuilder::vertex( (*anItCoordPoints)[0], + (*anItCoordPoints)[1], + (*anItCoordPoints)[2]); + aPoints.push_back (aVertex->point()); + aVertices.push_back (aVertex); } // Create curve from points @@ -302,11 +301,8 @@ void BuildPlugin_Interpolation::execute() aResultBody->generated(anExp.current(), aVertexName); aVertexIndex++; } - setResult(aResultBody); - } - } void BuildPlugin_Interpolation::evaluate(std::string& theError) diff --git a/src/BuildPlugin/BuildPlugin_Interpolation.h b/src/BuildPlugin/BuildPlugin_Interpolation.h index e921ae5ac..6697162bb 100644 --- a/src/BuildPlugin/BuildPlugin_Interpolation.h +++ b/src/BuildPlugin/BuildPlugin_Interpolation.h @@ -40,23 +40,23 @@ public: return MY_ID; } /// Attribute name of creation method. - inline static const std::string& CREATION_METHODE_ID() + inline static const std::string& CREATION_METHOD_ID() { - static const std::string MY_CREATION_METHODE_ID("interpolation_method"); - return MY_CREATION_METHODE_ID; + static const std::string MY_CREATION_METHOD_ID("interpolation_method"); + return MY_CREATION_METHOD_ID; } /// Attribute name of creation method by selection - inline static const std::string& CREATION_METHODE_BY_SELECTION_ID() + inline static const std::string& CREATION_METHOD_BY_SELECTION_ID() { - static const std::string MY_CREATION_METHODE_BY_SELECTION_ID("by_selection"); - return MY_CREATION_METHODE_BY_SELECTION_ID; + static const std::string MY_CREATION_METHOD_BY_SELECTION_ID("by_selection"); + return MY_CREATION_METHOD_BY_SELECTION_ID; } /// Attribute name of creation method analytical - inline static const std::string& CREATION_METHODE_ANALYTICAL_ID() + inline static const std::string& CREATION_METHOD_ANALYTICAL_ID() { - static const std::string MY_CREATION_METHODE_ANALYTICAL_ID("analytical"); - return MY_CREATION_METHODE_ANALYTICAL_ID; + static const std::string MY_CREATION_METHOD_ANALYTICAL_ID("analytical"); + return MY_CREATION_METHOD_ANALYTICAL_ID; } /// Attribute name of base objects. @@ -189,12 +189,12 @@ public: BUILDPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID); protected: - /// Evaluates theExpression and returns its value. + /// Evaluates the expression x(t), y(t),z(t) in value table. void evaluate(std::string& theError); - void updateCoods(); + //Update coordinates x,y,z + void updateCoordinates(); - std::list aCoodPoints[3]; std::string outErrorMessage; }; diff --git a/src/BuildPlugin/BuildPlugin_msg_fr.ts b/src/BuildPlugin/BuildPlugin_msg_fr.ts index e6c433fbb..9b01bdfdd 100644 --- a/src/BuildPlugin/BuildPlugin_msg_fr.ts +++ b/src/BuildPlugin/BuildPlugin_msg_fr.ts @@ -827,7 +827,29 @@ Tangentes - + + Interpolation:analytical + + Curves parameters + Paramètres de la courbe + + + X(t) equation + Équation X(t) + + + Y(t) equation + Équation Y(t) + + + Z(t) equation + Équation Z(t) + + + Number of steps + Nombre de pas + + Polyline:base_objects diff --git a/src/BuildPlugin/doc/TUI_interpolationFeature.rst b/src/BuildPlugin/doc/TUI_interpolationFeature.rst index cfcaf78bd..900bc9ad4 100644 --- a/src/BuildPlugin/doc/TUI_interpolationFeature.rst +++ b/src/BuildPlugin/doc/TUI_interpolationFeature.rst @@ -10,3 +10,14 @@ Create Interpolation :download:`Download this script ` + .. _tui_create_interpolation_analytical: + +Create Interpolation analytical +=============================== + +.. literalinclude:: examples/interpolationAnalytical.py + :linenos: + :language: python + +:download:`Download this script ` + \ No newline at end of file diff --git a/src/BuildPlugin/doc/examples/interpolationAnalytical.py b/src/BuildPlugin/doc/examples/interpolationAnalytical.py new file mode 100644 index 000000000..f39fe81ed --- /dev/null +++ b/src/BuildPlugin/doc/examples/interpolationAnalytical.py @@ -0,0 +1,9 @@ +from salome.shaper import model + +model.begin() +partSet = model.moduleDocument() +Part_1 = model.addPart(partSet) +Part_1_doc = Part_1.document() +Interpolation_1 = model.addInterpolation(Part_1_doc, "5*sin(t)","5*cos(t)","t*0.2", 0, 25, 100) +model.do() +model.end() diff --git a/src/BuildPlugin/doc/images/CreateInterpolationanalitycal.png b/src/BuildPlugin/doc/images/CreateInterpolationanalitycal.png new file mode 100644 index 0000000000000000000000000000000000000000..2daa9459b6f25d667b1700e8df112439c7778b4a GIT binary patch literal 14456 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 diff --git a/src/BuildPlugin/doc/images/InterpolationAnalitycal.png b/src/BuildPlugin/doc/images/InterpolationAnalitycal.png new file mode 100644 index 0000000000000000000000000000000000000000..e56e54f13fcab116c13e9ba7487a2a31fc04147d GIT binary patch literal 22560 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 literal 0 HcmV?d00001 diff --git a/src/BuildPlugin/doc/images/InterpolationAnalytical.png b/src/BuildPlugin/doc/images/InterpolationAnalytical.png new file mode 100644 index 0000000000000000000000000000000000000000..c26a484966fbfc5d2ac0afe7d2f34383d268e799 GIT binary patch literal 22623 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 literal 0 HcmV?d00001 diff --git a/src/BuildPlugin/doc/images/feature_interpolation_analytical.png b/src/BuildPlugin/doc/images/feature_interpolation_analytical.png new file mode 100644 index 0000000000000000000000000000000000000000..a47790fc6a73ec27869beb46de6d26c16befa50e GIT binary patch literal 1172 zcmV;F1Z(?=P)X1^@s6z#LUx00009a7bBm000id z000id0mpBsWB>pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11R+U8 zK~zYIm6lC!(@GSEpBaxo5+!z%Ler{J1S)C822`mVU^iAr+BU zk$`-(b)3YR@m&N@6F2GQ9x00LIdk5bbKdjLh%C!83by3ajWHpF{Wkx6o5@wdvMjT| z{9S9!r%#_aK0anR94?IgjVbFWfVnxv)e0d$W41>Xd@px?CE0qdi7^0No*|TTFal91hzjml{=Zp*l3=*%^bu0Amb65a7D*!furig7x)v+U+*&cAFpwsMqU^Mk8Lo zevL7PSFc_zC4o}2l7IdBmG9rbv$nQIv)N>AZ4D_ULJ0exW!a1%<#L%I2zdMUEiYfb z#C2UpqY;%##ZrEr1bG^hB;nn=cZ|nl4h{~8qG*9=^C`A$bR37BogIAN=gyrw*6GEI z7kHjWuh&~><{$`|PN$rloDfA3Po6xnt2f5j-OQ&PKp11P`4!~Pc`fqYq-lzjlGD>u z&d<;BJdZF8+1c5_bzRalwQ0@g6af{$bUI};8m*L_d}6oTrPJxq?RKfx>uhXnFdmPY zOeO$KCKKyB7+f$M#xxoYs@3WY)EJX>yItDtHjd-01Tx0Z>2zo|n}lJ=$B!SW)oKJm zu#lBJ)$R5f@8AE!^XJdm-`__mbxn}1t*w=6V2lAV>!H)rQ);yuQ54Z=H1K_YCUfF? zo|N(rK@6Lln@Bm6U}07NPwY(O4~w9a$%GFdKG5lOsMTsbeE5)Bt+q1tX_{h;!Sg(X zkkk|Z>nO_WkdDVK_FF|AM#;`w7mN{Ld6Ua!Z| z(Gjgyi@m))&d<+D(-fGsOt07D=g<87`IDzl zpVDYFY@_Bi$g+%TwaUT4!2;FG^W zz~3I43t;_zpKss3;dvfG5U{tL zuIpOmSXT7nH)9N?Qi*eL84KAg`_x+^;apPJr zA1Jp~;8IGa(<%LaAFZ`za1=$eX1@*WZ?9yzX{{-hN<4V*V1YoM>n*5?jlb;PShRVU mG)>W3}1{rUgjp4pVqfx*x)K$3w)fLTx6$k1@&(~<^;q(iAQ0(11w1mp$r zuy82wh|fCmy_uI$k}WlQa*~Dv!$JuTW1fz$jTX`!>CQ)|bei%jG;FAhWbIIG_`xc0 zzp=|x;I&r+L(^`7ld1;;^1GaWzFV?GNTDGjp{KaJJ5evOVb?oV5o3j&LMs16=QlDi z9%&I}EoWjb=#*_st3su+z91Qe}omo#i#vKug`xTJ?I@y>t6)qDm42Oke92g52xuX;ygf%)4jfx<>SQ=Ax>I4ot0 zoRh`EKOK0LyJCj5&JG5q4pz^1+Kmz}-@k>MSWY$WZjVcjHIb2p(W$F?hQAxvXname().substr(0, 6) == L"Interp" ) { AttributeStringPtr anAttr =theFeature->string( - BuildPlugin_Interpolation::CREATION_METHODE_ID()); + BuildPlugin_Interpolation::CREATION_METHOD_ID()); if ( anAttr->isInitialized() ) - if( anAttr->value() == BuildPlugin_Interpolation::CREATION_METHODE_ANALYTICAL_ID()) + if( anAttr->value() == BuildPlugin_Interpolation::CREATION_METHOD_ANALYTICAL_ID()) return true; } diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 11a6aecc9..dffa73a8d 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -365,7 +365,7 @@ class ModelAPI_BuildEvalMessage : public Events_Message /// Static. Returns EventID of the message. MODELAPI_EXPORT static Events_ID& eventId() { - static const char * MY_BUILD_EVALUATION_EVENT_ID("ParameterEvaluationRequest"); + static const char * MY_BUILD_EVALUATION_EVENT_ID("BuildEvaluationRequest"); static Events_ID anId = Events_Loop::eventByName(MY_BUILD_EVALUATION_EVENT_ID); return anId; } -- 2.39.2