MeshLib C Docs
Loading...
Searching...
No Matches
MRVertDuplication.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
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_Triangulation MR_Triangulation; // Defined in `#include <MRCMesh/MRVector.h>`.
15typedef struct MR_std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId MR_std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId; // Defined in `#include <MRCMisc/std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId.h>`.
16typedef struct MR_std_pair_MR_VertId_MR_FaceId MR_std_pair_MR_VertId_MR_FaceId; // Defined in `#include <MRCMisc/std_pair_MR_VertId_MR_FaceId.h>`.
17typedef struct MR_std_vector_MR_MeshBuilder_VertDuplication MR_std_vector_MR_MeshBuilder_VertDuplication; // Defined in `#include <MRCMisc/std_vector_MR_MeshBuilder_VertDuplication.h>`.
18
19
23
30
35
42
49
56
63
70
77
81
86
93
97
101
107
110
113
121
135
140
144
148
152
156
161
165
169
175
178
181
189
194
199
204
209
214
219
225
233
236MRC_API void MR_MeshBuilder_VertInfo_setNumChains(MR_MeshBuilder_VertInfo *_this, unsigned int openChains, unsigned int closedChains);
237
240MRC_API void MR_MeshBuilder_VertInfo_setNumRepeatedVerts(MR_MeshBuilder_VertInfo *_this, unsigned int repeatedVerts, unsigned int maxVertRepetitions);
241
247
253
259
265
271
277
281
286
293
297
301
307
310
313
321
326
331
338
339#ifdef __cplusplus
340} // extern "C"
341#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_Triangulation MR_Triangulation
std::vector<T>-like container that requires specific indexing type,
Definition MRAlphaShape.h:19
struct MR_std_vector_MR_MeshBuilder_VertDuplication MR_std_vector_MR_MeshBuilder_VertDuplication
Definition MRAlphaShape.h:25
struct MR_std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId MR_std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId
Definition MRMesh.h:50
MRC_API void MR_MeshBuilder_VertInfo_setNumRepeatedVerts(MR_MeshBuilder_VertInfo *_this, unsigned int repeatedVerts, unsigned int maxVertRepetitions)
MRC_API void MR_MeshBuilder_VertInfo_Destroy(const MR_MeshBuilder_VertInfo *_this)
Destroys a heap-allocated instance of MR_MeshBuilder_VertInfo. Does nothing if the pointer is null.
MRC_API const unsigned int * MR_MeshBuilder_VertInfo_Get_maxNumRepeatedVerts(void)
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_ConstructFromAnother(const MR_MeshBuilder_VertTri *_other)
struct MR_MeshBuilder_VertTri MR_MeshBuilder_VertTri
Definition MRVertDuplication.h:34
MRC_API size_t MR_MeshBuilder_duplicateNonManifoldVertices(MR_Triangulation *t, MR_FaceBitSet *region, MR_std_vector_MR_MeshBuilder_VertDuplication *dups, const MR_VertId *lastValidVert, const MR_std_function_bool_from_MR_VertId_MR_VertId_MR_VertId_MR_VertId_MR_VertId *betterCont)
MRC_API unsigned int MR_MeshBuilder_VertInfo_numRepeatedVerts(const MR_MeshBuilder_VertInfo *_this)
MRC_API MR_VertId * MR_MeshBuilder_VertTri_GetMutable_v(MR_MeshBuilder_VertTri *_this)
MRC_API const MR_FaceId * MR_MeshBuilder_VertTri_Get_f(const MR_MeshBuilder_VertTri *_this)
MRC_API MR_std_pair_MR_VertId_MR_FaceId * MR_MeshBuilder_VertTri_asPair(const MR_MeshBuilder_VertTri *_this)
MRC_API unsigned int MR_MeshBuilder_VertInfo_numOpenChains(const MR_MeshBuilder_VertInfo *_this)
MRC_API void MR_MeshBuilder_VertTri_DestroyArray(const MR_MeshBuilder_VertTri *_this)
Destroys a heap-allocated array of MR_MeshBuilder_VertTri. Does nothing if the pointer is null.
MRC_API const MR_VertId * MR_MeshBuilder_VertDuplication_Get_srcVert(const MR_MeshBuilder_VertDuplication *_this)
MRC_API MR_VertId * MR_MeshBuilder_VertDuplication_GetMutable_dupVert(MR_MeshBuilder_VertDuplication *_this)
MRC_API unsigned int MR_MeshBuilder_VertInfo_maxVertRepetitions(const MR_MeshBuilder_VertInfo *_this)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_DefaultConstruct(void)
MRC_API void MR_MeshBuilder_VertInfo_setNumChains(MR_MeshBuilder_VertInfo *_this, unsigned int openChains, unsigned int closedChains)
MRC_API bool MR_less_MR_MeshBuilder_VertTri(const MR_MeshBuilder_VertTri *l, const MR_MeshBuilder_VertTri *r)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_OffsetMutablePtr(MR_MeshBuilder_VertInfo *ptr, ptrdiff_t i)
MRC_API void MR_MeshBuilder_VertDuplication_DestroyArray(const MR_MeshBuilder_VertDuplication *_this)
Destroys a heap-allocated array of MR_MeshBuilder_VertDuplication. Does nothing if the pointer is nul...
MRC_API const MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_OffsetPtr(const MR_MeshBuilder_VertTri *ptr, ptrdiff_t i)
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_OffsetMutablePtr(MR_MeshBuilder_VertTri *ptr, ptrdiff_t i)
MRC_API const unsigned int * MR_MeshBuilder_VertInfo_Get_maxNumClosedChains(void)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_DefaultConstructArray(size_t num_elems)
MRC_API unsigned int MR_MeshBuilder_VertInfo_numClosedChains(const MR_MeshBuilder_VertInfo *_this)
struct MR_std_pair_MR_VertId_MR_FaceId MR_std_pair_MR_VertId_MR_FaceId
Definition MRVertDuplication.h:16
MRC_API MR_VertId * MR_MeshBuilder_VertDuplication_GetMutable_srcVert(MR_MeshBuilder_VertDuplication *_this)
MRC_API void MR_MeshBuilder_VertTri_Set_f(MR_MeshBuilder_VertTri *_this, MR_FaceId value)
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_DefaultConstructArray(size_t num_elems)
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_AssignFromAnother(MR_MeshBuilder_VertDuplication *_this, const MR_MeshBuilder_VertDuplication *_other)
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_DefaultConstruct(void)
MRC_API void MR_MeshBuilder_VertInfo_DestroyArray(const MR_MeshBuilder_VertInfo *_this)
Destroys a heap-allocated array of MR_MeshBuilder_VertInfo. Does nothing if the pointer is null.
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_ConstructFrom(MR_VertId srcVert, MR_VertId dupVert)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_ConstructFromAnother(const MR_MeshBuilder_VertInfo *_other)
MRC_API const MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_OffsetPtr(const MR_MeshBuilder_VertDuplication *ptr, ptrdiff_t i)
MRC_API void MR_MeshBuilder_VertTri_Set_v(MR_MeshBuilder_VertTri *_this, MR_VertId value)
struct MR_MeshBuilder_VertInfo MR_MeshBuilder_VertInfo
Definition MRVertDuplication.h:29
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_ConstructFrom(MR_VertId v, MR_FaceId f)
MRC_API const MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_OffsetPtr(const MR_MeshBuilder_VertInfo *ptr, ptrdiff_t i)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_VertInfo_AssignFromAnother(MR_MeshBuilder_VertInfo *_this, const MR_MeshBuilder_VertInfo *_other)
MRC_API bool MR_MeshBuilder_VertInfo_areTwinChains(const MR_MeshBuilder_VertInfo *_this, unsigned int numTris)
MRC_API const MR_VertId * MR_MeshBuilder_VertTri_Get_v(const MR_MeshBuilder_VertTri *_this)
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_DefaultConstructArray(size_t num_elems)
MRC_API MR_MeshBuilder_VertInfo * MR_MeshBuilder_inspectVertNeighbourhood(const MR_Triangulation *t, const MR_MeshBuilder_VertTri *begin, const MR_MeshBuilder_VertTri *end)
MRC_API const unsigned int * MR_MeshBuilder_VertInfo_Get_maxMaxVertRepetitions(void)
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_DefaultConstruct(void)
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_ConstructFromAnother(const MR_MeshBuilder_VertDuplication *_other)
MRC_API const unsigned int * MR_MeshBuilder_VertInfo_Get_maxNumOpenChains(void)
MRC_API void MR_MeshBuilder_VertDuplication_Set_dupVert(MR_MeshBuilder_VertDuplication *_this, MR_VertId value)
struct MR_MeshBuilder_VertDuplication MR_MeshBuilder_VertDuplication
Definition MRVertDuplication.h:22
MRC_API unsigned int MR_MeshBuilder_VertInfo_numChains(const MR_MeshBuilder_VertInfo *_this)
MRC_API void MR_MeshBuilder_VertDuplication_Destroy(const MR_MeshBuilder_VertDuplication *_this)
Destroys a heap-allocated instance of MR_MeshBuilder_VertDuplication. Does nothing if the pointer is ...
MRC_API const MR_VertId * MR_MeshBuilder_VertDuplication_Get_dupVert(const MR_MeshBuilder_VertDuplication *_this)
MRC_API bool MR_MeshBuilder_VertInfo_hasRepeatedVerts(const MR_MeshBuilder_VertInfo *_this)
MRC_API void MR_MeshBuilder_VertTri_Destroy(const MR_MeshBuilder_VertTri *_this)
Destroys a heap-allocated instance of MR_MeshBuilder_VertTri. Does nothing if the pointer is null.
MRC_API MR_MeshBuilder_VertTri * MR_MeshBuilder_VertTri_AssignFromAnother(MR_MeshBuilder_VertTri *_this, const MR_MeshBuilder_VertTri *_other)
MRC_API MR_MeshBuilder_VertDuplication * MR_MeshBuilder_VertDuplication_OffsetMutablePtr(MR_MeshBuilder_VertDuplication *ptr, ptrdiff_t i)
MRC_API void MR_MeshBuilder_VertDuplication_Set_srcVert(MR_MeshBuilder_VertDuplication *_this, MR_VertId value)
MRC_API MR_FaceId * MR_MeshBuilder_VertTri_GetMutable_f(MR_MeshBuilder_VertTri *_this)
MRC_API bool MR_MeshBuilder_VertInfo_duplicationNeeded(const MR_MeshBuilder_VertInfo *_this)
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRId.h:31
Definition MRId.h:41