MeshLib C++ Docs
Loading...
Searching...
No Matches
MRNormalDenoising.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
5#include "MRExpected.h"
6
7namespace MR
8{
9
16MRMESH_API void denoiseNormals( const Mesh & mesh, FaceNormals & normals, const Vector<float, UndirectedEdgeId> & v, float gamma );
17
24MRMESH_API void updateIndicator( const Mesh & mesh, Vector<float, UndirectedEdgeId> & v, const FaceNormals & normals, float beta, float gamma );
25
31MRMESH_API void updateIndicatorFast( const MeshTopology & topology, Vector<float, UndirectedEdgeId> & v, const FaceNormals & normals, float beta, float gamma );
32
34{
36 bool fastIndicatorComputation = true;
37
39 float beta = 0.01f;
40
42 float gamma = 5.f;
43
45 int normalIters = 10;
46
48 int pointIters = 20;
49
51 float guideWeight = 1;
52
54 bool limitNearInitial = false;
55
57 float maxInitialDist = 0;
58
61
63 ProgressCallback cb = {};
64};
65
68MRMESH_API Expected<void> meshDenoiseViaNormals( Mesh & mesh, const DenoiseViaNormalsSettings & settings = {} );
69
70} //namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRNormalDenoising.h:34
new unsafe ref float gamma
new unsafe MR.Std.Function_BoolFuncFromFloat cb
new unsafe ref bool fastIndicatorComputation
new unsafe ref float guideWeight
new unsafe ref int normalIters
new unsafe MR.? UndirectedEdgeBitSet outCreases
new unsafe ref bool limitNearInitial
new unsafe ref float maxInitialDist
new unsafe ref int pointIters
new unsafe ref float beta
Definition MRMesh/MRMeshTopology.h:19
Definition MRMesh/MRMesh.h:23
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:19
Definition MRCameraOrientationPlugin.h:8
MRMESH_API void updateIndicatorFast(const MeshTopology &topology, Vector< float, UndirectedEdgeId > &v, const FaceNormals &normals, float beta, float gamma)
MRMESH_API void denoiseNormals(const Mesh &mesh, FaceNormals &normals, const Vector< float, UndirectedEdgeId > &v, float gamma)
MRMESH_API Expected< void > meshDenoiseViaNormals(Mesh &mesh, const DenoiseViaNormalsSettings &settings={})
MRMESH_API void updateIndicator(const Mesh &mesh, Vector< float, UndirectedEdgeId > &v, const FaceNormals &normals, float beta, float gamma)