MeshLib C Docs
Loading...
Searching...
No Matches
MRInnerShell.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/exports.h>
4
5#include <stdbool.h>
6#include <stddef.h>
7#include <stdint.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_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
16typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
17typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18
19
20typedef int32_t MR_Side;
21enum // MR_Side
22{
25};
26
29
33
39
44
50
56
61
67
73
78
84
91
97
104
111
117
124
128
133
136MRC_API MR_FindInnerShellSettings *MR_FindInnerShellSettings_ConstructFrom(MR_Side side, float maxDistSq, bool useWindingNumber, float windingNumberThreshold, int32_t minVertsInComp);
137
140
143
148
151
154
160
166
171
177
183
188
194
200
205
211
215
220
223MRC_API MR_ShellVertexInfo *MR_ShellVertexInfo_ConstructFrom(bool inRange, bool projOnBd, bool rightSide);
224
227
230
235
238
241
247
252
263
273
283
284#ifdef __cplusplus
285} // extern "C"
286#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API MR_VertBitSet * MR_findInnerShellVerts(const MR_MeshPart *mp, const MR_Mesh *shell, const MR_FindInnerShellSettings *settings)
MRC_API void MR_ShellVertexInfo_Set_rightSide(MR_ShellVertexInfo *_this, bool value)
MRC_API int32_t * MR_FindInnerShellSettings_GetMutable_minVertsInComp(MR_FindInnerShellSettings *_this)
MRC_API bool * MR_ShellVertexInfo_GetMutable_inRange(MR_ShellVertexInfo *_this)
MRC_API bool * MR_ShellVertexInfo_GetMutable_projOnBd(MR_ShellVertexInfo *_this)
MRC_API const MR_FindInnerShellSettings * MR_FindInnerShellSettings_OffsetPtr(const MR_FindInnerShellSettings *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_FindInnerShellSettings MR_FindInnerShellSettings
Generated from class MR::FindInnerShellSettings.
Definition MRInnerShell.h:28
MRC_API void MR_FindInnerShellSettings_Destroy(const MR_FindInnerShellSettings *_this)
Destroys a heap-allocated instance of MR_FindInnerShellSettings. Does nothing if the pointer is null.
MRC_API void MR_FindInnerShellSettings_DestroyArray(const MR_FindInnerShellSettings *_this)
Destroys a heap-allocated array of MR_FindInnerShellSettings. Does nothing if the pointer is null.
MRC_API void MR_ShellVertexInfo_Destroy(const MR_ShellVertexInfo *_this)
Destroys a heap-allocated instance of MR_ShellVertexInfo. Does nothing if the pointer is null.
MRC_API MR_FindInnerShellSettings * MR_FindInnerShellSettings_OffsetMutablePtr(MR_FindInnerShellSettings *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 float * MR_FindInnerShellSettings_GetMutable_windingNumberThreshold(MR_FindInnerShellSettings *_this)
MRC_API MR_FindInnerShellSettings * MR_FindInnerShellSettings_ConstructFrom(MR_Side side, float maxDistSq, bool useWindingNumber, float windingNumberThreshold, int32_t minVertsInComp)
MRC_API MR_FindInnerShellSettings * MR_FindInnerShellSettings_ConstructFromAnother(const MR_FindInnerShellSettings *_other)
@ MR_Side_Positive
Definition MRInnerShell.h:24
@ MR_Side_Negative
Definition MRInnerShell.h:23
MRC_API void MR_FindInnerShellSettings_Set_side(MR_FindInnerShellSettings *_this, MR_Side value)
MRC_API MR_FaceBitSet * MR_findInnerShellFacesWithSplits(const MR_MeshPart *mp, MR_Mesh *shell, const MR_FindInnerShellSettings *settings)
MRC_API void MR_FindInnerShellSettings_Set_windingNumberThreshold(MR_FindInnerShellSettings *_this, float value)
MRC_API const bool * MR_ShellVertexInfo_Get_rightSide(const MR_ShellVertexInfo *_this)
MRC_API const float * MR_FindInnerShellSettings_Get_windingNumberThreshold(const MR_FindInnerShellSettings *_this)
MRC_API const bool * MR_FindInnerShellSettings_Get_useWindingNumber(const MR_FindInnerShellSettings *_this)
MRC_API void MR_FindInnerShellSettings_Set_useWindingNumber(MR_FindInnerShellSettings *_this, bool value)
MRC_API MR_ShellVertexInfo * MR_classifyShellVert(const MR_MeshPart *mp, const MR_Vector3f *shellPoint, const MR_FindInnerShellSettings *settings)
MRC_API const bool * MR_ShellVertexInfo_Get_projOnBd(const MR_ShellVertexInfo *_this)
MRC_API const float * MR_FindInnerShellSettings_Get_maxDistSq(const MR_FindInnerShellSettings *_this)
MRC_API bool MR_ShellVertexInfo_valid(const MR_ShellVertexInfo *_this)
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_OffsetMutablePtr(MR_ShellVertexInfo *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_FindInnerShellSettings * MR_FindInnerShellSettings_DefaultConstructArray(size_t num_elems)
struct MR_ShellVertexInfo MR_ShellVertexInfo
Definition MRInnerShell.h:32
MRC_API const int32_t * MR_FindInnerShellSettings_Get_minVertsInComp(const MR_FindInnerShellSettings *_this)
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_DefaultConstructArray(size_t num_elems)
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_DefaultConstruct(void)
MRC_API const MR_Side * MR_FindInnerShellSettings_Get_side(const MR_FindInnerShellSettings *_this)
int32_t MR_Side
Definition MRInnerShell.h:20
MRC_API void MR_FindInnerShellSettings_Set_maxDistSq(MR_FindInnerShellSettings *_this, float value)
MRC_API bool * MR_ShellVertexInfo_GetMutable_rightSide(MR_ShellVertexInfo *_this)
MRC_API float * MR_FindInnerShellSettings_GetMutable_maxDistSq(MR_FindInnerShellSettings *_this)
MRC_API bool * MR_FindInnerShellSettings_GetMutable_useWindingNumber(MR_FindInnerShellSettings *_this)
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_AssignFromAnother(MR_ShellVertexInfo *_this, const MR_ShellVertexInfo *_other)
MRC_API const bool * MR_ShellVertexInfo_Get_inRange(const MR_ShellVertexInfo *_this)
MRC_API void MR_ShellVertexInfo_Set_projOnBd(MR_ShellVertexInfo *_this, bool value)
MRC_API void MR_ShellVertexInfo_Set_inRange(MR_ShellVertexInfo *_this, bool value)
MRC_API const MR_ShellVertexInfo * MR_ShellVertexInfo_OffsetPtr(const MR_ShellVertexInfo *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_FindInnerShellSettings * MR_FindInnerShellSettings_AssignFromAnother(MR_FindInnerShellSettings *_this, const MR_FindInnerShellSettings *_other)
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_ConstructFrom(bool inRange, bool projOnBd, bool rightSide)
MRC_API void MR_FindInnerShellSettings_Set_minVertsInComp(MR_FindInnerShellSettings *_this, int32_t value)
MRC_API MR_Side * MR_FindInnerShellSettings_GetMutable_side(MR_FindInnerShellSettings *_this)
MRC_API MR_FindInnerShellSettings * MR_FindInnerShellSettings_DefaultConstruct(void)
MRC_API void MR_ShellVertexInfo_DestroyArray(const MR_ShellVertexInfo *_this)
Destroys a heap-allocated array of MR_ShellVertexInfo. Does nothing if the pointer is null.
MRC_API MR_ShellVertexInfo * MR_ShellVertexInfo_ConstructFromAnother(const MR_ShellVertexInfo *_other)
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:51