Skip to content

Libs/Mesh/PreviewMeshQC/FEMeshSmoothingModifier.h

Classes

Name
class FEMeshSmoothingModifier

Source code

#pragma once
#include "math3d.h"

class FEMesh;

//-----------------------------------------------------------------------------
class FEMeshSmoothingModifier
{

public:
    FEMeshSmoothingModifier();

    FEMesh* Apply(FEMesh* pm);

protected:
    double area_triangle(vec3d r[3]);
    double distance(vec3d x,vec3d y );
    double random();
    void Laplacian_Smoothing(FEMesh* pm,vector<int> hashmap);
    void Laplacian_Smoothing2(FEMesh* pm,vector<int> hashmap);
    void Taubin_Smoothing(FEMesh* pm,vector<int> hashmap);
    void Crease_Enhancing_Diffusion(FEMesh* pm,vector<int> hashmap);
    void Add_Noise(FEMesh* pm,vector<int> hashmap);

public:
    double  m_threshold1;
    double  m_threshold2;
    double m_iteration;
    int m_method;
};

Updated on 2022-07-23 at 16:40:07 -0600