small filter description fixes

This commit is contained in:
alemuntoni 2020-09-07 16:20:35 +02:00
parent 77539af9c6
commit 7f67a3b13a
6 changed files with 31 additions and 20 deletions

View File

@ -155,7 +155,7 @@ QString FilterColorProc::pluginName() const
"<li>Texture Angle Distortion. Difference between angle in 3D space and texture space"
"<li>Texture Area Distortion. Difference between area in 3D space and texture space"
"<li>Polygonal Planarity (max distance to support plane)"
"<li>Polygonal Planarity (relative distance to support plane)");
"<li>Polygonal Planarity (relative distance to support plane)</ol>");
case CP_VERTEX_SMOOTH: return QString("Laplacian Smooth Vertex Color");
case CP_FACE_SMOOTH: return QString("Laplacian Smooth Face Color");
case CP_VERTEX_TO_FACE: return QString("Vertex to Face color transfer");
@ -339,7 +339,7 @@ void FilterColorProc::initParameterSet(QAction *a, MeshDocument& md, RichParamet
minmax = tri::Stat<CMeshO>::ComputePerVertexQualityMinMax(md.mm()->cm);
par.addParam(RichFloat("minVal", minmax.first, "Min", "The value that will be mapped with the lower end of the scale (blue)"));
par.addParam(RichFloat("maxVal", minmax.second, "Max", "The value that will be mapped with the upper end of the scale (red)"));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater</b> than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichBool("zeroSym", false, "Zero Symmetric", "If true the min max range will be enlarged to be symmetric (so that green is always Zero)"));
break;
}
@ -349,7 +349,7 @@ void FilterColorProc::initParameterSet(QAction *a, MeshDocument& md, RichParamet
minmax = tri::Stat<CMeshO>::ComputePerVertexQualityMinMax(md.mm()->cm);
par.addParam(RichFloat("minVal", minmax.first, "Min", "The value that will be mapped with the lower end of the scale (blue)"));
par.addParam(RichFloat("maxVal", minmax.second, "Max", "The value that will be mapped with the upper end of the scale (red)"));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater</b> than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichBool("zeroSym", false, "Zero Symmetric", "If true the min max range will be enlarged to be symmetric (so that green is always Zero)"));
break;
}
@ -359,7 +359,7 @@ void FilterColorProc::initParameterSet(QAction *a, MeshDocument& md, RichParamet
minmax = tri::Stat<CMeshO>::ComputePerFaceQualityMinMax(md.mm()->cm);
par.addParam(RichFloat("minVal", minmax.first, "Min", "The value that will be mapped with the lower end of the scale (blue)"));
par.addParam(RichFloat("maxVal", minmax.second, "Max", "The value that will be mapped with the upper end of the scale (red)"));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the faces have a quality <b>lower or greater than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichDynamicFloat("perc", 0, 0, 100, "Percentile Crop [0..100]", "If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set to a value <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the faces have a quality <b>lower or greater</b> than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers."));
par.addParam(RichBool("zeroSym", false, "Zero Symmetric", "If true the min max range will be enlarged to be symmetric (so that green is always Zero)"));
break;
}

View File

@ -68,20 +68,31 @@ QString FilterFractal::filterInfo(FilterIDType filterId) const
filename = ":/ff_fractal_description.txt";
break;
case FP_CRATERS:
filename = ":/ff_craters_description.txt";
description =
"Generates craters onto a mesh using radial functions.<br />"
"There must be at least two layers to apply this filter:<br />"
"<ul>"
" <li>the layer that contains the target mesh; we assume that this mesh is sufficiently refined;</li>"
" <li>the layer that contains the samples which represent the central points of craters.</li>"
"</ul>"
"There are three radial functions available to generate craters, two of which are Gaussian and Multiquadric, "
"and the third is a variant of multiquadric. Blending functions are also provided to blend "
"the crater elevation towards the mesh surface. "
"If you want the preview to work, be sure to select the target mesh layer before launching the "
"filter. You can select this layer by clicking on it in the layer dialog.";
break;
default:
assert(0); return QString("error");
break;
}
QFile f(filename);
if(f.open(QFile::ReadOnly))
{
QTextStream stream(&f);
description = stream.readAll();
f.close();
}
// QFile f(filename);
// if(f.open(QFile::ReadOnly))
// {
// QTextStream stream(&f);
// description = stream.readAll();
// f.close();
// }
if(filterId == FP_FRACTAL_MESH)
{

View File

@ -71,7 +71,7 @@ QString PlyMCPlugin::pluginName() const
case FP_PLYMC : return QString( "The surface reconstrction algorithm that have been used for a long time inside the ISTI-Visual Computer Lab."
"It is mostly a variant of the Curless et al. e.g. a volumetric approach with some original weighting schemes,"
"a different expansion rule, and another approach to hole filling through volume dilation/relaxations.<br>"
"The filter is applied to <b>ALL</b> the visible layers. In practice, all the meshes/point clouds that are currently <i>visible<i> are used to build the volumetric distance field.");
"The filter is applied to <b>ALL</b> the visible layers. In practice, all the meshes/point clouds that are currently <i>visible</i> are used to build the volumetric distance field.");
case FP_MC_SIMPLIFY : return QString( "A simplification/cleaning algorithm that works ONLY on meshes generated by Marching Cubes algorithm." );
default : assert(0);

