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>

Go to the source code of this file.

Typedefs

typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_Vector_int_MR_VertId MR_Vector_int_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
 

Functions

MRC_API const int * MR_ImproveSamplingSettings_Get_numIters (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_numIters (MR_ImproveSamplingSettings *_this, int value)
 
MRC_API int * MR_ImproveSamplingSettings_GetMutable_numIters (MR_ImproveSamplingSettings *_this)
 
MRC_API const int * MR_ImproveSamplingSettings_Get_minPointsInSample (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_minPointsInSample (MR_ImproveSamplingSettings *_this, int value)
 
MRC_API int * 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_int_MR_VertId *const * MR_ImproveSamplingSettings_Get_ptsInSm (const MR_ImproveSamplingSettings *_this)
 
MRC_API void MR_ImproveSamplingSettings_Set_ptsInSm (MR_ImproveSamplingSettings *_this, MR_Vector_int_MR_VertId *value)
 
MRC_API MR_Vector_int_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 (int numIters, int minPointsInSample, MR_VertMap *pt2sm, MR_PointCloud *cloudOfSamples, MR_Vector_int_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)
 
MRC_API MR_ImproveSamplingSettingsMR_ImproveSamplingSettings_OffsetMutablePtr (MR_ImproveSamplingSettings *ptr, ptrdiff_t i)
 
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

Generated from class MR::ImproveSamplingSettings. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_std_function_bool_from_float

◆ MR_Vector_int_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 method MR::ImproveSamplingSettings::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_ImproveSamplingSettings_ConstructFrom()

MRC_API MR_ImproveSamplingSettings * MR_ImproveSamplingSettings_ConstructFrom ( int numIters,
int minPointsInSample,
MR_VertMap * pt2sm,
MR_PointCloud * cloudOfSamples,
MR_Vector_int_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. The reference to the parameter pt2sm might be preserved in the constructed object. The reference to the parameter cloudOfSamples might be preserved in the constructed object. The reference to the parameter ptsInSm might be preserved in the constructed object. The reference to the parameter ptColors might be preserved in the constructed object. The reference to the parameter smColors might be preserved in the constructed object. The reference to the parameter progress might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_ImproveSamplingSettings_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_ImproveSamplingSettings_ConstructFromAnother()

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

Generated from constructor MR::ImproveSamplingSettings::ImproveSamplingSettings. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. 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 int * 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 int * 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_int_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 int * 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 int * 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_int_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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter value might be preserved in this object in element cloudOfSamples. When this function is called, this object will drop object references it had previously in cloudOfSamples.

◆ MR_ImproveSamplingSettings_Set_minPointsInSample()

MRC_API void MR_ImproveSamplingSettings_Set_minPointsInSample ( MR_ImproveSamplingSettings * _this,
int 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. When this function is called, this object will drop object references it had previously in minPointsInSample.

◆ MR_ImproveSamplingSettings_Set_numIters()

MRC_API void MR_ImproveSamplingSettings_Set_numIters ( MR_ImproveSamplingSettings * _this,
int 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. When this function is called, this object will drop object references it had previously in numIters.

◆ 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. The reference to the parameter value might be preserved in this object in element progress. When this function is called, this object will drop object references it had previously in progress.

◆ 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. The reference to the parameter value might be preserved in this object in element pt2sm. When this function is called, this object will drop object references it had previously in pt2sm.

◆ 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. The reference to the parameter value might be preserved in this object in element ptColors. When this function is called, this object will drop object references it had previously in ptColors.

◆ MR_ImproveSamplingSettings_Set_ptsInSm()

MRC_API void MR_ImproveSamplingSettings_Set_ptsInSm ( MR_ImproveSamplingSettings * _this,
MR_Vector_int_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. The reference to the parameter value might be preserved in this object in element ptsInSm. When this function is called, this object will drop object references it had previously in ptsInSm.

◆ 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. The reference to the parameter value might be preserved in this object in element smColors. When this function is called, this object will drop object references it had previously in smColors.