MeshLib C Docs
Loading...
Searching...
No Matches
MRPointsProject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_AABBTreePoints MR_AABBTreePoints; // Defined in `#include <MRCMesh/MRAABBTreePoints.h>`.
16typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
17typedef struct MR_BitSet MR_BitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18typedef struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId; // Defined in `#include <MRCMesh/MRBuffer.h>`.
19typedef struct MR_FewSmallest_MR_PointsProjectionResult MR_FewSmallest_MR_PointsProjectionResult; // Defined in `#include <MRCMesh/MRFewSmallest.h>`.
20typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
21typedef struct MR_PointCloudPart MR_PointCloudPart; // Defined in `#include <MRCMesh/MRPointCloudPart.h>`.
22typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
23typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
24typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
25typedef struct MR_std_function_bool_from_MR_VertId MR_std_function_bool_from_MR_VertId; // Defined in `#include <MRCMisc/std_function_bool_from_MR_VertId.h>`.
26typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
27typedef struct MR_std_pair_MR_VertId_MR_VertId MR_std_pair_MR_VertId_MR_VertId; // Defined in `#include <MRCMisc/std_pair_MR_VertId_MR_VertId.h>`.
28typedef struct MR_std_vector_MR_PointsProjectionResult MR_std_vector_MR_PointsProjectionResult; // Defined in `#include <MRCMisc/std_vector_MR_PointsProjectionResult.h>`.
29typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
30
31
34
38
45
52
58
63
69
75
80
86
90
95
99
102
105
110
113
116
122
138MRC_API MR_PointsProjectionResult *MR_findProjectionOnPoints_6(const MR_Vector3f *pt, const MR_PointCloudPart *pcp, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq, MR_PassBy skipCb_pass_by, MR_std_function_bool_from_MR_VertId *skipCb);
139
157MRC_API MR_PointsProjectionResult *MR_findProjectionOnPoints_7(const MR_Vector3f *pt, const MR_AABBTreePoints *tree, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq, const MR_VertBitSet *region, MR_PassBy skipCb_pass_by, MR_std_function_bool_from_MR_VertId *skipCb);
158
172MRC_API void MR_findFewClosestPoints(const MR_Vector3f *pt, const MR_PointCloud *pc, MR_FewSmallest_MR_PointsProjectionResult *res, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq);
173
185
193
199
204
210
216
221
227
233
238
244
250
255
261
267
272
278
284
289
295
299
304
307MRC_API MR_FindProjectionOnPointsSettings *MR_FindProjectionOnPointsSettings_ConstructFrom(const MR_BitSet *valid, const MR_AffineXf3f *xf, float upDistLimitSq, float loDistLimitSq, bool skipSameIndex, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
308
311
314
318
321
324
329
332
335
342
351
356
359
362
367
371
376
380
387
393
397
402
405
408
412
415
419
422
425
430
437
446
451
452#ifdef __cplusplus
453} // extern "C"
454#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_AABBTreePoints MR_AABBTreePoints
Definition MRAABBTreePoints.h:29
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_PointCloudPart MR_PointCloudPart
Definition MRBestFit.h:24
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:26
struct MR_BitSet MR_BitSet
Definition MRBitSet.h:179
struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId
std::vector<V>-like container that is 1) resized without initialization of its elements,...
Definition MRBuffer.h:73
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:20
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:15
struct MR_std_function_bool_from_MR_VertId MR_std_function_bool_from_MR_VertId
Definition MREnumNeighbours.h:19
struct MR_FewSmallest_MR_PointsProjectionResult MR_FewSmallest_MR_PointsProjectionResult
Definition MRFewSmallest.h:19
struct MR_PointsProjectionResult MR_PointsProjectionResult
Definition MRFewSmallest.h:13
struct MR_std_vector_MR_PointsProjectionResult MR_std_vector_MR_PointsProjectionResult
Definition MRFewSmallest.h:14
MRC_API void MR_findFewClosestPoints(const MR_Vector3f *pt, const MR_PointCloud *pc, MR_FewSmallest_MR_PointsProjectionResult *res, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq)
finds a number of the closest points in the cloud (as configured in
MRC_API MR_PointsProjector * MR_PointsProjector_OffsetMutablePtr(MR_PointsProjector *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_std_pair_MR_VertId_MR_VertId * MR_findTwoClosestPoints(const MR_PointCloud *pc, const MR_std_function_bool_from_float *progress)
MRC_API void MR_FindProjectionOnPointsSettings_DestroyArray(const MR_FindProjectionOnPointsSettings *_this)
Destroys a heap-allocated array of MR_FindProjectionOnPointsSettings. Does nothing if the pointer is ...
MRC_API MR_expected_void_std_string * MR_IPointsProjector_findProjections(const MR_IPointsProjector *_this, MR_std_vector_MR_PointsProjectionResult *results, const MR_std_vector_MR_Vector3f *points, const MR_FindProjectionOnPointsSettings *settings)
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_ConstructFromAnother(const MR_PointsProjectionResult *_other)
MRC_API const MR_IPointsProjector * MR_PointsProjector_UpcastTo_MR_IPointsProjector(const MR_PointsProjector *object)
MRC_API const MR_BitSet ** MR_FindProjectionOnPointsSettings_GetMutable_valid(MR_FindProjectionOnPointsSettings *_this)
MRC_API MR_expected_void_std_string * MR_PointsProjector_setPointCloud(MR_PointsProjector *_this, const MR_PointCloud *pointCloud)
MRC_API bool * MR_FindProjectionOnPointsSettings_GetMutable_skipSameIndex(MR_FindProjectionOnPointsSettings *_this)
MRC_API void MR_FindProjectionOnPointsSettings_Set_loDistLimitSq(MR_FindProjectionOnPointsSettings *_this, float value)
MRC_API void MR_IPointsProjector_DestroyArray(const MR_IPointsProjector *_this)
Destroys a heap-allocated array of MR_IPointsProjector. Does nothing if the pointer is null.
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_AssignFromAnother(MR_PointsProjectionResult *_this, const MR_PointsProjectionResult *_other)
MRC_API MR_PointsProjector * MR_PointsProjector_DefaultConstruct(void)
MRC_API MR_expected_void_std_string * MR_PointsProjector_findProjections(const MR_PointsProjector *_this, MR_std_vector_MR_PointsProjectionResult *results, const MR_std_vector_MR_Vector3f *points, const MR_FindProjectionOnPointsSettings *settings)
MRC_API void MR_PointsProjectionResult_Set_vId(MR_PointsProjectionResult *_this, MR_VertId value)
MRC_API const MR_VertId * MR_PointsProjectionResult_Get_vId(const MR_PointsProjectionResult *_this)
struct MR_PointsProjector MR_PointsProjector
Definition MRPointsProject.h:51
MRC_API const bool * MR_FindProjectionOnPointsSettings_Get_skipSameIndex(const MR_FindProjectionOnPointsSettings *_this)
MRC_API void MR_PointsProjectionResult_Destroy(const MR_PointsProjectionResult *_this)
Destroys a heap-allocated instance of MR_PointsProjectionResult. Does nothing if the pointer is null.
MRC_API void MR_PointsProjector_Destroy(const MR_PointsProjector *_this)
Destroys a heap-allocated instance of MR_PointsProjector. Does nothing if the pointer is null.
MRC_API MR_PointsProjector * MR_IPointsProjector_MutableDynamicDowncastTo_MR_PointsProjector(MR_IPointsProjector *object)
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_DefaultConstruct(void)
MRC_API void MR_PointsProjectionResult_DestroyArray(const MR_PointsProjectionResult *_this)
Destroys a heap-allocated array of MR_PointsProjectionResult. Does nothing if the pointer is null.
MRC_API const MR_BitSet *const * MR_FindProjectionOnPointsSettings_Get_valid(const MR_FindProjectionOnPointsSettings *_this)
MRC_API MR_PointsProjector * MR_PointsProjector_AssignFromAnother(MR_PointsProjector *_this, MR_PassBy _other_pass_by, MR_PointsProjector *_other)
MRC_API const float * MR_FindProjectionOnPointsSettings_Get_upDistLimitSq(const MR_FindProjectionOnPointsSettings *_this)
MRC_API void MR_FindProjectionOnPointsSettings_Set_cb(MR_FindProjectionOnPointsSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API const MR_AffineXf3f *const * MR_FindProjectionOnPointsSettings_Get_xf(const MR_FindProjectionOnPointsSettings *_this)
MRC_API float * MR_FindProjectionOnPointsSettings_GetMutable_upDistLimitSq(MR_FindProjectionOnPointsSettings *_this)
struct MR_std_pair_MR_VertId_MR_VertId MR_std_pair_MR_VertId_MR_VertId
Definition MRPointsProject.h:27
MRC_API MR_uint64_t MR_IPointsProjector_projectionsHeapBytes(const MR_IPointsProjector *_this, MR_uint64_t numProjections)
MRC_API const MR_PointsProjector * MR_IPointsProjector_DynamicDowncastTo_MR_PointsProjector(const MR_IPointsProjector *object)
MRC_API MR_PointsProjector * MR_PointsProjector_DefaultConstructArray(size_t num_elems)
MRC_API const MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_OffsetPtr(const MR_FindProjectionOnPointsSettings *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_IPointsProjector_Destroy(const MR_IPointsProjector *_this)
Destroys a heap-allocated instance of MR_IPointsProjector. Does nothing if the pointer is null.
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_DefaultConstruct(void)
MRC_API float * MR_FindProjectionOnPointsSettings_GetMutable_loDistLimitSq(MR_FindProjectionOnPointsSettings *_this)
MRC_API MR_PointsProjector * MR_IPointsProjector_MutableStaticDowncastTo_MR_PointsProjector(MR_IPointsProjector *object)
MRC_API MR_expected_void_std_string * MR_IPointsProjector_setPointCloud(MR_IPointsProjector *_this, const MR_PointCloud *pointCloud)
MRC_API void MR_PointsProjectionResult_Set_distSq(MR_PointsProjectionResult *_this, float value)
struct MR_FindProjectionOnPointsSettings MR_FindProjectionOnPointsSettings
Definition MRPointsProject.h:37
MRC_API void MR_FindProjectionOnPointsSettings_Set_xf(MR_FindProjectionOnPointsSettings *_this, const MR_AffineXf3f *value)
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_ConstructFrom(const MR_BitSet *valid, const MR_AffineXf3f *xf, float upDistLimitSq, float loDistLimitSq, bool skipSameIndex, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API float * MR_PointsProjectionResult_GetMutable_distSq(MR_PointsProjectionResult *_this)
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_DefaultConstructArray(size_t num_elems)
MRC_API MR_PointsProjectionResult * MR_findProjectionOnPoints_7(const MR_Vector3f *pt, const MR_AABBTreePoints *tree, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq, const MR_VertBitSet *region, MR_PassBy skipCb_pass_by, MR_std_function_bool_from_MR_VertId *skipCb)
computes the closest point on AABBTreePoints to given point
MRC_API void MR_FindProjectionOnPointsSettings_Set_upDistLimitSq(MR_FindProjectionOnPointsSettings *_this, float value)
MRC_API MR_PointsProjector * MR_PointsProjector_ConstructFromAnother(MR_PassBy _other_pass_by, MR_PointsProjector *_other)
MRC_API const MR_PointsProjectionResult * MR_PointsProjectionResult_OffsetPtr(const MR_PointsProjectionResult *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_PointsProjector * MR_IPointsProjector_StaticDowncastTo_MR_PointsProjector(const MR_IPointsProjector *object)
MRC_API MR_uint64_t MR_PointsProjector_projectionsHeapBytes(const MR_PointsProjector *_this, MR_uint64_t numProjections)
MRC_API const float * MR_PointsProjectionResult_Get_distSq(const MR_PointsProjectionResult *_this)
MRC_API MR_VertId * MR_PointsProjectionResult_GetMutable_vId(MR_PointsProjectionResult *_this)
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_OffsetMutablePtr(MR_FindProjectionOnPointsSettings *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_PointsProjector * MR_IPointsProjector_DynamicDowncastToOrFail_MR_PointsProjector(const MR_IPointsProjector *object)
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FindProjectionOnPointsSettings *_other)
MRC_API const MR_AffineXf3f ** MR_FindProjectionOnPointsSettings_GetMutable_xf(MR_FindProjectionOnPointsSettings *_this)
MRC_API void MR_FindProjectionOnPointsSettings_Destroy(const MR_FindProjectionOnPointsSettings *_this)
Destroys a heap-allocated instance of MR_FindProjectionOnPointsSettings. Does nothing if the pointer ...
MRC_API void MR_FindProjectionOnPointsSettings_Set_valid(MR_FindProjectionOnPointsSettings *_this, const MR_BitSet *value)
struct MR_IPointsProjector MR_IPointsProjector
Definition MRPointsProject.h:44
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_ConstructFrom(float distSq, MR_VertId vId)
MRC_API MR_PointsProjectionResult * MR_findProjectionOnPoints_6(const MR_Vector3f *pt, const MR_PointCloudPart *pcp, const float *upDistLimitSq, const MR_AffineXf3f *xf, const float *loDistLimitSq, MR_PassBy skipCb_pass_by, MR_std_function_bool_from_MR_VertId *skipCb)
computes the closest point on point cloud to given point
MRC_API const float * MR_FindProjectionOnPointsSettings_Get_loDistLimitSq(const MR_FindProjectionOnPointsSettings *_this)
MRC_API MR_PointsProjectionResult * MR_PointsProjectionResult_OffsetMutablePtr(MR_PointsProjectionResult *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_FindProjectionOnPointsSettings_Set_skipSameIndex(MR_FindProjectionOnPointsSettings *_this, bool value)
MRC_API const MR_PointsProjector * MR_PointsProjector_OffsetPtr(const MR_PointsProjector *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_std_function_bool_from_float * MR_FindProjectionOnPointsSettings_GetMutable_cb(MR_FindProjectionOnPointsSettings *_this)
MRC_API const MR_IPointsProjector * MR_IPointsProjector_OffsetPtr(const MR_IPointsProjector *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_Buffer_MR_VertId * MR_findNClosestPointsPerPoint(const MR_PointCloud *pc, int32_t numNei, const MR_std_function_bool_from_float *progress)
finds given number of closest points (excluding itself) to each valid point in the cloud;
MRC_API void MR_PointsProjector_DestroyArray(const MR_PointsProjector *_this)
Destroys a heap-allocated array of MR_PointsProjector. Does nothing if the pointer is null.
MRC_API MR_PointsProjector * MR_IPointsProjector_MutableDynamicDowncastToOrFail_MR_PointsProjector(MR_IPointsProjector *object)
MRC_API MR_IPointsProjector * MR_IPointsProjector_OffsetMutablePtr(MR_IPointsProjector *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_IPointsProjector * MR_PointsProjector_MutableUpcastTo_MR_IPointsProjector(MR_PointsProjector *object)
Upcasts an instance of MR::PointsProjector to its base class MR::IPointsProjector.
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_FindProjectionOnPointsSettings * MR_FindProjectionOnPointsSettings_AssignFromAnother(MR_FindProjectionOnPointsSettings *_this, MR_PassBy _other_pass_by, MR_FindProjectionOnPointsSettings *_other)
MRC_API const MR_std_function_bool_from_float * MR_FindProjectionOnPointsSettings_Get_cb(const MR_FindProjectionOnPointsSettings *_this)
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:36
Definition MRVector3.h:51
Definition MRId.h:56