MeshLib C Docs
Loading...
Searching...
No Matches
MRFloatGrid.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 <stdbool.h>
7#include <stddef.h>
8#include <stdint.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_Box3i MR_Box3i; // Defined in `#include <MRCMesh/MRBox.h>`.
15typedef struct MR_OpenVdbFloatGrid MR_OpenVdbFloatGrid; // Defined in `#include <MRCVoxels/MRVDBFloatGrid.h>`.
16typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
17typedef struct MR_Vector3i MR_Vector3i; // Defined in `#include <MRCMesh/MRVector3.h>`.
18typedef struct MR_VoxelBitSet MR_VoxelBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
19typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
20typedef struct MR_std_shared_ptr_MR_OpenVdbFloatGrid MR_std_shared_ptr_MR_OpenVdbFloatGrid; // Defined in `#include <MRCMisc/std_shared_ptr_MR_OpenVdbFloatGrid.h>`.
21
22
26
30
35
38
41
45
49
52
55
59
64
68
73
77
82
86
91
96
103
111
119
124MRC_API void MR_gaussianFilter(MR_FloatGrid *grid, int32_t width, int32_t iters, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
125
130MRC_API MR_FloatGrid *MR_gaussianFiltered(const MR_FloatGrid *grid, int32_t width, int32_t iters, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
131
136MRC_API float MR_getValue(const MR_FloatGrid *grid, const MR_Vector3i *p);
137
143MRC_API void MR_setValue_MR_Vector3i(MR_FloatGrid *grid, const MR_Vector3i *p, float value);
144
150MRC_API void MR_setValue_MR_VoxelBitSet(MR_FloatGrid *grid, const MR_VoxelBitSet *region, float value);
151
156
157// union operation on volumetric representation of two meshes
163
164// difference operation on volumetric representation of two meshes
170
171// intersection operation on volumetric representation of two meshes
177
178#ifdef __cplusplus
179} // extern "C"
180#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_VoxelBitSet MR_VoxelBitSet
Definition MRBitSet.h:103
MRC_API MR_FloatGrid * MR_mul_assign_MR_FloatGrid(MR_FloatGrid *a, const MR_FloatGrid *b)
MRC_API MR_FloatGrid * MR_FloatGrid_AssignFromAnother(MR_FloatGrid *_this, MR_PassBy _other_pass_by, MR_FloatGrid *_other)
MRC_API MR_FloatGrid * MR_add_assign_MR_FloatGrid(MR_FloatGrid *a, const MR_FloatGrid *b)
MRC_API MR_FloatGrid * MR_FloatGrid_DefaultConstructArray(size_t num_elems)
MRC_API bool MR_FloatGrid_ConvertTo_bool(const MR_FloatGrid *_this)
MRC_API void MR_FloatGrid_DestroyArray(const MR_FloatGrid *_this)
Destroys a heap-allocated array of MR_FloatGrid. Does nothing if the pointer is null.
MRC_API MR_FloatGrid * MR_gaussianFiltered(const MR_FloatGrid *grid, int32_t width, int32_t iters, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_FloatGrid * MR_FloatGrid_OffsetPtr(const MR_FloatGrid *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_FloatGrid * MR_resampled_MR_Vector3f(const MR_FloatGrid *grid, const MR_Vector3f *voxelScale, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_FloatGrid_Destroy(const MR_FloatGrid *_this)
Destroys a heap-allocated instance of MR_FloatGrid. Does nothing if the pointer is null.
MRC_API MR_uint64_t MR_heapBytes_MR_FloatGrid(const MR_FloatGrid *grid)
MRC_API MR_FloatGrid * MR_cropped(const MR_FloatGrid *grid, const MR_Box3i *box, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_FloatGrid * MR_resampled_float(const MR_FloatGrid *grid, float voxelScale, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_FloatGrid * MR_FloatGrid_OffsetMutablePtr(MR_FloatGrid *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 void MR_FloatGrid_swap(MR_FloatGrid *_this, MR_FloatGrid *other)
MRC_API MR_FloatGrid * MR_sub_assign_MR_FloatGrid(MR_FloatGrid *a, const MR_FloatGrid *b)
MRC_API MR_OpenVdbFloatGrid * MR_FloatGrid_arrow(const MR_FloatGrid *_this)
MRC_API void MR_FloatGrid_reset(MR_FloatGrid *_this)
MRC_API float MR_getValue(const MR_FloatGrid *grid, const MR_Vector3i *p)
MRC_API void MR_setValue_MR_VoxelBitSet(MR_FloatGrid *grid, const MR_VoxelBitSet *region, float value)
MRC_API MR_FloatGrid * MR_FloatGrid_DefaultConstruct(void)
MRC_API MR_std_shared_ptr_MR_OpenVdbFloatGrid * MR_FloatGrid_toVdb(const MR_FloatGrid *_this)
MRC_API void MR_setValue_MR_Vector3i(MR_FloatGrid *grid, const MR_Vector3i *p, float value)
MRC_API MR_FloatGrid * MR_FloatGrid_Construct(MR_PassBy ptr_pass_by, MR_std_shared_ptr_MR_OpenVdbFloatGrid *ptr)
MRC_API void MR_setLevelSetType(MR_FloatGrid *grid)
MRC_API MR_OpenVdbFloatGrid * MR_deref_MR_FloatGrid(const MR_FloatGrid *_this)
MRC_API void MR_gaussianFilter(MR_FloatGrid *grid, int32_t width, int32_t iters, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_OpenVdbFloatGrid * MR_FloatGrid_get(const MR_FloatGrid *_this)
MRC_API MR_FloatGrid * MR_FloatGrid_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FloatGrid *_other)
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:12
#define MRC_API
Definition exports.h:11
struct MR_std_shared_ptr_MR_OpenVdbFloatGrid MR_std_shared_ptr_MR_OpenVdbFloatGrid
Definition std_shared_ptr_MR_OpenVdbFloatGrid.h:17
struct MR_OpenVdbFloatGrid MR_OpenVdbFloatGrid
Definition std_shared_ptr_MR_OpenVdbFloatGrid.h:12
Definition MRBox.h:93
Definition MRVector3.h:51
Definition MRVector3.h:33