![]() |
ImFusion C++ SDK 4.4.0
|
Mesh processing algorithms related to mesh remeshing (smoothing, decimation, subdivision). More...
Mesh processing algorithms related to mesh remeshing (smoothing, decimation, subdivision).
Classes | |
| struct | SimplificationSettings |
Enumerations | |
| enum class | SmoothMode { Laplacian = 0 , Taubin } |
| Smoothing method. | |
Functions | |
| void | subdivide (Mesh &mesh, unsigned int level) |
| Method to refine and smooth a mesh using Charles Loop method (it divides each triangle into 4 smaller ones). | |
| void | smooth (Mesh &mesh, unsigned int iter, SmoothMode mode=SmoothMode::Laplacian) |
| Mesh smoothing algorithm. | |
| void | simplify (Mesh &mesh, const SimplificationSettings &settings, const std::vector< int > &blockedVertices={}) |
| Mesh simplification algorithm. | |
| void ImFusion::MeshProcessing::Remeshing::subdivide | ( | Mesh & | mesh, |
| unsigned int | level ) |
Method to refine and smooth a mesh using Charles Loop method (it divides each triangle into 4 smaller ones).
| [in,out] | mesh | Mesh |
| [in] | level | Number of refinement steps |
| void ImFusion::MeshProcessing::Remeshing::smooth | ( | Mesh & | mesh, |
| unsigned int | iter, | ||
| SmoothMode | mode = SmoothMode::Laplacian ) |
Mesh smoothing algorithm.
| [in,out] | mesh | Mesh |
| [in] | iter | Number of smoothing iterations |
| [in] | mode | Smoothing method |
| void ImFusion::MeshProcessing::Remeshing::simplify | ( | Mesh & | mesh, |
| const SimplificationSettings & | settings, | ||
| const std::vector< int > & | blockedVertices = {} ) |
Mesh simplification algorithm.
Simplification stops after running out of valid edge collapse choices. Based mostly on triangle edge lengths, with optional preservation of mesh curvature, vertex colors and normals.
| [in,out] | mesh | Mesh |
| [in] | settings | Algorithm settings |
| [in] | blockedVertices | Vertices that should remain untouched during simplification |