MeshLib C Docs
Loading...
Searching...
No Matches
MRMinimalSurface.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdint.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_FunctionVolume MR_FunctionVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
13typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
14typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
15typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
16typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
17typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
18
19
21typedef int32_t MR_TPMS_Type;
22enum // MR_TPMS_Type
23{
29};
30
34
44MRC_API MR_FunctionVolume *MR_TPMS_buildVolume(MR_TPMS_Type type, const MR_Vector3f *size, float frequency, float resolution);
45
51MRC_API MR_expected_MR_Mesh_std_string *MR_TPMS_build(MR_TPMS_Type type, const MR_Vector3f *size, float frequency, float resolution, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
52
58MRC_API MR_expected_MR_Mesh_std_string *MR_TPMS_fill(MR_TPMS_Type type, const MR_Mesh *mesh, float frequency, float resolution, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
59
63MRC_API MR_uint64_t MR_TPMS_getNumberOfVoxels_MR_Mesh(const MR_Mesh *mesh, float frequency, float resolution);
64
69
74MRC_API float MR_TPMS_estimateIso(MR_TPMS_Type type, float targetDensity);
75
80MRC_API float MR_TPMS_estimateDensity(MR_TPMS_Type type, float targetIso);
81
82#ifdef __cplusplus
83} // extern "C"
84#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_std_vector_std_string MR_std_vector_std_string
Definition MRAngleMeasurementObject.h:20
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:18
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
int32_t MR_TPMS_Type
Supported types of TPMS (Triply Periodic Minimal Surfaces)
Definition MRMinimalSurface.h:21
MRC_API float MR_TPMS_estimateIso(MR_TPMS_Type type, float targetDensity)
MRC_API float MR_TPMS_estimateDensity(MR_TPMS_Type type, float targetIso)
MRC_API MR_uint64_t MR_TPMS_getNumberOfVoxels_MR_Vector3f(const MR_Vector3f *size, float frequency, float resolution)
@ MR_TPMS_Type_DoubleGyroid
Definition MRMinimalSurface.h:27
@ MR_TPMS_Type_DoubleSchwartzP
Definition MRMinimalSurface.h:25
@ MR_TPMS_Type_Count
Definition MRMinimalSurface.h:28
@ MR_TPMS_Type_Gyroid
Definition MRMinimalSurface.h:26
@ MR_TPMS_Type_SchwartzP
Definition MRMinimalSurface.h:24
MRC_API MR_FunctionVolume * MR_TPMS_buildVolume(MR_TPMS_Type type, const MR_Vector3f *size, float frequency, float resolution)
MRC_API MR_expected_MR_Mesh_std_string * MR_TPMS_fill(MR_TPMS_Type type, const MR_Mesh *mesh, float frequency, float resolution, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_Mesh_std_string * MR_TPMS_build(MR_TPMS_Type type, const MR_Vector3f *size, float frequency, float resolution, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_uint64_t MR_TPMS_getNumberOfVoxels_MR_Mesh(const MR_Mesh *mesh, float frequency, float resolution)
MRC_API MR_std_vector_std_string * MR_TPMS_getTypeNames(void)
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
struct MR_FunctionVolume MR_FunctionVolume
Definition expected_MR_FunctionVolume_std_string.h:12
#define MRC_API
Definition exports.h:11
size_t size() const
Definition MRVector3.h:51