MeshLib C Docs
Loading...
Searching...
No Matches
MREmbedTerrainStructure.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/exports.h>
4
5#include <stddef.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
12typedef struct MR_FaceMap MR_FaceMap; // Defined in `#include <MRCMesh/MRVector.h>`.
13typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
14typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
15
16
17// Parameters of structure embedding in terrain
21
22// angle of fill cone (mound)
27
28// angle of fill cone (mound)
32
33// angle of fill cone (mound)
38
39// angle of cut cone (pit)
44
45// angle of cut cone (pit)
49
50// angle of cut cone (pit)
55
56// 20 deg
61
62// 20 deg
66
67// 20 deg
72
73// optional out new faces of embedded structure
78
79// optional out new faces of embedded structure
83
84// optional out new faces of embedded structure
89
90// optional out new faces of fill part
95
96// optional out new faces of fill part
100
101// optional out new faces of fill part
106
107// optional out new faces of cut part
112
113// optional out new faces of cut part
117
118// optional out new faces of cut part
123
124// optional out map new terrain faces to old terrain faces
129
130// optional out map new terrain faces to old terrain faces
134
135// optional out map new terrain faces to old terrain faces
140
144
149
152MRC_API MR_EmbeddedStructureParameters *MR_EmbeddedStructureParameters_ConstructFrom(float fillAngle, float cutAngle, float minAnglePrecision, MR_FaceBitSet *outStructFaces, MR_FaceBitSet *outFillFaces, MR_FaceBitSet *outCutFaces, MR_FaceMap *new2oldFaces);
153
156
159
164
167
170
176
177// Returns terrain mesh with structure embedded to it, or error string
178// terrain - mesh with +Z normal (not-closed mesh is expected)
179// structure - mesh with one open contour and +Z normal, that will be embedded in terrain
186
187#ifdef __cplusplus
188} // extern "C"
189#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_FaceMap MR_FaceMap
Definition MRBitSet.h:26
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:24
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
MRC_API MR_FaceBitSet *const * MR_EmbeddedStructureParameters_Get_outFillFaces(const MR_EmbeddedStructureParameters *_this)
MRC_API MR_FaceBitSet ** MR_EmbeddedStructureParameters_GetMutable_outCutFaces(MR_EmbeddedStructureParameters *_this)
MRC_API MR_FaceBitSet ** MR_EmbeddedStructureParameters_GetMutable_outStructFaces(MR_EmbeddedStructureParameters *_this)
MRC_API const float * MR_EmbeddedStructureParameters_Get_cutAngle(const MR_EmbeddedStructureParameters *_this)
MRC_API float * MR_EmbeddedStructureParameters_GetMutable_minAnglePrecision(MR_EmbeddedStructureParameters *_this)
MRC_API MR_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_ConstructFrom(float fillAngle, float cutAngle, float minAnglePrecision, MR_FaceBitSet *outStructFaces, MR_FaceBitSet *outFillFaces, MR_FaceBitSet *outCutFaces, MR_FaceMap *new2oldFaces)
MRC_API MR_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_AssignFromAnother(MR_EmbeddedStructureParameters *_this, const MR_EmbeddedStructureParameters *_other)
MRC_API MR_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_OffsetMutablePtr(MR_EmbeddedStructureParameters *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_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_DefaultConstruct(void)
MRC_API float * MR_EmbeddedStructureParameters_GetMutable_cutAngle(MR_EmbeddedStructureParameters *_this)
MRC_API void MR_EmbeddedStructureParameters_Destroy(const MR_EmbeddedStructureParameters *_this)
Destroys a heap-allocated instance of MR_EmbeddedStructureParameters. Does nothing if the pointer is ...
MRC_API void MR_EmbeddedStructureParameters_Set_fillAngle(MR_EmbeddedStructureParameters *_this, float value)
struct MR_EmbeddedStructureParameters MR_EmbeddedStructureParameters
Definition MREmbedTerrainStructure.h:20
MRC_API void MR_EmbeddedStructureParameters_Set_outStructFaces(MR_EmbeddedStructureParameters *_this, MR_FaceBitSet *value)
MRC_API MR_FaceBitSet *const * MR_EmbeddedStructureParameters_Get_outStructFaces(const MR_EmbeddedStructureParameters *_this)
MRC_API float * MR_EmbeddedStructureParameters_GetMutable_fillAngle(MR_EmbeddedStructureParameters *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_embedStructureToTerrain(const MR_Mesh *terrain, const MR_Mesh *structure, const MR_EmbeddedStructureParameters *params)
MRC_API MR_FaceBitSet *const * MR_EmbeddedStructureParameters_Get_outCutFaces(const MR_EmbeddedStructureParameters *_this)
MRC_API MR_FaceMap ** MR_EmbeddedStructureParameters_GetMutable_new2oldFaces(MR_EmbeddedStructureParameters *_this)
MRC_API const float * MR_EmbeddedStructureParameters_Get_minAnglePrecision(const MR_EmbeddedStructureParameters *_this)
MRC_API void MR_EmbeddedStructureParameters_Set_outCutFaces(MR_EmbeddedStructureParameters *_this, MR_FaceBitSet *value)
MRC_API const MR_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_OffsetPtr(const MR_EmbeddedStructureParameters *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_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_DefaultConstructArray(size_t num_elems)
MRC_API void MR_EmbeddedStructureParameters_Set_minAnglePrecision(MR_EmbeddedStructureParameters *_this, float value)
MRC_API const float * MR_EmbeddedStructureParameters_Get_fillAngle(const MR_EmbeddedStructureParameters *_this)
MRC_API void MR_EmbeddedStructureParameters_Set_outFillFaces(MR_EmbeddedStructureParameters *_this, MR_FaceBitSet *value)
MRC_API void MR_EmbeddedStructureParameters_DestroyArray(const MR_EmbeddedStructureParameters *_this)
Destroys a heap-allocated array of MR_EmbeddedStructureParameters. Does nothing if the pointer is nul...
MRC_API MR_FaceBitSet ** MR_EmbeddedStructureParameters_GetMutable_outFillFaces(MR_EmbeddedStructureParameters *_this)
MRC_API MR_EmbeddedStructureParameters * MR_EmbeddedStructureParameters_ConstructFromAnother(const MR_EmbeddedStructureParameters *_other)
MRC_API void MR_EmbeddedStructureParameters_Set_cutAngle(MR_EmbeddedStructureParameters *_this, float value)
MRC_API void MR_EmbeddedStructureParameters_Set_new2oldFaces(MR_EmbeddedStructureParameters *_this, MR_FaceMap *value)
MRC_API MR_FaceMap *const * MR_EmbeddedStructureParameters_Get_new2oldFaces(const MR_EmbeddedStructureParameters *_this)
#define MRC_API
Definition exports.h:11