MeshLib C Docs
Loading...
Searching...
No Matches
MRPointCloudRelax.h File Reference
#include <MRCMesh/MRRelaxParams.h>
#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_RelaxParams MR_RelaxParams
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_PointCloudRelaxParams MR_PointCloudRelaxParams
 
typedef struct MR_PointCloudApproxRelaxParams MR_PointCloudApproxRelaxParams
 

Functions

MRC_API const float * MR_PointCloudRelaxParams_Get_neighborhoodRadius (const MR_PointCloudRelaxParams *_this)
 
MRC_API void MR_PointCloudRelaxParams_Set_neighborhoodRadius (MR_PointCloudRelaxParams *_this, float value)
 
MRC_API float * MR_PointCloudRelaxParams_GetMutable_neighborhoodRadius (MR_PointCloudRelaxParams *_this)
 
MRC_API MR_PointCloudRelaxParamsMR_PointCloudRelaxParams_DefaultConstruct (void)
 
MRC_API MR_PointCloudRelaxParamsMR_PointCloudRelaxParams_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_PointCloudRelaxParamsMR_PointCloudRelaxParams_OffsetPtr (const MR_PointCloudRelaxParams *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_PointCloudRelaxParamsMR_PointCloudRelaxParams_OffsetMutablePtr (MR_PointCloudRelaxParams *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 const MR_RelaxParamsMR_PointCloudRelaxParams_UpcastTo_MR_RelaxParams (const MR_PointCloudRelaxParams *object)
 
MRC_API MR_RelaxParamsMR_PointCloudRelaxParams_MutableUpcastTo_MR_RelaxParams (MR_PointCloudRelaxParams *object)
 Upcasts an instance of MR::PointCloudRelaxParams to its base class MR::RelaxParams.
 
MRC_API const MR_PointCloudApproxRelaxParamsMR_PointCloudRelaxParams_StaticDowncastTo_MR_PointCloudApproxRelaxParams (const MR_PointCloudRelaxParams *object)
 
MRC_API MR_PointCloudApproxRelaxParamsMR_PointCloudRelaxParams_MutableStaticDowncastTo_MR_PointCloudApproxRelaxParams (MR_PointCloudRelaxParams *object)
 
MRC_API MR_PointCloudRelaxParamsMR_PointCloudRelaxParams_ConstructFromAnother (const MR_PointCloudRelaxParams *_other)
 
MRC_API void MR_PointCloudRelaxParams_Destroy (const MR_PointCloudRelaxParams *_this)
 Destroys a heap-allocated instance of MR_PointCloudRelaxParams. Does nothing if the pointer is null.
 
MRC_API void MR_PointCloudRelaxParams_DestroyArray (const MR_PointCloudRelaxParams *_this)
 Destroys a heap-allocated array of MR_PointCloudRelaxParams. Does nothing if the pointer is null.
 
MRC_API MR_PointCloudRelaxParamsMR_PointCloudRelaxParams_AssignFromAnother (MR_PointCloudRelaxParams *_this, const MR_PointCloudRelaxParams *_other)
 
MRC_API bool MR_relax_3_MR_PointCloud (MR_PointCloud *pointCloud, const MR_PointCloudRelaxParams *params, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 
MRC_API bool MR_relaxKeepVolume_3_MR_PointCloud (MR_PointCloud *pointCloud, const MR_PointCloudRelaxParams *params, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 
MRC_API const MR_RelaxApproxTypeMR_PointCloudApproxRelaxParams_Get_type (const MR_PointCloudApproxRelaxParams *_this)
 
MRC_API void MR_PointCloudApproxRelaxParams_Set_type (MR_PointCloudApproxRelaxParams *_this, MR_RelaxApproxType value)
 
MRC_API MR_RelaxApproxTypeMR_PointCloudApproxRelaxParams_GetMutable_type (MR_PointCloudApproxRelaxParams *_this)
 
MRC_API MR_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_DefaultConstruct (void)
 
MRC_API MR_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_OffsetPtr (const MR_PointCloudApproxRelaxParams *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_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_OffsetMutablePtr (MR_PointCloudApproxRelaxParams *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 const MR_PointCloudRelaxParamsMR_PointCloudApproxRelaxParams_UpcastTo_MR_PointCloudRelaxParams (const MR_PointCloudApproxRelaxParams *object)
 
MRC_API MR_PointCloudRelaxParamsMR_PointCloudApproxRelaxParams_MutableUpcastTo_MR_PointCloudRelaxParams (MR_PointCloudApproxRelaxParams *object)
 Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::PointCloudRelaxParams.
 
MRC_API const MR_RelaxParamsMR_PointCloudApproxRelaxParams_UpcastTo_MR_RelaxParams (const MR_PointCloudApproxRelaxParams *object)
 
MRC_API MR_RelaxParamsMR_PointCloudApproxRelaxParams_MutableUpcastTo_MR_RelaxParams (MR_PointCloudApproxRelaxParams *object)
 Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::RelaxParams.
 
MRC_API MR_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_ConstructFromAnother (const MR_PointCloudApproxRelaxParams *_other)
 
MRC_API void MR_PointCloudApproxRelaxParams_Destroy (const MR_PointCloudApproxRelaxParams *_this)
 Destroys a heap-allocated instance of MR_PointCloudApproxRelaxParams. Does nothing if the pointer is null.
 
MRC_API void MR_PointCloudApproxRelaxParams_DestroyArray (const MR_PointCloudApproxRelaxParams *_this)
 Destroys a heap-allocated array of MR_PointCloudApproxRelaxParams. Does nothing if the pointer is null.
 
MRC_API MR_PointCloudApproxRelaxParamsMR_PointCloudApproxRelaxParams_AssignFromAnother (MR_PointCloudApproxRelaxParams *_this, const MR_PointCloudApproxRelaxParams *_other)
 
MRC_API bool MR_relaxApprox_3_MR_PointCloud (MR_PointCloud *pointCloud, const MR_PointCloudApproxRelaxParams *params, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 

Typedef Documentation

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_PointCloudApproxRelaxParams

Generated from class MR::PointCloudApproxRelaxParams. Base classes: Direct: (non-virtual) MR::PointCloudRelaxParams Indirect: (non-virtual) MR::RelaxParams

◆ MR_PointCloudRelaxParams

Generated from class MR::PointCloudRelaxParams. Base classes: Direct: (non-virtual) MR::RelaxParams Derived classes: Direct: (non-virtual) MR::PointCloudApproxRelaxParams

◆ MR_RelaxParams

◆ MR_std_function_bool_from_float

Function Documentation

◆ MR_PointCloudApproxRelaxParams_AssignFromAnother()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_AssignFromAnother ( MR_PointCloudApproxRelaxParams * _this,
const MR_PointCloudApproxRelaxParams * _other )

Generated from a method of class MR::PointCloudApproxRelaxParams named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_PointCloudApproxRelaxParams_ConstructFromAnother()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_ConstructFromAnother ( const MR_PointCloudApproxRelaxParams * _other)

Generated from a constructor of class MR::PointCloudApproxRelaxParams. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PointCloudApproxRelaxParams_Destroy() to free it when you're done using it.

◆ MR_PointCloudApproxRelaxParams_DefaultConstruct()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_DefaultConstruct ( void )

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

◆ MR_PointCloudApproxRelaxParams_DefaultConstructArray()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_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_PointCloudApproxRelaxParams_DestroyArray(). Use MR_PointCloudApproxRelaxParams_OffsetMutablePtr() and MR_PointCloudApproxRelaxParams_OffsetPtr() to access the array elements.

◆ MR_PointCloudApproxRelaxParams_Destroy()

MRC_API void MR_PointCloudApproxRelaxParams_Destroy ( const MR_PointCloudApproxRelaxParams * _this)

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

◆ MR_PointCloudApproxRelaxParams_DestroyArray()

MRC_API void MR_PointCloudApproxRelaxParams_DestroyArray ( const MR_PointCloudApproxRelaxParams * _this)

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

◆ MR_PointCloudApproxRelaxParams_Get_type()

MRC_API const MR_RelaxApproxType * MR_PointCloudApproxRelaxParams_Get_type ( const MR_PointCloudApproxRelaxParams * _this)

Returns a pointer to a member variable of class MR::PointCloudApproxRelaxParams named type. 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_PointCloudApproxRelaxParams_GetMutable_type()

MRC_API MR_RelaxApproxType * MR_PointCloudApproxRelaxParams_GetMutable_type ( MR_PointCloudApproxRelaxParams * _this)

Returns a mutable pointer to a member variable of class MR::PointCloudApproxRelaxParams named type. 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_PointCloudApproxRelaxParams_MutableUpcastTo_MR_PointCloudRelaxParams()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudApproxRelaxParams_MutableUpcastTo_MR_PointCloudRelaxParams ( MR_PointCloudApproxRelaxParams * object)

Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::PointCloudRelaxParams.

◆ MR_PointCloudApproxRelaxParams_MutableUpcastTo_MR_RelaxParams()

MRC_API MR_RelaxParams * MR_PointCloudApproxRelaxParams_MutableUpcastTo_MR_RelaxParams ( MR_PointCloudApproxRelaxParams * object)

Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::RelaxParams.

◆ MR_PointCloudApproxRelaxParams_OffsetMutablePtr()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_OffsetMutablePtr ( MR_PointCloudApproxRelaxParams * 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_PointCloudApproxRelaxParams_OffsetPtr()

MRC_API const MR_PointCloudApproxRelaxParams * MR_PointCloudApproxRelaxParams_OffsetPtr ( const MR_PointCloudApproxRelaxParams * 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_PointCloudApproxRelaxParams_Set_type()

MRC_API void MR_PointCloudApproxRelaxParams_Set_type ( MR_PointCloudApproxRelaxParams * _this,
MR_RelaxApproxType value )

Modifies a member variable of class MR::PointCloudApproxRelaxParams named type. Parameter _this can not be null. It is a single object.

◆ MR_PointCloudApproxRelaxParams_UpcastTo_MR_PointCloudRelaxParams()

MRC_API const MR_PointCloudRelaxParams * MR_PointCloudApproxRelaxParams_UpcastTo_MR_PointCloudRelaxParams ( const MR_PointCloudApproxRelaxParams * object)

Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::PointCloudRelaxParams. This version is acting on mutable pointers.

◆ MR_PointCloudApproxRelaxParams_UpcastTo_MR_RelaxParams()

MRC_API const MR_RelaxParams * MR_PointCloudApproxRelaxParams_UpcastTo_MR_RelaxParams ( const MR_PointCloudApproxRelaxParams * object)

Upcasts an instance of MR::PointCloudApproxRelaxParams to its base class MR::RelaxParams. This version is acting on mutable pointers.

◆ MR_PointCloudRelaxParams_AssignFromAnother()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_AssignFromAnother ( MR_PointCloudRelaxParams * _this,
const MR_PointCloudRelaxParams * _other )

Generated from a method of class MR::PointCloudRelaxParams named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_PointCloudRelaxParams_ConstructFromAnother()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_ConstructFromAnother ( const MR_PointCloudRelaxParams * _other)

Generated from a constructor of class MR::PointCloudRelaxParams. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PointCloudRelaxParams_Destroy() to free it when you're done using it.

◆ MR_PointCloudRelaxParams_DefaultConstruct()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_DefaultConstruct ( void )

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

◆ MR_PointCloudRelaxParams_DefaultConstructArray()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_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_PointCloudRelaxParams_DestroyArray(). Use MR_PointCloudRelaxParams_OffsetMutablePtr() and MR_PointCloudRelaxParams_OffsetPtr() to access the array elements.

◆ MR_PointCloudRelaxParams_Destroy()

MRC_API void MR_PointCloudRelaxParams_Destroy ( const MR_PointCloudRelaxParams * _this)

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

◆ MR_PointCloudRelaxParams_DestroyArray()

MRC_API void MR_PointCloudRelaxParams_DestroyArray ( const MR_PointCloudRelaxParams * _this)

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

◆ MR_PointCloudRelaxParams_Get_neighborhoodRadius()

MRC_API const float * MR_PointCloudRelaxParams_Get_neighborhoodRadius ( const MR_PointCloudRelaxParams * _this)

radius to find neighbors in, 0.0 - default, 0.1*boundibg box diagonal Returns a pointer to a member variable of class MR::PointCloudRelaxParams named neighborhoodRadius. 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_PointCloudRelaxParams_GetMutable_neighborhoodRadius()

MRC_API float * MR_PointCloudRelaxParams_GetMutable_neighborhoodRadius ( MR_PointCloudRelaxParams * _this)

radius to find neighbors in, 0.0 - default, 0.1*boundibg box diagonal Returns a mutable pointer to a member variable of class MR::PointCloudRelaxParams named neighborhoodRadius. 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_PointCloudRelaxParams_MutableStaticDowncastTo_MR_PointCloudApproxRelaxParams()

MRC_API MR_PointCloudApproxRelaxParams * MR_PointCloudRelaxParams_MutableStaticDowncastTo_MR_PointCloudApproxRelaxParams ( MR_PointCloudRelaxParams * object)

Downcasts an instance of MR::PointCloudRelaxParams to a derived class MR::PointCloudApproxRelaxParams. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_PointCloudRelaxParams_MutableUpcastTo_MR_RelaxParams()

MRC_API MR_RelaxParams * MR_PointCloudRelaxParams_MutableUpcastTo_MR_RelaxParams ( MR_PointCloudRelaxParams * object)

Upcasts an instance of MR::PointCloudRelaxParams to its base class MR::RelaxParams.

◆ MR_PointCloudRelaxParams_OffsetMutablePtr()

MRC_API MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_OffsetMutablePtr ( MR_PointCloudRelaxParams * 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_PointCloudRelaxParams_OffsetPtr()

MRC_API const MR_PointCloudRelaxParams * MR_PointCloudRelaxParams_OffsetPtr ( const MR_PointCloudRelaxParams * 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_PointCloudRelaxParams_Set_neighborhoodRadius()

MRC_API void MR_PointCloudRelaxParams_Set_neighborhoodRadius ( MR_PointCloudRelaxParams * _this,
float value )

radius to find neighbors in, 0.0 - default, 0.1*boundibg box diagonal Modifies a member variable of class MR::PointCloudRelaxParams named neighborhoodRadius. Parameter _this can not be null. It is a single object.

◆ MR_PointCloudRelaxParams_StaticDowncastTo_MR_PointCloudApproxRelaxParams()

MRC_API const MR_PointCloudApproxRelaxParams * MR_PointCloudRelaxParams_StaticDowncastTo_MR_PointCloudApproxRelaxParams ( const MR_PointCloudRelaxParams * object)

Downcasts an instance of MR::PointCloudRelaxParams to a derived class MR::PointCloudApproxRelaxParams. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_PointCloudRelaxParams_UpcastTo_MR_RelaxParams()

MRC_API const MR_RelaxParams * MR_PointCloudRelaxParams_UpcastTo_MR_RelaxParams ( const MR_PointCloudRelaxParams * object)

Upcasts an instance of MR::PointCloudRelaxParams to its base class MR::RelaxParams. This version is acting on mutable pointers.

◆ MR_relax_3_MR_PointCloud()

MRC_API bool MR_relax_3_MR_PointCloud ( MR_PointCloud * pointCloud,
const MR_PointCloudRelaxParams * params,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified )

Returns
true if was finished successfully, false if was interrupted by progress callback Generated from function MR::relax. Parameter pointCloud can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Parameter cb has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it.

◆ MR_relaxApprox_3_MR_PointCloud()

MRC_API bool MR_relaxApprox_3_MR_PointCloud ( MR_PointCloud * pointCloud,
const MR_PointCloudApproxRelaxParams * params,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified ) approx neighborhoods

Returns
true if was finished successfully, false if was interrupted by progress callback Generated from function MR::relaxApprox. Parameter pointCloud can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Parameter cb has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it.

◆ MR_relaxKeepVolume_3_MR_PointCloud()

MRC_API bool MR_relaxKeepVolume_3_MR_PointCloud ( MR_PointCloud * pointCloud,
const MR_PointCloudRelaxParams * params,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified ) do not really keeps volume but tries hard

Returns
true if was finished successfully, false if was interrupted by progress callback Generated from function MR::relaxKeepVolume. Parameter pointCloud can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Parameter cb has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it.