MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshMetrics.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
14typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
15typedef struct MR_Plane3f MR_Plane3f; // Defined in `#include <MRCMesh/MRPlane3.h>`.
16typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
17typedef struct MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId; // Defined in `#include <MRCMisc/std_function_double_from_MR_VertId_MR_VertId_MR_VertId.h>`.
18typedef struct MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId; // Defined in `#include <MRCMisc/std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId.h>`.
19typedef struct MR_std_function_double_from_double_double MR_std_function_double_from_double_double; // Defined in `#include <MRCMisc/std_function_double_from_double_double.h>`.
20
21
37
43
48
54
60
65
71
77
82
88
92
97
101
104
107
111
114
117
122
128MRC_API double MR_calcCombinedFillMetric(const MR_Mesh *mesh, const MR_FaceBitSet *filledRegion, const MR_FillHoleMetric *metric);
129
136
143
151
161
167
174
182
192
199
206
218
224
231
232#ifdef __cplusplus
233} // extern "C"
234#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_Plane3f MR_Plane3f
Definition MRBestFit.h:23
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
struct MR_FillHoleMetric MR_FillHoleMetric
Definition MRMeshFillHole.h:17
MRC_API MR_FillHoleMetric * MR_getParallelPlaneFillMetric(const MR_Mesh *mesh, MR_EdgeId e, const MR_Plane3f *plane)
MRC_API MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId * MR_FillHoleMetric_GetMutable_triangleMetric(MR_FillHoleMetric *_this)
struct MR_std_function_double_from_double_double MR_std_function_double_from_double_double
Definition MRMeshMetrics.h:19
MRC_API MR_FillHoleMetric * MR_getCircumscribedMetric(const MR_Mesh *mesh)
MRC_API MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId * MR_FillHoleMetric_GetMutable_edgeMetric(MR_FillHoleMetric *_this)
struct MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId
Definition MRMeshMetrics.h:18
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_DefaultConstruct(void)
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_DefaultConstructArray(size_t num_elems)
MRC_API MR_FillHoleMetric * MR_getUniversalMetric(const MR_Mesh *mesh)
MRC_API MR_FillHoleMetric * MR_getVerticalStitchMetric(const MR_Mesh *mesh, const MR_Vector3f *upDir)
MRC_API MR_FillHoleMetric * MR_getMaxDihedralAngleMetric(const MR_Mesh *mesh)
MRC_API const MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId * MR_FillHoleMetric_Get_triangleMetric(const MR_FillHoleMetric *_this)
MRC_API MR_FillHoleMetric * MR_getEdgeLengthFillMetric(const MR_Mesh *mesh)
MRC_API MR_FillHoleMetric * MR_getMinTriAngleMetric(const MR_Mesh *mesh)
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_AssignFromAnother(MR_FillHoleMetric *_this, MR_PassBy _other_pass_by, MR_FillHoleMetric *_other)
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_ConstructFrom(MR_PassBy triangleMetric_pass_by, MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId *triangleMetric, MR_PassBy edgeMetric_pass_by, MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId *edgeMetric, MR_PassBy combineMetric_pass_by, MR_std_function_double_from_double_double *combineMetric)
MRC_API double MR_calcCombinedFillMetric(const MR_Mesh *mesh, const MR_FaceBitSet *filledRegion, const MR_FillHoleMetric *metric)
MRC_API MR_FillHoleMetric * MR_getMinAreaMetric(const MR_Mesh *mesh)
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FillHoleMetric *_other)
struct MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId
Definition MRMeshMetrics.h:17
MRC_API const MR_FillHoleMetric * MR_FillHoleMetric_OffsetPtr(const MR_FillHoleMetric *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FillHoleMetric * MR_getComplexFillMetric(const MR_Mesh *mesh, MR_EdgeId e)
MRC_API void MR_FillHoleMetric_Set_combineMetric(MR_FillHoleMetric *_this, MR_PassBy value_pass_by, MR_std_function_double_from_double_double *value)
MRC_API MR_FillHoleMetric * MR_getPlaneFillMetric(const MR_Mesh *mesh, MR_EdgeId e)
MRC_API const MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId * MR_FillHoleMetric_Get_edgeMetric(const MR_FillHoleMetric *_this)
MRC_API void MR_FillHoleMetric_DestroyArray(const MR_FillHoleMetric *_this)
Destroys a heap-allocated array of MR_FillHoleMetric. Does nothing if the pointer is null.
MRC_API void MR_FillHoleMetric_Set_triangleMetric(MR_FillHoleMetric *_this, MR_PassBy value_pass_by, MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId *value)
MRC_API MR_FillHoleMetric * MR_FillHoleMetric_OffsetMutablePtr(MR_FillHoleMetric *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FillHoleMetric * MR_getPlaneNormalizedFillMetric(const MR_Mesh *mesh, MR_EdgeId e)
MRC_API void MR_FillHoleMetric_Destroy(const MR_FillHoleMetric *_this)
Destroys a heap-allocated instance of MR_FillHoleMetric. Does nothing if the pointer is null.
MRC_API const MR_std_function_double_from_double_double * MR_FillHoleMetric_Get_combineMetric(const MR_FillHoleMetric *_this)
MRC_API MR_std_function_double_from_double_double * MR_FillHoleMetric_GetMutable_combineMetric(MR_FillHoleMetric *_this)
MRC_API MR_FillHoleMetric * MR_getComplexStitchMetric(const MR_Mesh *mesh)
MRC_API MR_FillHoleMetric * MR_getEdgeLengthStitchMetric(const MR_Mesh *mesh)
MRC_API void MR_FillHoleMetric_Set_edgeMetric(MR_FillHoleMetric *_this, MR_PassBy value_pass_by, MR_std_function_double_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId *value)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRId.h:152
Definition MRVector3.h:51