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_pair_MR_VertId_MR_FaceId MR_std_pair_MR_VertId_MR_FaceId; // Defined in `#include <MRCMisc/std_pair_MR_VertId_MR_FaceId.h>`.
16typedef struct MR_std_vector_MR_MeshBuilder_VertDuplication MR_std_vector_MR_MeshBuilder_VertDuplication; // Defined in `#include <MRCMisc/std_vector_MR_MeshBuilder_VertDuplication.h>`.
17
18
22
29
34
41
48
55
62
69
76
80
85
92
96
100
106
109
112
120
131
136
140
144
148
152
157
161
165
171
174
177
185
190
195
200
205
210
215
221
229
232MRC_API void MR_MeshBuilder_VertInfo_setNumChains(MR_MeshBuilder_VertInfo *_this, unsigned int openChains, unsigned int closedChains);
233
236MRC_API void MR_MeshBuilder_VertInfo_setNumRepeatedVerts(MR_MeshBuilder_VertInfo *_this, unsigned int repeatedVerts, unsigned int maxVertRepetitions);
237
243
249
255
261
267
273
277
282
289
293
297
303
306
309
317
322
327
334
335#ifdef __cplusplus
336} // extern "C"
337#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 MRIdentifyVertices.h:13
struct MR_std_vector_MR_MeshBuilder_VertDuplication MR_std_vector_MR_MeshBuilder_VertDuplication
Definition MRMesh.h:52
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:33
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:15
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 size_t MR_MeshBuilder_duplicateNonManifoldVertices(MR_Triangulation *t, MR_FaceBitSet *region, MR_std_vector_MR_MeshBuilder_VertDuplication *dups, const MR_VertId *lastValidVert)
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:28
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:21
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