Go to the source code of this file.
Typedefs | |
| typedef struct MR_FaceNormals | MR_FaceNormals |
| typedef struct MR_Mesh | MR_Mesh |
| typedef struct MR_MeshTopology | MR_MeshTopology |
| typedef struct MR_UndirectedEdgeBitSet | MR_UndirectedEdgeBitSet |
| typedef struct MR_UndirectedEdgeScalars | MR_UndirectedEdgeScalars |
| typedef struct MR_expected_void_std_string | MR_expected_void_std_string |
| typedef struct MR_std_function_bool_from_float | MR_std_function_bool_from_float |
| typedef struct MR_DenoiseViaNormalsSettings | MR_DenoiseViaNormalsSettings |
| typedef struct MR_DenoiseViaNormalsSettings MR_DenoiseViaNormalsSettings |
Generated from class MR::DenoiseViaNormalsSettings. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_expected_void_std_string MR_expected_void_std_string |
| typedef struct MR_FaceNormals MR_FaceNormals |
| typedef struct MR_MeshTopology MR_MeshTopology |
| typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float |
| typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet |
| typedef struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars |
| MRC_API void MR_denoiseNormals | ( | const MR_Mesh * | mesh, |
| MR_FaceNormals * | normals, | ||
| const MR_UndirectedEdgeScalars * | v, | ||
| float | gamma ) |
Smooth face normals, given
| mesh | contains topology information and coordinates for equation weights |
| normals | input noisy normals and output smooth normals |
| v | edge indicator function (1 - smooth edge, 0 - crease edge) |
| gamma | the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... see the article "Mesh Denoising via a Novel Mumford-Shah Framework", equation (19) Generated from function MR::denoiseNormals. Parameter mesh can not be null. It is a single object. Parameter normals can not be null. It is a single object. Parameter v can not be null. It is a single object. |
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_AssignFromAnother | ( | MR_DenoiseViaNormalsSettings * | _this, |
| MR_PassBy | _other_pass_by, | ||
| MR_DenoiseViaNormalsSettings * | _other ) |
Generated from method MR::DenoiseViaNormalsSettings::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_ConstructFrom | ( | bool | fastIndicatorComputation, |
| float | beta, | ||
| float | gamma, | ||
| int | normalIters, | ||
| int | pointIters, | ||
| float | guideWeight, | ||
| bool | limitNearInitial, | ||
| float | maxInitialDist, | ||
| MR_UndirectedEdgeBitSet * | outCreases, | ||
| MR_PassBy | cb_pass_by, | ||
| MR_std_function_bool_from_float * | cb ) |
Constructs MR::DenoiseViaNormalsSettings elementwise. The reference to the parameter outCreases might be preserved in the constructed object. The reference to the parameter cb might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_DenoiseViaNormalsSettings_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
| MR_DenoiseViaNormalsSettings * | _other ) |
Generated from constructor MR::DenoiseViaNormalsSettings::DenoiseViaNormalsSettings. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_DenoiseViaNormalsSettings_Destroy() to free it when you're done using it.
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_DenoiseViaNormalsSettings_Destroy() to free it when you're done using it.
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_DenoiseViaNormalsSettings_DestroyArray(). Use MR_DenoiseViaNormalsSettings_OffsetMutablePtr() and MR_DenoiseViaNormalsSettings_OffsetPtr() to access the array elements.
| MRC_API void MR_DenoiseViaNormalsSettings_Destroy | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
Destroys a heap-allocated instance of MR_DenoiseViaNormalsSettings. Does nothing if the pointer is null.
| MRC_API void MR_DenoiseViaNormalsSettings_DestroyArray | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
Destroys a heap-allocated array of MR_DenoiseViaNormalsSettings. Does nothing if the pointer is null.
| MRC_API const float * MR_DenoiseViaNormalsSettings_Get_beta | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
0.001 - sharp edges, 0.01 - moderate edges, 0.1 - smooth edges Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named beta. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const MR_std_function_bool_from_float * MR_DenoiseViaNormalsSettings_Get_cb | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
to get the progress and optionally cancel Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const bool * MR_DenoiseViaNormalsSettings_Get_fastIndicatorComputation | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
use approximated computation, which is much faster than precise solution Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named fastIndicatorComputation. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const float * MR_DenoiseViaNormalsSettings_Get_gamma | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named gamma. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const float * MR_DenoiseViaNormalsSettings_Get_guideWeight | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
how much resulting points must be attracted to initial points (e.g. to avoid general shrinkage), must be > 0 Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named guideWeight. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const bool * MR_DenoiseViaNormalsSettings_Get_limitNearInitial | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
if true then maximal displacement of each point during denoising will be limited Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named limitNearInitial. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const float * MR_DenoiseViaNormalsSettings_Get_maxInitialDist | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
maximum distance between a point and its position before relaxation, ignored if limitNearInitial = false Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named maxInitialDist. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const int * MR_DenoiseViaNormalsSettings_Get_normalIters | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
the number of iterations to smooth normals and find creases; the more the better quality, but longer computation Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named normalIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_UndirectedEdgeBitSet *const * MR_DenoiseViaNormalsSettings_Get_outCreases | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
optionally returns creases found during smoothing Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named outCreases. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const int * MR_DenoiseViaNormalsSettings_Get_pointIters | ( | const MR_DenoiseViaNormalsSettings * | _this | ) |
the number of iterations to update vertex coordinates from found normals; the more the better quality, but longer computation Returns a pointer to a member variable of class MR::DenoiseViaNormalsSettings named pointIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_DenoiseViaNormalsSettings_GetMutable_beta | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
0.001 - sharp edges, 0.01 - moderate edges, 0.1 - smooth edges Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named beta. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_std_function_bool_from_float * MR_DenoiseViaNormalsSettings_GetMutable_cb | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
to get the progress and optionally cancel Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API bool * MR_DenoiseViaNormalsSettings_GetMutable_fastIndicatorComputation | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
use approximated computation, which is much faster than precise solution Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named fastIndicatorComputation. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_DenoiseViaNormalsSettings_GetMutable_gamma | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named gamma. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_DenoiseViaNormalsSettings_GetMutable_guideWeight | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
how much resulting points must be attracted to initial points (e.g. to avoid general shrinkage), must be > 0 Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named guideWeight. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API bool * MR_DenoiseViaNormalsSettings_GetMutable_limitNearInitial | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
if true then maximal displacement of each point during denoising will be limited Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named limitNearInitial. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_DenoiseViaNormalsSettings_GetMutable_maxInitialDist | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
maximum distance between a point and its position before relaxation, ignored if limitNearInitial = false Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named maxInitialDist. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int * MR_DenoiseViaNormalsSettings_GetMutable_normalIters | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
the number of iterations to smooth normals and find creases; the more the better quality, but longer computation Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named normalIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_UndirectedEdgeBitSet ** MR_DenoiseViaNormalsSettings_GetMutable_outCreases | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
optionally returns creases found during smoothing Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named outCreases. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int * MR_DenoiseViaNormalsSettings_GetMutable_pointIters | ( | MR_DenoiseViaNormalsSettings * | _this | ) |
the number of iterations to update vertex coordinates from found normals; the more the better quality, but longer computation Returns a mutable pointer to a member variable of class MR::DenoiseViaNormalsSettings named pointIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_OffsetMutablePtr | ( | MR_DenoiseViaNormalsSettings * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API const MR_DenoiseViaNormalsSettings * MR_DenoiseViaNormalsSettings_OffsetPtr | ( | const MR_DenoiseViaNormalsSettings * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_beta | ( | MR_DenoiseViaNormalsSettings * | _this, |
| float | value ) |
0.001 - sharp edges, 0.01 - moderate edges, 0.1 - smooth edges Modifies a member variable of class MR::DenoiseViaNormalsSettings named beta. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in beta.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_cb | ( | MR_DenoiseViaNormalsSettings * | _this, |
| MR_PassBy | value_pass_by, | ||
| MR_std_function_bool_from_float * | value ) |
to get the progress and optionally cancel Modifies a member variable of class MR::DenoiseViaNormalsSettings named cb. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element cb. When this function is called, this object will drop object references it had previously in cb.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_fastIndicatorComputation | ( | MR_DenoiseViaNormalsSettings * | _this, |
| bool | value ) |
use approximated computation, which is much faster than precise solution Modifies a member variable of class MR::DenoiseViaNormalsSettings named fastIndicatorComputation. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in fastIndicatorComputation.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_gamma | ( | MR_DenoiseViaNormalsSettings * | _this, |
| float | value ) |
the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... Modifies a member variable of class MR::DenoiseViaNormalsSettings named gamma. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in gamma.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_guideWeight | ( | MR_DenoiseViaNormalsSettings * | _this, |
| float | value ) |
how much resulting points must be attracted to initial points (e.g. to avoid general shrinkage), must be > 0 Modifies a member variable of class MR::DenoiseViaNormalsSettings named guideWeight. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in guideWeight.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_limitNearInitial | ( | MR_DenoiseViaNormalsSettings * | _this, |
| bool | value ) |
if true then maximal displacement of each point during denoising will be limited Modifies a member variable of class MR::DenoiseViaNormalsSettings named limitNearInitial. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in limitNearInitial.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_maxInitialDist | ( | MR_DenoiseViaNormalsSettings * | _this, |
| float | value ) |
maximum distance between a point and its position before relaxation, ignored if limitNearInitial = false Modifies a member variable of class MR::DenoiseViaNormalsSettings named maxInitialDist. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in maxInitialDist.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_normalIters | ( | MR_DenoiseViaNormalsSettings * | _this, |
| int | value ) |
the number of iterations to smooth normals and find creases; the more the better quality, but longer computation Modifies a member variable of class MR::DenoiseViaNormalsSettings named normalIters. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in normalIters.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_outCreases | ( | MR_DenoiseViaNormalsSettings * | _this, |
| MR_UndirectedEdgeBitSet * | value ) |
optionally returns creases found during smoothing Modifies a member variable of class MR::DenoiseViaNormalsSettings named outCreases. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element outCreases. When this function is called, this object will drop object references it had previously in outCreases.
| MRC_API void MR_DenoiseViaNormalsSettings_Set_pointIters | ( | MR_DenoiseViaNormalsSettings * | _this, |
| int | value ) |
the number of iterations to update vertex coordinates from found normals; the more the better quality, but longer computation Modifies a member variable of class MR::DenoiseViaNormalsSettings named pointIters. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in pointIters.
| MRC_API MR_expected_void_std_string * MR_meshDenoiseViaNormals | ( | MR_Mesh * | mesh, |
| const MR_DenoiseViaNormalsSettings * | settings ) |
Reduces noise in given mesh, see the article "Mesh Denoising via a Novel Mumford-Shah Framework" Generated from function MR::meshDenoiseViaNormals. Parameter mesh can not be null. It is a single object. Parameter settings is a single object. Parameter settings has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.
| MRC_API void MR_updateIndicator | ( | const MR_Mesh * | mesh, |
| MR_UndirectedEdgeScalars * | v, | ||
| const MR_FaceNormals * | normals, | ||
| float | beta, | ||
| float | gamma ) |
Compute edge indicator function (1 - smooth edge, 0 - crease edge) by solving large system of linear equations
| mesh | contains topology information and coordinates for equation weights |
| normals | per-face normals |
| beta | 0.001 - sharp edges, 0.01 - moderate edges, 0.1 - smooth edges |
| gamma | the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... see the article "Mesh Denoising via a Novel Mumford-Shah Framework", equation (20) Generated from function MR::updateIndicator. Parameter mesh can not be null. It is a single object. Parameter v can not be null. It is a single object. Parameter normals can not be null. It is a single object. |
| MRC_API void MR_updateIndicatorFast | ( | const MR_MeshTopology * | topology, |
| MR_UndirectedEdgeScalars * | v, | ||
| const MR_FaceNormals * | normals, | ||
| float | beta, | ||
| float | gamma ) |
Compute edge indicator function (1 - smooth edge, 0 - crease edge) by approximation without solving the system of linear equations
| normals | per-face normals |
| beta | 0.001 - sharp edges, 0.01 - moderate edges, 0.1 - smooth edges |
| gamma | the amount of smoothing: 0 - no smoothing, 1 - average smoothing, ... see the article "Mesh Denoising via a Novel Mumford-Shah Framework", equation (20) Generated from function MR::updateIndicatorFast. Parameter topology can not be null. It is a single object. Parameter v can not be null. It is a single object. Parameter normals can not be null. It is a single object. |