MeshLib C Docs
Loading...
Searching...
No Matches
MRGridSettings.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stddef.h>
8#include <stdint.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_BMap_MR_FaceId_uint64_t MR_BMap_MR_FaceId_uint64_t; // Defined in `#include <MRCMesh/MRBuffer.h>`.
15typedef struct MR_BMap_MR_UndirectedEdgeId_uint64_t MR_BMap_MR_UndirectedEdgeId_uint64_t; // Defined in `#include <MRCMesh/MRBuffer.h>`.
16typedef struct MR_BMap_MR_VertId_uint64_t MR_BMap_MR_VertId_uint64_t; // Defined in `#include <MRCMesh/MRBuffer.h>`.
17
18
22
24enum // MR_GridSettings_EdgeType
25{
26 // (x,y) - (x+1,y)
28 // (x,y) - (x,y+1)
30 // (x,y) - (x+1,y+1)
32 // (x+1,y) - (x,y+1)
34};
35
37enum // MR_GridSettings_TriType
38{
39 // (x,y), (x+1,y), (x+1,y+1) if DiagonalA or (x,y), (x+1,y), (x,y+1) if DiagonalB
41 // (x,y), (x+1,y+1), (x,y+1) if DiagonalA or (x+1,y), (x+1,y+1), (x,y+1) if DiagonalB
43};
44
51
57
64
71
77
84
92
99
107
115
122
130
134
139
143
146
149
153
156
159
164
165#ifdef __cplusplus
166} // extern "C"
167#endif
struct MR_BMap_MR_VertId_uint64_t MR_BMap_MR_VertId_uint64_t
Definition MRBuffer.h:274
struct MR_BMap_MR_UndirectedEdgeId_uint64_t MR_BMap_MR_UndirectedEdgeId_uint64_t
Definition MRBuffer.h:278
struct MR_BMap_MR_FaceId_uint64_t MR_BMap_MR_FaceId_uint64_t
Definition MRBuffer.h:282
@ MR_GridSettings_TriType_Upper
Definition MRGridSettings.h:42
@ MR_GridSettings_TriType_Lower
Definition MRGridSettings.h:40
MRC_API MR_GridSettings * MR_GridSettings_OffsetMutablePtr(MR_GridSettings *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
@ MR_GridSettings_EdgeType_Vertical
Definition MRGridSettings.h:29
@ MR_GridSettings_EdgeType_Horizontal
Definition MRGridSettings.h:27
@ MR_GridSettings_EdgeType_DiagonalB
Definition MRGridSettings.h:33
@ MR_GridSettings_EdgeType_DiagonalA
Definition MRGridSettings.h:31
MRC_API MR_GridSettings * MR_GridSettings_ConstructFrom(MR_Vector2i dim, MR_PassBy vertIds_pass_by, MR_BMap_MR_VertId_uint64_t *vertIds, MR_PassBy uedgeIds_pass_by, MR_BMap_MR_UndirectedEdgeId_uint64_t *uedgeIds, MR_PassBy faceIds_pass_by, MR_BMap_MR_FaceId_uint64_t *faceIds)
struct MR_GridSettings MR_GridSettings
Definition MRGridSettings.h:21
MRC_API void MR_GridSettings_Destroy(const MR_GridSettings *_this)
Destroys a heap-allocated instance of MR_GridSettings. Does nothing if the pointer is null.
MRC_API const MR_BMap_MR_FaceId_uint64_t * MR_GridSettings_Get_faceIds(const MR_GridSettings *_this)
MRC_API void MR_GridSettings_Set_vertIds(MR_GridSettings *_this, MR_PassBy value_pass_by, MR_BMap_MR_VertId_uint64_t *value)
MRC_API MR_GridSettings * MR_GridSettings_DefaultConstruct(void)
MRC_API const MR_BMap_MR_UndirectedEdgeId_uint64_t * MR_GridSettings_Get_uedgeIds(const MR_GridSettings *_this)
MRC_API MR_GridSettings * MR_GridSettings_AssignFromAnother(MR_GridSettings *_this, MR_PassBy _other_pass_by, MR_GridSettings *_other)
MRC_API MR_BMap_MR_UndirectedEdgeId_uint64_t * MR_GridSettings_GetMutable_uedgeIds(MR_GridSettings *_this)
MRC_API void MR_GridSettings_Set_uedgeIds(MR_GridSettings *_this, MR_PassBy value_pass_by, MR_BMap_MR_UndirectedEdgeId_uint64_t *value)
MRC_API MR_GridSettings * MR_GridSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_GridSettings *_other)
MRC_API const MR_BMap_MR_VertId_uint64_t * MR_GridSettings_Get_vertIds(const MR_GridSettings *_this)
int32_t MR_GridSettings_EdgeType
Definition MRGridSettings.h:23
MRC_API MR_BMap_MR_FaceId_uint64_t * MR_GridSettings_GetMutable_faceIds(MR_GridSettings *_this)
MRC_API const MR_Vector2i * MR_GridSettings_Get_dim(const MR_GridSettings *_this)
MRC_API void MR_GridSettings_Set_dim(MR_GridSettings *_this, MR_Vector2i value)
MRC_API MR_BMap_MR_VertId_uint64_t * MR_GridSettings_GetMutable_vertIds(MR_GridSettings *_this)
MRC_API const MR_GridSettings * MR_GridSettings_OffsetPtr(const MR_GridSettings *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_Vector2i * MR_GridSettings_GetMutable_dim(MR_GridSettings *_this)
MRC_API MR_GridSettings * MR_GridSettings_DefaultConstructArray(size_t num_elems)
int32_t MR_GridSettings_TriType
Definition MRGridSettings.h:36
MRC_API void MR_GridSettings_DestroyArray(const MR_GridSettings *_this)
Destroys a heap-allocated array of MR_GridSettings. Does nothing if the pointer is null.
MRC_API void MR_GridSettings_Set_faceIds(MR_GridSettings *_this, MR_PassBy value_pass_by, MR_BMap_MR_FaceId_uint64_t *value)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector2.h:28