![]() |
VCG Library
|
QualityDistanceFieldFunctor quality field based smoothing functor. More...
#include <curve_on_manifold.h>
Public Member Functions | |
| QualityDistanceFieldFunctor (CoM< MeshType > &_com, ScalarType _scale=0, ScalarType _smoothBlend=0.5) | |
| std::vector< CoordType > | operator() (const MeshType &poly) const |
Public Attributes | |
| CoM< MeshType > & | com |
| ScalarType | scale |
| ScalarType | smoothBlend = 0.5 |
QualityDistanceFieldFunctor quality field based smoothing functor.
| poly | the input curve mesh |
| com | the CurveOnManifold class itself to quick access closest face |
| scale | a scaling factor to control the step size of the movement along the quality, if 0 it will be automatically set to 1/2 of the CoM parameter par.maxMoveDelta (default is 0) |
| smoothBlend | a blending factor to control the influence of the smoothing (default is 0.5) |
It compute the new position using the quality field of the mesh assuming that it is a distance field sampled per vertices and that we would like to move toward the zero of the distance field. We use gradient of the quality field for the direction and the sign of the quality for the versus of the direction. We move of a quantity proportional to the quality value at the vertex.