MeshLib C Docs
Loading...
Searching...
No Matches
MRImproveSampling.h File Reference
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Typedefs

typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_Vector_int32_t_MR_VertId MR_Vector_int32_t_MR_VertId
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_VertColors MR_VertColors
 
typedef struct MR_VertMap MR_VertMap
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_ImproveSamplingSettings MR_ImproveSamplingSettings
 Generated from class MR::ImproveSamplingSettings.
 

Functions

MRC_API const int32_t * MR_ImproveSamplingSettings_Get_numIters (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_numIters (MR_ImproveSamplingSettings *_this, int32_t value)
 
MRC_API int32_t * MR_ImproveSamplingSettings_GetMutable_numIters (MR_ImproveSamplingSettings *_this)
 
MRC_API const int32_t * MR_ImproveSamplingSettings_Get_minPointsInSample (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_minPointsInSample (MR_ImproveSamplingSettings *_this, int32_t value)
 
MRC_API int32_t * MR_ImproveSamplingSettings_GetMutable_minPointsInSample (MR_ImproveSamplingSettings *_this)
 
MRC_API MR_VertMap *const * MR_ImproveSamplingSettings_Get_pt2sm (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_pt2sm (MR_ImproveSamplingSettings *_this, MR_VertMap *value)
 
MRC_API MR_VertMap ** MR_ImproveSamplingSettings_GetMutable_pt2sm (MR_ImproveSamplingSettings *_this)
 
MRC_API MR_PointCloud *const * MR_ImproveSamplingSettings_Get_cloudOfSamples (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_cloudOfSamples (MR_ImproveSamplingSettings *_this, MR_PointCloud *value)
 
MRC_API MR_PointCloud ** MR_ImproveSamplingSettings_GetMutable_cloudOfSamples (MR_ImproveSamplingSettings *_this)
 
MRC_API MR_Vector_int32_t_MR_VertId *const * MR_ImproveSamplingSettings_Get_ptsInSm (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_ptsInSm (MR_ImproveSamplingSettings *_this, MR_Vector_int32_t_MR_VertId *value)
 
MRC_API MR_Vector_int32_t_MR_VertId ** MR_ImproveSamplingSettings_GetMutable_ptsInSm (MR_ImproveSamplingSettings *_this)
 
MRC_API const MR_VertColors *const * MR_ImproveSamplingSettings_Get_ptColors (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_ptColors (MR_ImproveSamplingSettings *_this, const MR_VertColors *value)
 
MRC_API const MR_VertColors ** MR_ImproveSamplingSettings_GetMutable_ptColors (MR_ImproveSamplingSettings *_this)
 
MRC_API MR_VertColors *const * MR_ImproveSamplingSettings_Get_smColors (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_smColors (MR_ImproveSamplingSettings *_this, MR_VertColors *value)
 
MRC_API MR_VertColors ** MR_ImproveSamplingSettings_GetMutable_smColors (MR_ImproveSamplingSettings *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_ImproveSamplingSettings_Get_progress (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_progress (MR_ImproveSamplingSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_ImproveSamplingSettings_GetMutable_progress (MR_ImproveSamplingSettings *_this)
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_DefaultConstruct (void)
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_ConstructFrom (int32_t numIters, int32_t minPointsInSample, MR_VertMap *pt2sm, MR_PointCloud *cloudOfSamples, MR_Vector_int32_t_MR_VertId *ptsInSm, const MR_VertColors *ptColors, MR_VertColors *smColors, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress)
 
MRC_API const MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_OffsetPtr (const MR_ImproveSamplingSettings *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_OffsetMutablePtr (MR_ImproveSamplingSettings *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_ConstructFromAnother (MR_PassBy _other_pass_by, MR_ImproveSamplingSettings *_other)
 
MRC_API void MR_ImproveSamplingSettings_Destroy (const MR_ImproveSamplingSettings *_this)
 Destroys a heap-allocated instance of MR_ImproveSamplingSettings. Does nothing if the pointer is null.
 
MRC_API void MR_ImproveSamplingSettings_DestroyArray (const MR_ImproveSamplingSettings *_this)
 Destroys a heap-allocated array of MR_ImproveSamplingSettings. Does nothing if the pointer is null.
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_AssignFromAnother (MR_ImproveSamplingSettings *_this, MR_PassBy _other_pass_by, MR_ImproveSamplingSettings *_other)
 
MRC_API bool MR_improveSampling (const MR_PointCloud *cloud, MR_VertBitSet *samples, const MR_ImproveSamplingSettings *settings)
 

Typedef Documentation

◆ MR_ImproveSamplingSettings

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_std_function_bool_from_float

◆ MR_Vector_int32_t_MR_VertId

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

◆ MR_VertColors

typedef struct MR_VertColors MR_VertColors

◆ MR_VertMap

typedef struct MR_VertMap MR_VertMap

Function Documentation

◆ MR_improveSampling()

MRC_API bool MR_improveSampling ( const MR_PointCloud * cloud,
MR_VertBitSet * samples,
const MR_ImproveSamplingSettings * settings )

Finds more representative sampling starting from a given one following k-means method;

Parameters
samplesinput and output selected sample points from
cloud;
Returns
false if it was terminated by the callback Generated from function MR::improveSampling. Parameter cloud can not be null. It is a single object. Parameter samples can not be null. It is a single object. Parameter settings can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_AssignFromAnother()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_AssignFromAnother ( MR_ImproveSamplingSettings * _this,
MR_PassBy _other_pass_by,
MR_ImproveSamplingSettings * _other )

Generated from a method of class MR::ImproveSamplingSettings named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_ConstructFrom()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_ConstructFrom ( int32_t numIters,
int32_t minPointsInSample,
MR_VertMap * pt2sm,
MR_PointCloud * cloudOfSamples,
MR_Vector_int32_t_MR_VertId * ptsInSm,
const MR_VertColors * ptColors,
MR_VertColors * smColors,
MR_PassBy progress_pass_by,
MR_std_function_bool_from_float * progress )

Constructs MR::ImproveSamplingSettings elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_ImproveSamplingSettings_Destroy() to free it when you're done using it.

◆ MR_ImproveSamplingSettings_ConstructFromAnother()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_ImproveSamplingSettings * _other )

Generated from a constructor of class MR::ImproveSamplingSettings. Never returns null. Returns an instance allocated on the heap! Must call MR_ImproveSamplingSettings_Destroy() to free it when you're done using it.

◆ MR_ImproveSamplingSettings_DefaultConstruct()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_ImproveSamplingSettings_Destroy() to free it when you're done using it.

◆ MR_ImproveSamplingSettings_DefaultConstructArray()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_ImproveSamplingSettings_DestroyArray(). Use MR_ImproveSamplingSettings_OffsetMutablePtr() and MR_ImproveSamplingSettings_OffsetPtr() to access the array elements.

◆ MR_ImproveSamplingSettings_Destroy()

MRC_API void MR_ImproveSamplingSettings_Destroy ( const MR_ImproveSamplingSettings * _this)

Destroys a heap-allocated instance of MR_ImproveSamplingSettings. Does nothing if the pointer is null.

◆ MR_ImproveSamplingSettings_DestroyArray()

MRC_API void MR_ImproveSamplingSettings_DestroyArray ( const MR_ImproveSamplingSettings * _this)

Destroys a heap-allocated array of MR_ImproveSamplingSettings. Does nothing if the pointer is null.

◆ MR_ImproveSamplingSettings_Get_cloudOfSamples()

MRC_API MR_PointCloud *const * MR_ImproveSamplingSettings_Get_cloudOfSamples ( const MR_ImproveSamplingSettings * _this)

optional output: new cloud containing averaged points and normals for each sample Returns a pointer to a member variable of class MR::ImproveSamplingSettings named cloudOfSamples. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_minPointsInSample()

MRC_API const int32_t * MR_ImproveSamplingSettings_Get_minPointsInSample ( const MR_ImproveSamplingSettings * _this)

if a sample represents less than this number of input points then such sample will be discarded; it can be used to remove outliers Returns a pointer to a member variable of class MR::ImproveSamplingSettings named minPointsInSample. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_numIters()

MRC_API const int32_t * MR_ImproveSamplingSettings_Get_numIters ( const MR_ImproveSamplingSettings * _this)

the number of algorithm iterations to perform Returns a pointer to a member variable of class MR::ImproveSamplingSettings named numIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_progress()

MRC_API const MR_std_function_bool_from_float * MR_ImproveSamplingSettings_Get_progress ( const MR_ImproveSamplingSettings * _this)

output progress status and receive cancel signal Returns a pointer to a member variable of class MR::ImproveSamplingSettings named progress. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_pt2sm()

MRC_API MR_VertMap *const * MR_ImproveSamplingSettings_Get_pt2sm ( const MR_ImproveSamplingSettings * _this)

optional output: mapping from input point id to sample id Returns a pointer to a member variable of class MR::ImproveSamplingSettings named pt2sm. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_ptColors()

MRC_API const MR_VertColors *const * MR_ImproveSamplingSettings_Get_ptColors ( const MR_ImproveSamplingSettings * _this)

optional input: colors of input points Returns a pointer to a member variable of class MR::ImproveSamplingSettings named ptColors. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_ptsInSm()

MRC_API MR_Vector_int32_t_MR_VertId *const * MR_ImproveSamplingSettings_Get_ptsInSm ( const MR_ImproveSamplingSettings * _this)

optional output: the number of points in each sample Returns a pointer to a member variable of class MR::ImproveSamplingSettings named ptsInSm. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_Get_smColors()

MRC_API MR_VertColors *const * MR_ImproveSamplingSettings_Get_smColors ( const MR_ImproveSamplingSettings * _this)

optional output: averaged colors of samples Returns a pointer to a member variable of class MR::ImproveSamplingSettings named smColors. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_cloudOfSamples()

MRC_API MR_PointCloud ** MR_ImproveSamplingSettings_GetMutable_cloudOfSamples ( MR_ImproveSamplingSettings * _this)

optional output: new cloud containing averaged points and normals for each sample Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named cloudOfSamples. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_minPointsInSample()

MRC_API int32_t * MR_ImproveSamplingSettings_GetMutable_minPointsInSample ( MR_ImproveSamplingSettings * _this)

if a sample represents less than this number of input points then such sample will be discarded; it can be used to remove outliers Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named minPointsInSample. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_numIters()

MRC_API int32_t * MR_ImproveSamplingSettings_GetMutable_numIters ( MR_ImproveSamplingSettings * _this)

the number of algorithm iterations to perform Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named numIters. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_progress()

MRC_API MR_std_function_bool_from_float * MR_ImproveSamplingSettings_GetMutable_progress ( MR_ImproveSamplingSettings * _this)

output progress status and receive cancel signal Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named progress. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_pt2sm()

MRC_API MR_VertMap ** MR_ImproveSamplingSettings_GetMutable_pt2sm ( MR_ImproveSamplingSettings * _this)

optional output: mapping from input point id to sample id Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named pt2sm. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_ptColors()

MRC_API const MR_VertColors ** MR_ImproveSamplingSettings_GetMutable_ptColors ( MR_ImproveSamplingSettings * _this)

optional input: colors of input points Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named ptColors. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_ptsInSm()

MRC_API MR_Vector_int32_t_MR_VertId ** MR_ImproveSamplingSettings_GetMutable_ptsInSm ( MR_ImproveSamplingSettings * _this)

optional output: the number of points in each sample Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named ptsInSm. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_GetMutable_smColors()

MRC_API MR_VertColors ** MR_ImproveSamplingSettings_GetMutable_smColors ( MR_ImproveSamplingSettings * _this)

optional output: averaged colors of samples Returns a mutable pointer to a member variable of class MR::ImproveSamplingSettings named smColors. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_ImproveSamplingSettings_OffsetMutablePtr()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_OffsetMutablePtr ( MR_ImproveSamplingSettings * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_ImproveSamplingSettings_OffsetPtr()

MRC_API const MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_OffsetPtr ( const MR_ImproveSamplingSettings * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_ImproveSamplingSettings_Set_cloudOfSamples()

MRC_API void MR_ImproveSamplingSettings_Set_cloudOfSamples ( MR_ImproveSamplingSettings * _this,
MR_PointCloud * value )

optional output: new cloud containing averaged points and normals for each sample Modifies a member variable of class MR::ImproveSamplingSettings named cloudOfSamples. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_minPointsInSample()

MRC_API void MR_ImproveSamplingSettings_Set_minPointsInSample ( MR_ImproveSamplingSettings * _this,
int32_t value )

if a sample represents less than this number of input points then such sample will be discarded; it can be used to remove outliers Modifies a member variable of class MR::ImproveSamplingSettings named minPointsInSample. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_numIters()

MRC_API void MR_ImproveSamplingSettings_Set_numIters ( MR_ImproveSamplingSettings * _this,
int32_t value )

the number of algorithm iterations to perform Modifies a member variable of class MR::ImproveSamplingSettings named numIters. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_progress()

MRC_API void MR_ImproveSamplingSettings_Set_progress ( MR_ImproveSamplingSettings * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

output progress status and receive cancel signal Modifies a member variable of class MR::ImproveSamplingSettings named progress. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_pt2sm()

MRC_API void MR_ImproveSamplingSettings_Set_pt2sm ( MR_ImproveSamplingSettings * _this,
MR_VertMap * value )

optional output: mapping from input point id to sample id Modifies a member variable of class MR::ImproveSamplingSettings named pt2sm. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_ptColors()

MRC_API void MR_ImproveSamplingSettings_Set_ptColors ( MR_ImproveSamplingSettings * _this,
const MR_VertColors * value )

optional input: colors of input points Modifies a member variable of class MR::ImproveSamplingSettings named ptColors. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_ptsInSm()

MRC_API void MR_ImproveSamplingSettings_Set_ptsInSm ( MR_ImproveSamplingSettings * _this,
MR_Vector_int32_t_MR_VertId * value )

optional output: the number of points in each sample Modifies a member variable of class MR::ImproveSamplingSettings named ptsInSm. Parameter _this can not be null. It is a single object.

◆ MR_ImproveSamplingSettings_Set_smColors()

MRC_API void MR_ImproveSamplingSettings_Set_smColors ( MR_ImproveSamplingSettings * _this,
MR_VertColors * value )

optional output: averaged colors of samples Modifies a member variable of class MR::ImproveSamplingSettings named smColors. Parameter _this can not be null. It is a single object.