MeshLib C Docs
Loading...
Searching...
No Matches
MREdgeLengthMesh.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 <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
15typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
16typedef struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_std_optional_float MR_std_optional_float; // Defined in `#include <MRCMisc/std_optional_float.h>`.
18
19
24
29
33
38
43
47
52
56
61
65
68
71
75
78
81
86
92
98
104
111MRC_API bool MR_EdgeLengthMesh_isDelone(const MR_EdgeLengthMesh *_this, MR_UndirectedEdgeId ue, const float *threshold);
112
120
128
129#ifdef __cplusplus
130} // extern "C"
131#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:16
struct MR_UndirectedEdgeScalars MR_UndirectedEdgeScalars
Definition MRAggregateFlow.h:16
struct MR_std_optional_float MR_std_optional_float
Definition MRBestFitPolynomial.h:14
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API const MR_UndirectedEdgeScalars * MR_EdgeLengthMesh_Get_edgeLengths(const MR_EdgeLengthMesh *_this)
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_fromMesh(const MR_Mesh *mesh)
MRC_API const MR_MeshTopology * MR_EdgeLengthMesh_Get_topology(const MR_EdgeLengthMesh *_this)
MRC_API MR_UndirectedEdgeScalars * MR_EdgeLengthMesh_GetMutable_edgeLengths(MR_EdgeLengthMesh *_this)
MRC_API void MR_EdgeLengthMesh_Set_edgeLengths(MR_EdgeLengthMesh *_this, MR_PassBy value_pass_by, MR_UndirectedEdgeScalars *value)
struct MR_EdgeLengthMesh MR_EdgeLengthMesh
Definition MREdgeLengthMesh.h:23
MRC_API void MR_EdgeLengthMesh_Destroy(const MR_EdgeLengthMesh *_this)
Destroys a heap-allocated instance of MR_EdgeLengthMesh. Does nothing if the pointer is null.
MRC_API void MR_EdgeLengthMesh_Set_topology(MR_EdgeLengthMesh *_this, MR_PassBy value_pass_by, MR_MeshTopology *value)
MRC_API bool MR_EdgeLengthMesh_isDelone(const MR_EdgeLengthMesh *_this, MR_UndirectedEdgeId ue, const float *threshold)
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_ConstructFrom(MR_PassBy topology_pass_by, MR_MeshTopology *topology, MR_PassBy edgeLengths_pass_by, MR_UndirectedEdgeScalars *edgeLengths)
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_AssignFromAnother(MR_EdgeLengthMesh *_this, MR_PassBy _other_pass_by, MR_EdgeLengthMesh *_other)
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_DefaultConstruct(void)
MRC_API bool MR_EdgeLengthMesh_flipEdge(MR_EdgeLengthMesh *_this, MR_EdgeId e)
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_OffsetMutablePtr(MR_EdgeLengthMesh *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_EdgeLengthMesh * MR_EdgeLengthMesh_DefaultConstructArray(size_t num_elems)
MRC_API float MR_EdgeLengthMesh_cotan(const MR_EdgeLengthMesh *_this, MR_UndirectedEdgeId ue)
MRC_API const MR_EdgeLengthMesh * MR_EdgeLengthMesh_OffsetPtr(const MR_EdgeLengthMesh *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 void MR_EdgeLengthMesh_DestroyArray(const MR_EdgeLengthMesh *_this)
Destroys a heap-allocated array of MR_EdgeLengthMesh. Does nothing if the pointer is null.
MRC_API MR_EdgeLengthMesh * MR_EdgeLengthMesh_ConstructFromAnother(MR_PassBy _other_pass_by, MR_EdgeLengthMesh *_other)
MRC_API MR_MeshTopology * MR_EdgeLengthMesh_GetMutable_topology(MR_EdgeLengthMesh *_this)
MRC_API MR_std_optional_float * MR_EdgeLengthMesh_edgeLengthAfterFlip(const MR_EdgeLengthMesh *_this, MR_EdgeId e)
MRC_API float MR_EdgeLengthMesh_leftCotan(const MR_EdgeLengthMesh *_this, MR_EdgeId e)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRId.h:152
Definition MRId.h:36