View File

@ -98,8 +98,8 @@ void ExtraSampleGPUPlugin::initParameterSet(QAction * action, MeshModel & m, Ric
parlst.addParam(RichColor ("ImageBackgroundColor", QColor(50, 50, 50), "Image Background Color", "The color used as image background." ));
parlst.addParam(RichInt ("ImageWidth", 512, "Image Width", "The width in pixels of the produced image." ));
parlst.addParam(RichInt ("ImageHeight", 512, "Image Height", "The height in pixels of the produced image."));
QString curr = QDir::currentPath();
parlst.addParam(RichSaveFile ("ImageFileName", curr + "/gpu_generated_image.png", "*.png", "Base Image File Name", "The file name used to save the image." ));
//QString curr = QDir::currentPath();
parlst.addParam(RichSaveFile ("ImageFileName", /*curr + "/" */+"gpu_generated_image.png", "*.png", "Base Image File Name", "The file name used to save the image." ));
break;
}
default : assert(0);

View File

@ -231,7 +231,7 @@ void FilterTexturePlugin::initParameterSet(QAction *action, MeshDocument &md, Ri
parlst.addParam(RichMesh ("targetMesh",md.mm(),&md, "Target Mesh",
"The mesh whose texture will be filled according to source mesh data"));
parlst.addParam(RichEnum("AttributeEnum", 0, QStringList("Vertex Color") << "Vertex Normal" << "Vertex Quality"<< "Texture Color", "Color Data Source",
"Choose what attribute has to be transferred onto the target texture. You can choose bettween Per vertex attributes (clor,normal,quality) or to transfer color information from source mesh texture"));
"Choose what attribute has to be transferred onto the target texture. You can choose bettween Per vertex attributes (color,normal,quality) or to transfer color information from source mesh texture"));
parlst.addParam(RichAbsPerc("upperBound", md.mm()->cm.bbox.Diag()/50.0, 0.0f, md.mm()->cm.bbox.Diag(),
tr("Max Dist Search"), tr("Sample points for which we do not find anything within this distance are rejected and not considered for recovering data")));
parlst.addParam(RichString("textName", fileName, "Texture file", "The texture file to be created"));

View File

@ -324,22 +324,22 @@ void FilterUnsharp::initParameterSet(QAction *action, MeshDocument &md, RichPara
break;
case FP_UNSHARP_NORMAL:
parlst.addParam(RichBool("recalc", false, tr("Recompute Normals"), tr("Recompute normals from scratch before the unsharp masking")));
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)<i><br>")));
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)</i><br>")));
parlst.addParam(RichFloat("weightOrig", 1.f, tr("Original Weight"), tr("How much the original signal is used, e.g. the weight <i>w<sub><big>o</big></sub></i> in the above unsharp mask equation.<br> Usually you should not need to change the default 1.0 value.")));
parlst.addParam(RichInt("iterations", 5, "Smooth Iterations", tr("number of laplacian face smooth iterations in every run")));
break;
case FP_UNSHARP_GEOMETRY:
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)<i><br>")));
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)</i><br>")));
parlst.addParam(RichFloat("weightOrig", 1.f, tr("Original Weight"), tr("How much the original signal is used, e.g. the weight <i>w<sub><big>o</big></sub></i> in the above unsharp mask equation<br> Usually you should not need to change the default 1.0 value.")));
parlst.addParam(RichInt("iterations", 5, "Smooth Iterations", tr("number of iterations of laplacian smooth in every run")));
break;
case FP_UNSHARP_VERTEX_COLOR:
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)<i><br>")));
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)</i><br>")));
parlst.addParam(RichFloat("weightOrig", 1.f, tr("Original Color Weight"), tr("How much the original signal is used, e.g. the weight <i>w<sub><big>o</big></sub></i> in the above unsharp mask equation<br> Usually you should not need to change the default 1.0 value.")));
parlst.addParam(RichInt("iterations", 5, "Smooth Iterations", tr("number of iterations of laplacian smooth in every run")));
break;
case FP_UNSHARP_QUALITY:
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)<i><br>")));
parlst.addParam(RichFloat("weight", 0.3f, tr("Unsharp Weight"), tr("the unsharp weight <i>w<sub><big>u</big></sub></i> in the unsharp mask equation: <br> <i>w<sub><big>o</big></sub>orig + w<sub><big>u</big></sub> (orig - lowpass)</i><br>")));
parlst.addParam(RichFloat("weightOrig", 1.f, tr("Original Weight"), tr("How much the original signal is used, e.g. the weight <i>w<sub><big>o</big></sub></i> in the above unsharp mask equation<br> Usually you should not need to change the default 1.0 value.")));
parlst.addParam(RichInt("iterations", 5, "Smooth Iterations", tr("number of iterations of laplacian smooth in every run")));
break;