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

Go to the source code of this file.

Typedefs

typedef struct MR_FaceBitSet MR_FaceBitSet
 
typedef struct MR_FeatureObject MR_FeatureObject
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_expected_MR_AffineXf3f_std_string MR_expected_MR_AffineXf3f_std_string
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_RefineParameters MR_RefineParameters
 

Functions

MRC_API const float * MR_RefineParameters_Get_distanceLimit (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_distanceLimit (MR_RefineParameters *_this, float value)
 
MRC_API float * MR_RefineParameters_GetMutable_distanceLimit (MR_RefineParameters *_this)
 
MRC_API const float * MR_RefineParameters_Get_normalTolerance (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_normalTolerance (MR_RefineParameters *_this, float value)
 
MRC_API float * MR_RefineParameters_GetMutable_normalTolerance (MR_RefineParameters *_this)
 
MRC_API const MR_FaceBitSet *const * MR_RefineParameters_Get_faceRegion (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_faceRegion (MR_RefineParameters *_this, const MR_FaceBitSet *value)
 
MRC_API const MR_FaceBitSet ** MR_RefineParameters_GetMutable_faceRegion (MR_RefineParameters *_this)
 
MRC_API const MR_VertBitSet *const * MR_RefineParameters_Get_vertRegion (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_vertRegion (MR_RefineParameters *_this, const MR_VertBitSet *value)
 
MRC_API const MR_VertBitSet ** MR_RefineParameters_GetMutable_vertRegion (MR_RefineParameters *_this)
 
MRC_API const int32_t * MR_RefineParameters_Get_maxIterations (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_maxIterations (MR_RefineParameters *_this, int32_t value)
 
MRC_API int32_t * MR_RefineParameters_GetMutable_maxIterations (MR_RefineParameters *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_RefineParameters_Get_callback (const MR_RefineParameters *_this)
 
MRC_API void MR_RefineParameters_Set_callback (MR_RefineParameters *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_RefineParameters_GetMutable_callback (MR_RefineParameters *_this)
 
MRC_API MR_RefineParametersMR_RefineParameters_DefaultConstruct (void)
 
MRC_API MR_RefineParametersMR_RefineParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_RefineParametersMR_RefineParameters_ConstructFrom (float distanceLimit, float normalTolerance, const MR_FaceBitSet *faceRegion, const MR_VertBitSet *vertRegion, int32_t maxIterations, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
 
MRC_API const MR_RefineParametersMR_RefineParameters_OffsetPtr (const MR_RefineParameters *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_RefineParametersMR_RefineParameters_OffsetMutablePtr (MR_RefineParameters *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_RefineParametersMR_RefineParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_RefineParameters *_other)
 
MRC_API void MR_RefineParameters_Destroy (const MR_RefineParameters *_this)
 Destroys a heap-allocated instance of MR_RefineParameters. Does nothing if the pointer is null.
 
MRC_API void MR_RefineParameters_DestroyArray (const MR_RefineParameters *_this)
 Destroys a heap-allocated array of MR_RefineParameters. Does nothing if the pointer is null.
 
MRC_API MR_RefineParametersMR_RefineParameters_AssignFromAnother (MR_RefineParameters *_this, MR_PassBy _other_pass_by, MR_RefineParameters *_other)
 
MRC_API MR_expected_MR_AffineXf3f_std_stringMR_refineFeatureObject_MR_Mesh (const MR_FeatureObject *featObj, const MR_Mesh *mesh, const MR_RefineParameters *params)
 
MRC_API MR_expected_MR_AffineXf3f_std_stringMR_refineFeatureObject_MR_PointCloud (const MR_FeatureObject *featObj, const MR_PointCloud *pointCloud, const MR_RefineParameters *params)
 

Typedef Documentation

◆ MR_expected_MR_AffineXf3f_std_string

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_FeatureObject

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_RefineParameters

Optional parameters for refineFeatureObject Generated from class MR::RefineParameters.

◆ MR_std_function_bool_from_float

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

Function Documentation

◆ MR_refineFeatureObject_MR_Mesh()

MRC_API MR_expected_MR_AffineXf3f_std_string * MR_refineFeatureObject_MR_Mesh ( const MR_FeatureObject * featObj,
const MR_Mesh * mesh,
const MR_RefineParameters * params )

Recalculate the feature object's position so it would better fit with the given mesh Generated from function MR::refineFeatureObject. Parameter featObj can not be null. It is a single object. Parameter mesh 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. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_AffineXf3f_std_string_Destroy() to free it when you're done using it.

◆ MR_refineFeatureObject_MR_PointCloud()

MRC_API MR_expected_MR_AffineXf3f_std_string * MR_refineFeatureObject_MR_PointCloud ( const MR_FeatureObject * featObj,
const MR_PointCloud * pointCloud,
const MR_RefineParameters * params )

Recalculate the feature object's position so it would better fit with the given point cloud Generated from function MR::refineFeatureObject. Parameter featObj can not be null. It is a single object. 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. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_AffineXf3f_std_string_Destroy() to free it when you're done using it.

◆ MR_RefineParameters_AssignFromAnother()

MRC_API MR_RefineParameters * MR_RefineParameters_AssignFromAnother ( MR_RefineParameters * _this,
MR_PassBy _other_pass_by,
MR_RefineParameters * _other )

Generated from a method of class MR::RefineParameters 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_RefineParameters_ConstructFrom()

MRC_API MR_RefineParameters * MR_RefineParameters_ConstructFrom ( float distanceLimit,
float normalTolerance,
const MR_FaceBitSet * faceRegion,
const MR_VertBitSet * vertRegion,
int32_t maxIterations,
MR_PassBy callback_pass_by,
MR_std_function_bool_from_float * callback )

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

◆ MR_RefineParameters_ConstructFromAnother()

MRC_API MR_RefineParameters * MR_RefineParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_RefineParameters * _other )

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

◆ MR_RefineParameters_DefaultConstruct()

MRC_API MR_RefineParameters * MR_RefineParameters_DefaultConstruct ( void )

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

◆ MR_RefineParameters_DefaultConstructArray()

MRC_API MR_RefineParameters * MR_RefineParameters_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_RefineParameters_DestroyArray(). Use MR_RefineParameters_OffsetMutablePtr() and MR_RefineParameters_OffsetPtr() to access the array elements.

◆ MR_RefineParameters_Destroy()

MRC_API void MR_RefineParameters_Destroy ( const MR_RefineParameters * _this)

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

◆ MR_RefineParameters_DestroyArray()

MRC_API void MR_RefineParameters_DestroyArray ( const MR_RefineParameters * _this)

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

◆ MR_RefineParameters_Get_callback()

MRC_API const MR_std_function_bool_from_float * MR_RefineParameters_Get_callback ( const MR_RefineParameters * _this)

Progress callback Returns a pointer to a member variable of class MR::RefineParameters named callback. 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_RefineParameters_Get_distanceLimit()

MRC_API const float * MR_RefineParameters_Get_distanceLimit ( const MR_RefineParameters * _this)

Maximum distance from the source model to the feature Returns a pointer to a member variable of class MR::RefineParameters named distanceLimit. 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_RefineParameters_Get_faceRegion()

MRC_API const MR_FaceBitSet *const * MR_RefineParameters_Get_faceRegion ( const MR_RefineParameters * _this)

(for meshes only) Reference faces used for filtering intermediate results that are too far from it Returns a pointer to a member variable of class MR::RefineParameters named faceRegion. 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_RefineParameters_Get_maxIterations()

MRC_API const int32_t * MR_RefineParameters_Get_maxIterations ( const MR_RefineParameters * _this)

Maximum amount of iterations performed until a stable set of points is found Returns a pointer to a member variable of class MR::RefineParameters named maxIterations. 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_RefineParameters_Get_normalTolerance()

MRC_API const float * MR_RefineParameters_Get_normalTolerance ( const MR_RefineParameters * _this)

Maximum angle between the source model's normal and the feature's normal Returns a pointer to a member variable of class MR::RefineParameters named normalTolerance. 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_RefineParameters_Get_vertRegion()

MRC_API const MR_VertBitSet *const * MR_RefineParameters_Get_vertRegion ( const MR_RefineParameters * _this)

(for meshes only) Reference vertices used for filtering intermediate results that are too far from it Returns a pointer to a member variable of class MR::RefineParameters named vertRegion. 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_RefineParameters_GetMutable_callback()

MRC_API MR_std_function_bool_from_float * MR_RefineParameters_GetMutable_callback ( MR_RefineParameters * _this)

Progress callback Returns a mutable pointer to a member variable of class MR::RefineParameters named callback. 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_RefineParameters_GetMutable_distanceLimit()

MRC_API float * MR_RefineParameters_GetMutable_distanceLimit ( MR_RefineParameters * _this)

Maximum distance from the source model to the feature Returns a mutable pointer to a member variable of class MR::RefineParameters named distanceLimit. 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_RefineParameters_GetMutable_faceRegion()

MRC_API const MR_FaceBitSet ** MR_RefineParameters_GetMutable_faceRegion ( MR_RefineParameters * _this)

(for meshes only) Reference faces used for filtering intermediate results that are too far from it Returns a mutable pointer to a member variable of class MR::RefineParameters named faceRegion. 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_RefineParameters_GetMutable_maxIterations()

MRC_API int32_t * MR_RefineParameters_GetMutable_maxIterations ( MR_RefineParameters * _this)

Maximum amount of iterations performed until a stable set of points is found Returns a mutable pointer to a member variable of class MR::RefineParameters named maxIterations. 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_RefineParameters_GetMutable_normalTolerance()

MRC_API float * MR_RefineParameters_GetMutable_normalTolerance ( MR_RefineParameters * _this)

Maximum angle between the source model's normal and the feature's normal Returns a mutable pointer to a member variable of class MR::RefineParameters named normalTolerance. 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_RefineParameters_GetMutable_vertRegion()

MRC_API const MR_VertBitSet ** MR_RefineParameters_GetMutable_vertRegion ( MR_RefineParameters * _this)

(for meshes only) Reference vertices used for filtering intermediate results that are too far from it Returns a mutable pointer to a member variable of class MR::RefineParameters named vertRegion. 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_RefineParameters_OffsetMutablePtr()

MRC_API MR_RefineParameters * MR_RefineParameters_OffsetMutablePtr ( MR_RefineParameters * 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_RefineParameters_OffsetPtr()

MRC_API const MR_RefineParameters * MR_RefineParameters_OffsetPtr ( const MR_RefineParameters * 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_RefineParameters_Set_callback()

MRC_API void MR_RefineParameters_Set_callback ( MR_RefineParameters * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

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

◆ MR_RefineParameters_Set_distanceLimit()

MRC_API void MR_RefineParameters_Set_distanceLimit ( MR_RefineParameters * _this,
float value )

Maximum distance from the source model to the feature Modifies a member variable of class MR::RefineParameters named distanceLimit. Parameter _this can not be null. It is a single object.

◆ MR_RefineParameters_Set_faceRegion()

MRC_API void MR_RefineParameters_Set_faceRegion ( MR_RefineParameters * _this,
const MR_FaceBitSet * value )

(for meshes only) Reference faces used for filtering intermediate results that are too far from it Modifies a member variable of class MR::RefineParameters named faceRegion. Parameter _this can not be null. It is a single object.

◆ MR_RefineParameters_Set_maxIterations()

MRC_API void MR_RefineParameters_Set_maxIterations ( MR_RefineParameters * _this,
int32_t value )

Maximum amount of iterations performed until a stable set of points is found Modifies a member variable of class MR::RefineParameters named maxIterations. Parameter _this can not be null. It is a single object.

◆ MR_RefineParameters_Set_normalTolerance()

MRC_API void MR_RefineParameters_Set_normalTolerance ( MR_RefineParameters * _this,
float value )

Maximum angle between the source model's normal and the feature's normal Modifies a member variable of class MR::RefineParameters named normalTolerance. Parameter _this can not be null. It is a single object.

◆ MR_RefineParameters_Set_vertRegion()

MRC_API void MR_RefineParameters_Set_vertRegion ( MR_RefineParameters * _this,
const MR_VertBitSet * value )

(for meshes only) Reference vertices used for filtering intermediate results that are too far from it Modifies a member variable of class MR::RefineParameters named vertRegion. Parameter _this can not be null. It is a single object.