#include <smooth_field.h>
Classes | |
struct | SmoothParam |
Static Public Member Functions | |
static void | GloballyOrient (MeshType &mesh) |
static void | InitByCurvature (MeshType &mesh, int Nring, bool UpdateFaces=true) |
static void | SelectConstraints (MeshType &mesh, SmoothParam &SParam) |
static void | SmoothDirections (MeshType &mesh, int Ndir, SmoothMethod SMethod=SMNPoly, bool HardAsS=true, ScalarType alphaSoft=0) |
static void | SmoothDirections (MeshType &mesh, SmoothParam SParam) |
Private Types | |
typedef MeshType::CoordType | CoordType |
typedef MeshType::FaceType | FaceType |
typedef MeshType::ScalarType | ScalarType |
typedef MeshType::VertexType | VertexType |
Static Private Member Functions | |
static void | AddBorderConstraints (MeshType &mesh) |
static void | AddCurvatureConstraints (MeshType &mesh, const ScalarType &thr=0.5) |
static void | AddSharpEdgesConstraints (MeshType &mesh, const ScalarType &thr=0.2) |
static void | CollectHardConstraints (MeshType &mesh, Eigen::VectorXi &HardI, Eigen::MatrixXd &HardD, SmoothMethod SMethod, int Ndir) |
static void | CollectSoftConstraints (MeshType &mesh, Eigen::VectorXi &SoftI, Eigen::MatrixXd &SoftD, Eigen::VectorXd &SoftW) |
static void | InitQualityByAnisotropyDir (MeshType &mesh) |
static void | PickRandomDir (MeshType &mesh, int &indexF, CoordType &Dir) |
static void | SetEdgeDirection (FaceType *f, int edge) |
static void | SmoothMIQ (MeshType &mesh, Eigen::VectorXi &HardI, Eigen::MatrixXd &HardD, Eigen::VectorXi &SoftI, Eigen::MatrixXd &SoftD, Eigen::VectorXd &SoftW, ScalarType alpha_soft, int Ndir) |
static void | SmoothNPoly (MeshType &mesh, Eigen::VectorXi &HardI, Eigen::MatrixXd &HardD, int Ndir) |
Definition at line 48 of file smooth_field.h.
typedef MeshType::CoordType vcg::tri::FieldSmoother< MeshType >::CoordType [private] |
Definition at line 53 of file smooth_field.h.
typedef MeshType::FaceType vcg::tri::FieldSmoother< MeshType >::FaceType [private] |
Definition at line 50 of file smooth_field.h.
typedef MeshType::ScalarType vcg::tri::FieldSmoother< MeshType >::ScalarType [private] |
Definition at line 52 of file smooth_field.h.
typedef MeshType::VertexType vcg::tri::FieldSmoother< MeshType >::VertexType [private] |
Definition at line 51 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::AddBorderConstraints | ( | MeshType & | mesh | ) | [inline, static, private] |
Definition at line 125 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::AddCurvatureConstraints | ( | MeshType & | mesh, |
const ScalarType & | thr = 0.5 |
||
) | [inline, static, private] |
Definition at line 139 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::AddSharpEdgesConstraints | ( | MeshType & | mesh, |
const ScalarType & | thr = 0.2 |
||
) | [inline, static, private] |
Definition at line 108 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::CollectHardConstraints | ( | MeshType & | mesh, |
Eigen::VectorXi & | HardI, | ||
Eigen::MatrixXd & | HardD, | ||
SmoothMethod | SMethod, | ||
int | Ndir | ||
) | [inline, static, private] |
Definition at line 146 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::CollectSoftConstraints | ( | MeshType & | mesh, |
Eigen::VectorXi & | SoftI, | ||
Eigen::MatrixXd & | SoftD, | ||
Eigen::VectorXd & | SoftW | ||
) | [inline, static, private] |
Definition at line 187 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::GloballyOrient | ( | MeshType & | mesh | ) | [inline, static] |
Definition at line 387 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::InitByCurvature | ( | MeshType & | mesh, |
int | Nring, | ||
bool | UpdateFaces = true |
||
) | [inline, static] |
Definition at line 393 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::InitQualityByAnisotropyDir | ( | MeshType & | mesh | ) | [inline, static, private] |
Definition at line 56 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::PickRandomDir | ( | MeshType & | mesh, |
int & | indexF, | ||
CoordType & | Dir | ||
) | [inline, static, private] |
Definition at line 300 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SelectConstraints | ( | MeshType & | mesh, |
SmoothParam & | SParam | ||
) | [inline, static] |
Ratio);
Definition at line 355 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SetEdgeDirection | ( | FaceType * | f, |
int | edge | ||
) | [inline, static, private] |
Definition at line 91 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SmoothDirections | ( | MeshType & | mesh, |
int | Ndir, | ||
SmoothMethod | SMethod = SMNPoly , |
||
bool | HardAsS = true , |
||
ScalarType | alphaSoft = 0 |
||
) | [inline, static] |
Definition at line 420 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SmoothDirections | ( | MeshType & | mesh, |
SmoothParam | SParam | ||
) | [inline, static] |
Definition at line 486 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SmoothMIQ | ( | MeshType & | mesh, |
Eigen::VectorXi & | HardI, | ||
Eigen::MatrixXd & | HardD, | ||
Eigen::VectorXi & | SoftI, | ||
Eigen::MatrixXd & | SoftD, | ||
Eigen::VectorXd & | SoftW, | ||
ScalarType | alpha_soft, | ||
int | Ndir | ||
) | [inline, static, private] |
Definition at line 222 of file smooth_field.h.
static void vcg::tri::FieldSmoother< MeshType >::SmoothNPoly | ( | MeshType & | mesh, |
Eigen::VectorXi & | HardI, | ||
Eigen::MatrixXd & | HardD, | ||
int | Ndir | ||
) | [inline, static, private] |
Definition at line 263 of file smooth_field.h.