MeshLib C Docs
Loading...
Searching...
No Matches
MRGridSampling.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
14typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
15typedef struct MR_PointCloudPart MR_PointCloudPart; // Defined in `#include <MRCMesh/MRPointCloudPart.h>`.
16typedef struct MR_Vector_MR_ModelPointsData_MR_ObjId MR_Vector_MR_ModelPointsData_MR_ObjId; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.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_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet; // Defined in `#include <MRCMisc/std_optional_MR_VertBitSet.h>`.
21typedef struct MR_std_optional_std_vector_MR_ObjVertId MR_std_optional_std_vector_MR_ObjVertId; // Defined in `#include <MRCMisc/std_optional_std_vector_MR_ObjVertId.h>`.
22
23
27
34
44
54
60
65
71
77
82
88
94
99
105
111
116
122
126
131
135
138
141
146
149
152
158
161
166
171
181
182#ifdef __cplusplus
183} // extern "C"
184#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_PointCloudPart MR_PointCloudPart
Definition MRBestFit.h:24
struct MR_std_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet
Definition MRCloseVertices.h:19
MRC_API MR_ModelPointsData * MR_ModelPointsData_AssignFromAnother(MR_ModelPointsData *_this, const MR_ModelPointsData *_other)
MRC_API const MR_AffineXf3f *const * MR_ModelPointsData_Get_xf(const MR_ModelPointsData *_this)
MRC_API const MR_ObjId * MR_ModelPointsData_Get_fakeObjId(const MR_ModelPointsData *_this)
MRC_API const MR_VertBitSet *const * MR_ModelPointsData_Get_validPoints(const MR_ModelPointsData *_this)
MRC_API MR_std_optional_MR_VertBitSet * MR_verticesGridSampling(const MR_MeshPart *mp, float voxelSize, const MR_std_function_bool_from_float *cb)
MRC_API const MR_VertBitSet ** MR_ModelPointsData_GetMutable_validPoints(MR_ModelPointsData *_this)
MRC_API const MR_ModelPointsData * MR_ModelPointsData_OffsetPtr(const MR_ModelPointsData *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_ModelPointsData_Set_xf(MR_ModelPointsData *_this, const MR_AffineXf3f *value)
MRC_API MR_ObjVertId MR_ObjVertId_DefaultConstruct(void)
Constructs an empty (default-constructed) instance.
MRC_API bool MR_equal_MR_ObjVertId(const MR_ObjVertId *_1, const MR_ObjVertId *_2)
MRC_API void MR_ModelPointsData_DestroyArray(const MR_ModelPointsData *_this)
Destroys a heap-allocated array of MR_ModelPointsData. Does nothing if the pointer is null.
struct MR_ObjVertId MR_ObjVertId
Generated from class MR::ObjVertId.
MRC_API void MR_ModelPointsData_Set_validPoints(MR_ModelPointsData *_this, const MR_VertBitSet *value)
MRC_API MR_std_optional_MR_VertBitSet * MR_pointGridSampling(const MR_PointCloudPart *pcp, float voxelSize, const MR_std_function_bool_from_float *cb)
MRC_API void MR_ModelPointsData_Set_points(MR_ModelPointsData *_this, const MR_VertCoords *value)
MRC_API MR_ModelPointsData * MR_ModelPointsData_ConstructFrom(const MR_VertCoords *points, const MR_VertBitSet *validPoints, const MR_AffineXf3f *xf, MR_ObjId fakeObjId)
MRC_API const MR_VertCoords *const * MR_ModelPointsData_Get_points(const MR_ModelPointsData *_this)
MRC_API void MR_ModelPointsData_Destroy(const MR_ModelPointsData *_this)
Destroys a heap-allocated instance of MR_ModelPointsData. Does nothing if the pointer is null.
struct MR_Vector_MR_ModelPointsData_MR_ObjId MR_Vector_MR_ModelPointsData_MR_ObjId
Definition MRGridSampling.h:16
MRC_API MR_ModelPointsData * MR_ModelPointsData_DefaultConstruct(void)
MRC_API void MR_ModelPointsData_Set_fakeObjId(MR_ModelPointsData *_this, MR_ObjId value)
MRC_API MR_ModelPointsData * MR_ModelPointsData_ConstructFromAnother(const MR_ModelPointsData *_other)
struct MR_std_optional_std_vector_MR_ObjVertId MR_std_optional_std_vector_MR_ObjVertId
Definition MRGridSampling.h:21
MRC_API MR_ObjVertId * MR_ObjVertId_DefaultConstructArray(size_t num_elems)
struct MR_ModelPointsData MR_ModelPointsData
Definition MRGridSampling.h:26
MRC_API const MR_AffineXf3f ** MR_ModelPointsData_GetMutable_xf(MR_ModelPointsData *_this)
MRC_API MR_ModelPointsData * MR_ModelPointsData_OffsetMutablePtr(MR_ModelPointsData *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 const MR_VertCoords ** MR_ModelPointsData_GetMutable_points(MR_ModelPointsData *_this)
MRC_API MR_ModelPointsData * MR_ModelPointsData_DefaultConstructArray(size_t num_elems)
MRC_API MR_ObjId * MR_ModelPointsData_GetMutable_fakeObjId(MR_ModelPointsData *_this)
MRC_API MR_std_optional_std_vector_MR_ObjVertId * MR_multiModelGridSampling(const MR_Vector_MR_ModelPointsData_MR_ObjId *models, float voxelSize, const MR_std_function_bool_from_float *cb)
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:36
Definition MRId.h:97
Generated from class MR::ObjVertId.
Definition MRGridSampling.h:30
MR_VertId vId
Definition MRGridSampling.h:32
MR_ObjId objId
Definition MRGridSampling.h:31
Definition MRId.h:56