MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshThickness.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
16typedef struct MR_MeshIntersectionResult MR_MeshIntersectionResult; // Defined in `#include <MRCMesh/MRMeshIntersect.h>`.
17typedef struct MR_MeshProjectionResult MR_MeshProjectionResult; // Defined in `#include <MRCMesh/MRMeshProject.h>`.
18typedef struct MR_MeshTriPoint MR_MeshTriPoint; // Defined in `#include <MRCMesh/MRMeshTriPoint.h>`.
19typedef struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId; // Defined in `#include <MRCMisc/std_function_bool_from_MR_FaceId.h>`.
20typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
21typedef struct MR_std_optional_MR_VertScalars MR_std_optional_MR_VertScalars; // Defined in `#include <MRCMisc/std_optional_MR_VertScalars.h>`.
22
23
28
33
37typedef struct MR_InSphere MR_InSphere;
38
46
53
60MRC_API void MR_MeshPoint_Set_triPoint(MR_MeshPoint *_this, const MR_MeshTriPoint *value);
61
68
74MRC_API const MR_Vector3f *MR_MeshPoint_Get_pt(const MR_MeshPoint *_this);
75
81MRC_API void MR_MeshPoint_Set_pt(MR_MeshPoint *_this, MR_Vector3f value);
82
89
95MRC_API const MR_Vector3f *MR_MeshPoint_Get_inDir(const MR_MeshPoint *_this);
96
103
110
117
123MRC_API void MR_MeshPoint_Set_notIncidentFaces(MR_MeshPoint *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_FaceId *value);
124
131
135
140
149MRC_API MR_MeshPoint *MR_MeshPoint_ConstructFrom(const MR_MeshTriPoint *triPoint, MR_Vector3f pt, MR_Vector3f inDir, MR_PassBy notIncidentFaces_pass_by, MR_std_function_bool_from_MR_FaceId *notIncidentFaces);
150
153MRC_API const MR_MeshPoint *MR_MeshPoint_OffsetPtr(const MR_MeshPoint *ptr, ptrdiff_t i);
154
158
162MRC_API MR_MeshPoint *MR_MeshPoint_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshPoint *_other);
163
165MRC_API void MR_MeshPoint_Destroy(const MR_MeshPoint *_this);
166
168MRC_API void MR_MeshPoint_DestroyArray(const MR_MeshPoint *_this);
169
175MRC_API MR_MeshPoint *MR_MeshPoint_AssignFromAnother(MR_MeshPoint *_this, MR_PassBy _other_pass_by, MR_MeshPoint *_other);
176
181MRC_API void MR_MeshPoint_set(MR_MeshPoint *_this, const MR_Mesh *mesh, const MR_MeshTriPoint *p);
182
189MRC_API MR_MeshIntersectionResult *MR_rayInsideIntersect_MR_MeshPoint(const MR_Mesh *mesh, const MR_MeshPoint *m, const float *rayEnd);
190
196
205
213
222
230
237
245
252
258
265
272
278
285
296
306
317
321
326
330MRC_API MR_InSphereSearchSettings *MR_InSphereSearchSettings_ConstructFrom(bool insideAndOutside, float maxRadius, int maxIters, float minShrinkage, float minAngleCos);
331
335
339
345
348
351
359
364MRC_API const MR_Vector3f *MR_InSphere_Get_center(const MR_InSphere *_this);
365
371
377
382MRC_API const float *MR_InSphere_Get_radius(const MR_InSphere *_this);
383
387MRC_API void MR_InSphere_Set_radius(MR_InSphere *_this, float value);
388
394
401
409
416
420
425
432MRC_API MR_InSphere *MR_InSphere_ConstructFrom(MR_Vector3f center, float radius, const MR_MeshProjectionResult *oppositeTouchPoint);
433
436MRC_API const MR_InSphere *MR_InSphere_OffsetPtr(const MR_InSphere *ptr, ptrdiff_t i);
437
441
447
449MRC_API void MR_InSphere_Destroy(const MR_InSphere *_this);
450
452MRC_API void MR_InSphere_DestroyArray(const MR_InSphere *_this);
453
461
469
475
484
485#ifdef __cplusplus
486} // extern "C"
487#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId
Definition MREnumNeighbours.h:18
struct MR_MeshIntersectionResult MR_MeshIntersectionResult
Definition MRMeshIntersect.h:42
MRC_API float * MR_InSphereSearchSettings_GetMutable_minAngleCos(MR_InSphereSearchSettings *_this)
MRC_API void MR_MeshPoint_set(MR_MeshPoint *_this, const MR_Mesh *mesh, const MR_MeshTriPoint *p)
MRC_API bool * MR_InSphereSearchSettings_GetMutable_insideAndOutside(MR_InSphereSearchSettings *_this)
MRC_API MR_InSphere * MR_InSphere_DefaultConstructArray(size_t num_elems)
MRC_API void MR_MeshPoint_Destroy(const MR_MeshPoint *_this)
Destroys a heap-allocated instance of MR_MeshPoint. Does nothing if the pointer is null.
MRC_API void MR_InSphere_Destroy(const MR_InSphere *_this)
Destroys a heap-allocated instance of MR_InSphere. Does nothing if the pointer is null.
MRC_API void MR_MeshPoint_Set_notIncidentFaces(MR_MeshPoint *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_FaceId *value)
MRC_API float * MR_InSphereSearchSettings_GetMutable_maxRadius(MR_InSphereSearchSettings *_this)
MRC_API const float * MR_InSphereSearchSettings_Get_maxRadius(const MR_InSphereSearchSettings *_this)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_ConstructFrom(bool insideAndOutside, float maxRadius, int maxIters, float minShrinkage, float minAngleCos)
MRC_API MR_MeshTriPoint * MR_MeshPoint_GetMutable_triPoint(MR_MeshPoint *_this)
MRC_API MR_MeshPoint * MR_MeshPoint_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshPoint *_other)
MRC_API MR_InSphere * MR_InSphere_DefaultConstruct(void)
MRC_API float * MR_InSphereSearchSettings_GetMutable_minShrinkage(MR_InSphereSearchSettings *_this)
MRC_API MR_InSphere * MR_InSphere_ConstructFrom(MR_Vector3f center, float radius, const MR_MeshProjectionResult *oppositeTouchPoint)
MRC_API const MR_MeshTriPoint * MR_MeshPoint_Get_triPoint(const MR_MeshPoint *_this)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_DefaultConstruct(void)
MRC_API void MR_InSphereSearchSettings_DestroyArray(const MR_InSphereSearchSettings *_this)
Destroys a heap-allocated array of MR_InSphereSearchSettings. Does nothing if the pointer is null.
MRC_API MR_InSphere * MR_InSphere_OffsetMutablePtr(MR_InSphere *ptr, ptrdiff_t i)
MRC_API MR_InSphere * MR_findInSphere_MR_MeshPoint(const MR_Mesh *mesh, const MR_MeshPoint *m, const MR_InSphereSearchSettings *settings)
MRC_API MR_Vector3f * MR_MeshPoint_GetMutable_inDir(MR_MeshPoint *_this)
MRC_API void MR_InSphere_Set_radius(MR_InSphere *_this, float value)
MRC_API const bool * MR_InSphereSearchSettings_Get_insideAndOutside(const MR_InSphereSearchSettings *_this)
MRC_API const MR_MeshPoint * MR_MeshPoint_OffsetPtr(const MR_MeshPoint *ptr, ptrdiff_t i)
MRC_API MR_InSphere * MR_InSphere_ConstructFromAnother(const MR_InSphere *_other)
MRC_API void MR_InSphereSearchSettings_Set_maxIters(MR_InSphereSearchSettings *_this, int value)
MRC_API void MR_InSphereSearchSettings_Set_maxRadius(MR_InSphereSearchSettings *_this, float value)
MRC_API void MR_MeshPoint_DestroyArray(const MR_MeshPoint *_this)
Destroys a heap-allocated array of MR_MeshPoint. Does nothing if the pointer is null.
struct MR_InSphere MR_InSphere
Definition MRMeshThickness.h:37
MRC_API const MR_Vector3f * MR_MeshPoint_Get_pt(const MR_MeshPoint *_this)
MRC_API const MR_InSphereSearchSettings * MR_InSphereSearchSettings_OffsetPtr(const MR_InSphereSearchSettings *ptr, ptrdiff_t i)
MRC_API const int * MR_InSphereSearchSettings_Get_maxIters(const MR_InSphereSearchSettings *_this)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_OffsetMutablePtr(MR_InSphereSearchSettings *ptr, ptrdiff_t i)
MRC_API const MR_MeshProjectionResult * MR_InSphere_Get_oppositeTouchPoint(const MR_InSphere *_this)
MRC_API const float * MR_InSphere_Get_radius(const MR_InSphere *_this)
MRC_API MR_MeshPoint * MR_MeshPoint_DefaultConstruct(void)
MRC_API MR_std_function_bool_from_MR_FaceId * MR_MeshPoint_GetMutable_notIncidentFaces(MR_MeshPoint *_this)
MRC_API const MR_std_function_bool_from_MR_FaceId * MR_MeshPoint_Get_notIncidentFaces(const MR_MeshPoint *_this)
MRC_API MR_std_optional_MR_VertScalars * MR_computeRayThicknessAtVertices(const MR_Mesh *mesh, const MR_std_function_bool_from_float *progress)
MRC_API const MR_Vector3f * MR_InSphere_Get_center(const MR_InSphere *_this)
MRC_API void MR_InSphere_DestroyArray(const MR_InSphere *_this)
Destroys a heap-allocated array of MR_InSphere. Does nothing if the pointer is null.
struct MR_MeshPoint MR_MeshPoint
Definition MRMeshThickness.h:27
MRC_API MR_Vector3f * MR_InSphere_GetMutable_center(MR_InSphere *_this)
MRC_API const MR_InSphere * MR_InSphere_OffsetPtr(const MR_InSphere *ptr, ptrdiff_t i)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_AssignFromAnother(MR_InSphereSearchSettings *_this, const MR_InSphereSearchSettings *_other)
MRC_API void MR_MeshPoint_Set_triPoint(MR_MeshPoint *_this, const MR_MeshTriPoint *value)
MRC_API MR_InSphere * MR_findInSphere_MR_VertId(const MR_Mesh *mesh, MR_VertId v, const MR_InSphereSearchSettings *settings)
MRC_API MR_MeshIntersectionResult * MR_rayInsideIntersect_MR_VertId(const MR_Mesh *mesh, MR_VertId v, const float *rayEnd)
MRC_API MR_MeshPoint * MR_MeshPoint_ConstructFrom(const MR_MeshTriPoint *triPoint, MR_Vector3f pt, MR_Vector3f inDir, MR_PassBy notIncidentFaces_pass_by, MR_std_function_bool_from_MR_FaceId *notIncidentFaces)
MRC_API MR_MeshProjectionResult * MR_InSphere_GetMutable_oppositeTouchPoint(MR_InSphere *_this)
MRC_API MR_MeshPoint * MR_MeshPoint_DefaultConstructArray(size_t num_elems)
MRC_API void MR_MeshPoint_Set_inDir(MR_MeshPoint *_this, MR_Vector3f value)
MRC_API float * MR_InSphere_GetMutable_radius(MR_InSphere *_this)
MRC_API void MR_MeshPoint_Set_pt(MR_MeshPoint *_this, MR_Vector3f value)
MRC_API void MR_InSphereSearchSettings_Set_minShrinkage(MR_InSphereSearchSettings *_this, float value)
struct MR_std_optional_MR_VertScalars MR_std_optional_MR_VertScalars
Definition MRMeshThickness.h:21
MRC_API MR_Vector3f * MR_MeshPoint_GetMutable_pt(MR_MeshPoint *_this)
MRC_API MR_MeshPoint * MR_MeshPoint_AssignFromAnother(MR_MeshPoint *_this, MR_PassBy _other_pass_by, MR_MeshPoint *_other)
MRC_API void MR_InSphereSearchSettings_Set_insideAndOutside(MR_InSphereSearchSettings *_this, bool value)
MRC_API void MR_InSphereSearchSettings_Destroy(const MR_InSphereSearchSettings *_this)
Destroys a heap-allocated instance of MR_InSphereSearchSettings. Does nothing if the pointer is null.
MRC_API const float * MR_InSphereSearchSettings_Get_minShrinkage(const MR_InSphereSearchSettings *_this)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_DefaultConstructArray(size_t num_elems)
MRC_API int * MR_InSphereSearchSettings_GetMutable_maxIters(MR_InSphereSearchSettings *_this)
MRC_API MR_MeshIntersectionResult * MR_rayInsideIntersect_MR_MeshPoint(const MR_Mesh *mesh, const MR_MeshPoint *m, const float *rayEnd)
MRC_API MR_InSphere * MR_InSphere_AssignFromAnother(MR_InSphere *_this, const MR_InSphere *_other)
MRC_API void MR_InSphere_Set_oppositeTouchPoint(MR_InSphere *_this, const MR_MeshProjectionResult *value)
MRC_API MR_MeshPoint * MR_MeshPoint_OffsetMutablePtr(MR_MeshPoint *ptr, ptrdiff_t i)
struct MR_InSphereSearchSettings MR_InSphereSearchSettings
Definition MRMeshThickness.h:32
MRC_API void MR_InSphere_Set_center(MR_InSphere *_this, MR_Vector3f value)
MRC_API void MR_InSphereSearchSettings_Set_minAngleCos(MR_InSphereSearchSettings *_this, float value)
MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_ConstructFromAnother(const MR_InSphereSearchSettings *_other)
MRC_API MR_std_optional_MR_VertScalars * MR_computeInSphereThicknessAtVertices(const MR_Mesh *mesh, const MR_InSphereSearchSettings *settings, const MR_std_function_bool_from_float *progress)
MRC_API const MR_Vector3f * MR_MeshPoint_Get_inDir(const MR_MeshPoint *_this)
MRC_API const float * MR_InSphereSearchSettings_Get_minAngleCos(const MR_InSphereSearchSettings *_this)
struct MR_MeshProjectionResult MR_MeshProjectionResult
Definition MRMesh.h:27
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRId.h:55