diff --git a/src/meshlabplugins/filter_func/filter_func.cpp b/src/meshlabplugins/filter_func/filter_func.cpp index 193cd190..e8e1f5c1 100644 --- a/src/meshlabplugins/filter_func/filter_func.cpp +++ b/src/meshlabplugins/filter_func/filter_func.cpp @@ -378,14 +378,13 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa case FF_VERT_SELECTION : { std::string expr = par.getString("condSelect").toStdString(); - std::wstring wexpr = conversion::fromStringToWString(expr); // muparser initialization and explicitely define parser variables Parser p; setPerVertexVariables(p,m.cm); // set expression inserted by user as string (required by muparser) - p.SetExpr(wexpr); + p.SetExpr(expr); int numvert = 0; time_t start = clock(); @@ -403,7 +402,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa try { selected = p.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } @@ -430,7 +429,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerFaceVariables(p,m.cm); // set expression inserted by user as string (required by muparser) - p.SetExpr(conversion::fromStringToWString(select.toStdString())); + p.SetExpr(select.toStdString()); int numface = 0; time_t start = clock(); @@ -448,7 +447,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa try { selected = p.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } @@ -501,10 +500,10 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerVertexVariables(p3,m.cm); setPerVertexVariables(p4,m.cm); - p1.SetExpr(conversion::fromStringToWString(func_x)); - p2.SetExpr(conversion::fromStringToWString(func_y)); - p3.SetExpr(conversion::fromStringToWString(func_z)); - p4.SetExpr(conversion::fromStringToWString(func_a)); + p1.SetExpr(func_x); + p2.SetExpr(func_y); + p3.SetExpr(func_z); + p4.SetExpr(func_a); double newx=0,newy=0,newz=0,newa=255; errorMessage = ""; @@ -580,7 +579,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerVertexVariables(p,m.cm); // set expression to calc with parser - p.SetExpr(conversion::fromStringToWString(func_q)); + p.SetExpr(func_q); // every parser variables is related to vertex coord and attributes. time_t start = clock(); @@ -596,7 +595,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa try { (*vi).Q() = p.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } } @@ -642,8 +641,8 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerVertexVariables(pv,m.cm); // set expression to calc with parser - pu.SetExpr(conversion::fromStringToWString(func_u)); - pv.SetExpr(conversion::fromStringToWString(func_v)); + pu.SetExpr(func_u); + pv.SetExpr(func_v); // every parser variables is related to vertex coord and attributes. time_t start = clock(); @@ -660,7 +659,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa (*vi).T().U() = pu.Eval(); (*vi).T().V() = pv.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } } @@ -695,9 +694,9 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerFaceVariables(pu2,m.cm); setPerFaceVariables(pv2,m.cm); // set expression to calc with parser - pu0.SetExpr(conversion::fromStringToWString(func_u0)); pv0.SetExpr(conversion::fromStringToWString(func_v0)); - pu1.SetExpr(conversion::fromStringToWString(func_u1)); pv1.SetExpr(conversion::fromStringToWString(func_v1)); - pu2.SetExpr(conversion::fromStringToWString(func_u2)); pv2.SetExpr(conversion::fromStringToWString(func_v2)); + pu0.SetExpr(func_u0); pv0.SetExpr(func_v0); + pu1.SetExpr(func_u1); pv1.SetExpr(func_v1); + pu2.SetExpr(func_u2); pv2.SetExpr(func_v2); // every parser variables is related to vertex coord and attributes. time_t start = clock(); @@ -715,7 +714,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa (*fi).WT(1).U() = pu1.Eval(); (*fi).WT(1).V() = pv1.Eval(); (*fi).WT(2).U() = pu2.Eval(); (*fi).WT(2).V() = pv2.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } } @@ -750,10 +749,10 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerFaceVariables(p3,m.cm); setPerFaceVariables(p4,m.cm); - p1.SetExpr(conversion::fromStringToWString(func_r)); - p2.SetExpr(conversion::fromStringToWString(func_g)); - p3.SetExpr(conversion::fromStringToWString(func_b)); - p4.SetExpr(conversion::fromStringToWString(func_a)); + p1.SetExpr(func_r); + p2.SetExpr(func_g); + p3.SetExpr(func_b); + p4.SetExpr(func_a); // RGB is related to every face CMeshO::FaceIterator fi; @@ -809,7 +808,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa setPerFaceVariables(pf,m.cm); // set expression to calc with parser - pf.SetExpr(conversion::fromStringToWString(func_q)); + pf.SetExpr(func_q); time_t start = clock(); errorMessage = ""; @@ -872,7 +871,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa qDebug("Now mesh has %lu vertex float attribute",AllVertexAttribName.size()); Parser p; setPerVertexVariables(p,m.cm); - p.SetExpr(conversion::fromStringToWString(expr)); + p.SetExpr(expr); time_t start = clock(); @@ -886,7 +885,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa try { h[vi] = p.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } } @@ -926,7 +925,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa h = tri::Allocator::AddPerFaceAttribute (m.cm,name); Parser p; setPerFaceVariables(p,m.cm); - p.SetExpr(conversion::fromStringToWString(expr)); + p.SetExpr(expr); time_t start = clock(); @@ -940,7 +939,7 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa try { h[fi] = p.Eval(); } catch(Parser::exception_type &e) { - errorMessage = conversion::fromWStringToString(e.GetMsg()).c_str(); + errorMessage = e.GetMsg().c_str(); return false; } } @@ -1018,11 +1017,11 @@ bool FilterFunctionPlugin::applyFilter(QAction *filter, MeshDocument &md, RichPa Parser p; double x,y,z; - p.DefineVar(conversion::fromStringToWString("x"), &x); - p.DefineVar(conversion::fromStringToWString("y"), &y); - p.DefineVar(conversion::fromStringToWString("z"), &z); + p.DefineVar("x", &x); + p.DefineVar("y", &y); + p.DefineVar("z", &z); std::string expr = par.getString("expr").toStdString(); - p.SetExpr(conversion::fromStringToWString(expr)); + p.SetExpr(expr); Log("Filling a Volume of %i %i %i",siz[0],siz[1],siz[2]); volume.Init(siz,RangeBBox); for(double i=0;ip1.SetExpr(conversion::fromStringToWString(expr1)); - this->p2.SetExpr(conversion::fromStringToWString(expr2)); - this->p3.SetExpr(conversion::fromStringToWString(expr3)); + this->p1.SetExpr(expr1); + this->p2.SetExpr(expr2); + this->p3.SetExpr(expr3); this->setVars(p1); this->setVars(p2); @@ -53,7 +53,7 @@ public : p2.Eval(); p3.Eval(); } catch(Parser::exception_type &e) { - msg = conversion::fromWStringToString(e.GetMsg()).c_str(); + msg = e.GetMsg().c_str(); error = true; } } @@ -150,12 +150,12 @@ protected: // parser variables void setVars(Parser &p) { - p.DefineVar(conversion::fromStringToWString("x0"), &x0); - p.DefineVar(conversion::fromStringToWString("y0"), &y0); - p.DefineVar(conversion::fromStringToWString("z0"), &z0); - p.DefineVar(conversion::fromStringToWString("x1"), &x1); - p.DefineVar(conversion::fromStringToWString("y1"), &y1); - p.DefineVar(conversion::fromStringToWString("z1"), &z1); + p.DefineVar("x0", &x0); + p.DefineVar("y0", &y0); + p.DefineVar("z0", &z0); + p.DefineVar("x1", &x1); + p.DefineVar("y1", &y1); + p.DefineVar("z1", &z1); } }; @@ -168,7 +168,7 @@ public: CustomEdge(std::string expr, bool &error, std::string &msg) { // set expression and variables needed by parser - this->p.SetExpr(conversion::fromStringToWString(expr)); + this->p.SetExpr(expr); this->setVars(p); this->varDefined = false; @@ -176,7 +176,7 @@ public: try { p.Eval(); } catch(Parser::exception_type &e) { - msg = conversion::fromWStringToString(e.GetMsg()).c_str(); + msg = e.GetMsg().c_str(); error = true; } } @@ -240,30 +240,30 @@ protected: // parser variables void setVars(Parser &p) { - p.DefineVar(conversion::fromStringToWString("x0"), &x0); - p.DefineVar(conversion::fromStringToWString("y0"), &y0); - p.DefineVar(conversion::fromStringToWString("z0"), &z0); - p.DefineVar(conversion::fromStringToWString("x1"), &x1); - p.DefineVar(conversion::fromStringToWString("y1"), &y1); - p.DefineVar(conversion::fromStringToWString("z1"), &z1); - - p.DefineVar(conversion::fromStringToWString("nx0"), &nx0); - p.DefineVar(conversion::fromStringToWString("ny0"), &ny0); - p.DefineVar(conversion::fromStringToWString("nz0"), &nz0); - - p.DefineVar(conversion::fromStringToWString("nx1"), &nx1); - p.DefineVar(conversion::fromStringToWString("ny1"), &ny1); - p.DefineVar(conversion::fromStringToWString("nz1"), &nz1); - - p.DefineVar(conversion::fromStringToWString("r0"), &r0); - p.DefineVar(conversion::fromStringToWString("g0"), &g0); - p.DefineVar(conversion::fromStringToWString("b0"), &b0); - - p.DefineVar(conversion::fromStringToWString("r1"), &r1); - p.DefineVar(conversion::fromStringToWString("g1"), &g1); - p.DefineVar(conversion::fromStringToWString("b1"), &b1); - - p.DefineVar(conversion::fromStringToWString("q0"), &q0); - p.DefineVar(conversion::fromStringToWString("q1"), &q1); + p.DefineVar("x0", &x0); + p.DefineVar("y0", &y0); + p.DefineVar("z0", &z0); + p.DefineVar("x1", &x1); + p.DefineVar("y1", &y1); + p.DefineVar("z1", &z1); + + p.DefineVar("nx0", &nx0); + p.DefineVar("ny0", &ny0); + p.DefineVar("nz0", &nz0); + + p.DefineVar("nx1", &nx1); + p.DefineVar("ny1", &ny1); + p.DefineVar("nz1", &nz1); + + p.DefineVar("r0", &r0); + p.DefineVar("g0", &g0); + p.DefineVar("b0", &b0); + + p.DefineVar("r1", &r1); + p.DefineVar("g1", &g1); + p.DefineVar("b1", &b1); + + p.DefineVar("q0", &q0); + p.DefineVar("q1", &q1); } };