MeshLib C Docs
Loading...
Searching...
No Matches
MRMultiwayICP.h File Reference
#include <MRCMesh/MRGridSampling.h>
#include <MRCMesh/MRVector3.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_BitSet MR_BitSet
 
typedef struct MR_ICPPairData MR_ICPPairData
 
typedef struct MR_ICPProperties MR_ICPProperties
 
typedef struct MR_IPointPairs MR_IPointPairs
 
typedef struct MR_Id_MR_ICPElemtTag MR_Id_MR_ICPElemtTag
 
typedef struct MR_ObjBitSet MR_ObjBitSet
 
typedef struct MR_TypedBitSet_MR_Id_MR_ICPElemtTag MR_TypedBitSet_MR_Id_MR_ICPElemtTag
 
typedef struct MR_Vector_MR_AffineXf3f_MR_ObjId MR_Vector_MR_AffineXf3f_MR_ObjId
 
typedef struct MR_Vector_MR_MeshOrPointsXf_MR_ObjId MR_Vector_MR_MeshOrPointsXf_MR_ObjId
 
typedef struct MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref
 
typedef struct MR_std_function_void_from_int MR_std_function_void_from_int
 
typedef struct MR_std_string MR_std_string
 
typedef struct MR_std_vector_MR_ICPGroupPair MR_std_vector_MR_ICPGroupPair
 
typedef struct MR_ICPGroupPair MR_ICPGroupPair
 
typedef struct MR_ICPGroupPairs MR_ICPGroupPairs
 
typedef struct MR_IICPTreeIndexer MR_IICPTreeIndexer
 
typedef enum MR_MultiwayICPSamplingParameters_CascadeMode MR_MultiwayICPSamplingParameters_CascadeMode
 
typedef struct MR_MultiwayICPSamplingParameters MR_MultiwayICPSamplingParameters
 
typedef struct MR_MultiwayICP MR_MultiwayICP
 

Enumerations

enum  MR_MultiwayICPSamplingParameters_CascadeMode { MR_MultiwayICPSamplingParameters_CascadeMode_Sequential = 0 , MR_MultiwayICPSamplingParameters_CascadeMode_AABBTreeBased = 1 }
 

Functions

MRC_API const MR_ObjVertIdMR_ICPGroupPair_Get_srcId (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_srcId (MR_ICPGroupPair *_this, MR_ObjVertId value)
 
MRC_API MR_ObjVertIdMR_ICPGroupPair_GetMutable_srcId (MR_ICPGroupPair *_this)
 
MRC_API const MR_ObjVertIdMR_ICPGroupPair_Get_tgtClosestId (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_tgtClosestId (MR_ICPGroupPair *_this, MR_ObjVertId value)
 
MRC_API MR_ObjVertIdMR_ICPGroupPair_GetMutable_tgtClosestId (MR_ICPGroupPair *_this)
 
MRC_API const MR_Vector3fMR_ICPGroupPair_Get_srcPoint (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_srcPoint (MR_ICPGroupPair *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_ICPGroupPair_GetMutable_srcPoint (MR_ICPGroupPair *_this)
 
MRC_API const MR_Vector3fMR_ICPGroupPair_Get_srcNorm (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_srcNorm (MR_ICPGroupPair *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_ICPGroupPair_GetMutable_srcNorm (MR_ICPGroupPair *_this)
 
MRC_API const MR_Vector3fMR_ICPGroupPair_Get_tgtPoint (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_tgtPoint (MR_ICPGroupPair *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_ICPGroupPair_GetMutable_tgtPoint (MR_ICPGroupPair *_this)
 
MRC_API const MR_Vector3fMR_ICPGroupPair_Get_tgtNorm (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_tgtNorm (MR_ICPGroupPair *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_ICPGroupPair_GetMutable_tgtNorm (MR_ICPGroupPair *_this)
 
MRC_API const float * MR_ICPGroupPair_Get_distSq (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_distSq (MR_ICPGroupPair *_this, float value)
 
MRC_API float * MR_ICPGroupPair_GetMutable_distSq (MR_ICPGroupPair *_this)
 
MRC_API const float * MR_ICPGroupPair_Get_weight (const MR_ICPGroupPair *_this)
 
MRC_API void MR_ICPGroupPair_Set_weight (MR_ICPGroupPair *_this, float value)
 
MRC_API float * MR_ICPGroupPair_GetMutable_weight (MR_ICPGroupPair *_this)
 
MRC_API MR_ICPGroupPairMR_ICPGroupPair_DefaultConstruct (void)
 
MRC_API MR_ICPGroupPairMR_ICPGroupPair_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_ICPGroupPairMR_ICPGroupPair_OffsetPtr (const MR_ICPGroupPair *ptr, ptrdiff_t i)
 
MRC_API MR_ICPGroupPairMR_ICPGroupPair_OffsetMutablePtr (MR_ICPGroupPair *ptr, ptrdiff_t i)
 
MRC_API const MR_ICPPairDataMR_ICPGroupPair_UpcastTo_MR_ICPPairData (const MR_ICPGroupPair *object)
 
MRC_API MR_ICPPairDataMR_ICPGroupPair_MutableUpcastTo_MR_ICPPairData (MR_ICPGroupPair *object)
 Upcasts an instance of MR::ICPGroupPair to its base class MR::ICPPairData.
 
MRC_API MR_ICPGroupPairMR_ICPGroupPair_ConstructFromAnother (const MR_ICPGroupPair *_other)
 
MRC_API void MR_ICPGroupPair_Destroy (const MR_ICPGroupPair *_this)
 Destroys a heap-allocated instance of MR_ICPGroupPair. Does nothing if the pointer is null.
 
MRC_API void MR_ICPGroupPair_DestroyArray (const MR_ICPGroupPair *_this)
 Destroys a heap-allocated array of MR_ICPGroupPair. Does nothing if the pointer is null.
 
MRC_API MR_ICPGroupPairMR_ICPGroupPair_AssignFromAnother (MR_ICPGroupPair *_this, const MR_ICPGroupPair *_other)
 
MRC_API const MR_std_vector_MR_ICPGroupPairMR_ICPGroupPairs_Get_vec (const MR_ICPGroupPairs *_this)
 
MRC_API void MR_ICPGroupPairs_Set_vec (MR_ICPGroupPairs *_this, MR_PassBy value_pass_by, MR_std_vector_MR_ICPGroupPair *value)
 
MRC_API MR_std_vector_MR_ICPGroupPairMR_ICPGroupPairs_GetMutable_vec (MR_ICPGroupPairs *_this)
 
MRC_API const MR_BitSetMR_ICPGroupPairs_Get_active (const MR_ICPGroupPairs *_this)
 
MRC_API void MR_ICPGroupPairs_Set_active (MR_ICPGroupPairs *_this, MR_PassBy value_pass_by, MR_BitSet *value)
 
MRC_API MR_BitSetMR_ICPGroupPairs_GetMutable_active (MR_ICPGroupPairs *_this)
 
MRC_API MR_ICPGroupPairsMR_ICPGroupPairs_DefaultConstruct (void)
 
MRC_API MR_ICPGroupPairsMR_ICPGroupPairs_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_ICPGroupPairsMR_ICPGroupPairs_OffsetPtr (const MR_ICPGroupPairs *ptr, ptrdiff_t i)
 
MRC_API MR_ICPGroupPairsMR_ICPGroupPairs_OffsetMutablePtr (MR_ICPGroupPairs *ptr, ptrdiff_t i)
 
MRC_API const MR_IPointPairsMR_ICPGroupPairs_UpcastTo_MR_IPointPairs (const MR_ICPGroupPairs *object)
 
MRC_API MR_IPointPairsMR_ICPGroupPairs_MutableUpcastTo_MR_IPointPairs (MR_ICPGroupPairs *object)
 Upcasts an instance of MR::ICPGroupPairs to its base class MR::IPointPairs.
 
MRC_API MR_ICPGroupPairsMR_ICPGroupPairs_ConstructFromAnother (MR_PassBy _other_pass_by, MR_ICPGroupPairs *_other)
 
MRC_API void MR_ICPGroupPairs_Destroy (const MR_ICPGroupPairs *_this)
 Destroys a heap-allocated instance of MR_ICPGroupPairs. Does nothing if the pointer is null.
 
MRC_API void MR_ICPGroupPairs_DestroyArray (const MR_ICPGroupPairs *_this)
 Destroys a heap-allocated array of MR_ICPGroupPairs. Does nothing if the pointer is null.
 
MRC_API MR_ICPGroupPairsMR_ICPGroupPairs_AssignFromAnother (MR_ICPGroupPairs *_this, MR_PassBy _other_pass_by, MR_ICPGroupPairs *_other)
 
MRC_API const MR_ICPPairDataMR_ICPGroupPairs_index_const (const MR_ICPGroupPairs *_this, MR_uint64_t idx)
 
MRC_API MR_ICPPairDataMR_ICPGroupPairs_index (MR_ICPGroupPairs *_this, MR_uint64_t idx)
 
MRC_API MR_uint64_t MR_ICPGroupPairs_size (const MR_ICPGroupPairs *_this)
 
MRC_API void MR_updateGroupPairs (MR_ICPGroupPairs *pairs, const MR_Vector_MR_MeshOrPointsXf_MR_ObjId *objs, MR_PassBy srcProjector_pass_by, MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref *srcProjector, MR_PassBy tgtProjector_pass_by, MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref *tgtProjector, float cosThreshold, float distThresholdSq, bool mutualClosest)
 
MRC_API void MR_IICPTreeIndexer_Destroy (const MR_IICPTreeIndexer *_this)
 Destroys a heap-allocated instance of MR_IICPTreeIndexer. Does nothing if the pointer is null.
 
MRC_API void MR_IICPTreeIndexer_DestroyArray (const MR_IICPTreeIndexer *_this)
 Destroys a heap-allocated array of MR_IICPTreeIndexer. Does nothing if the pointer is null.
 
MRC_API bool MR_IICPTreeIndexer_fromSameNode (const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eI, const MR_Id_MR_ICPElemtTag *eJ)
 
MRC_API MR_ObjBitSetMR_IICPTreeIndexer_getElementLeaves (const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eId)
 
MRC_API MR_TypedBitSet_MR_Id_MR_ICPElemtTagMR_IICPTreeIndexer_getElementNodes (const MR_IICPTreeIndexer *_this, int l, const MR_Id_MR_ICPElemtTag *eId)
 
MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumElements (const MR_IICPTreeIndexer *_this, int l)
 
MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumLayers (const MR_IICPTreeIndexer *_this)
 
MRC_API const MR_IICPTreeIndexerMR_IICPTreeIndexer_OffsetPtr (const MR_IICPTreeIndexer *ptr, ptrdiff_t i)
 
MRC_API MR_IICPTreeIndexerMR_IICPTreeIndexer_OffsetMutablePtr (MR_IICPTreeIndexer *ptr, ptrdiff_t i)
 
MRC_API const float * MR_MultiwayICPSamplingParameters_Get_samplingVoxelSize (const MR_MultiwayICPSamplingParameters *_this)
 
MRC_API void MR_MultiwayICPSamplingParameters_Set_samplingVoxelSize (MR_MultiwayICPSamplingParameters *_this, float value)
 
MRC_API float * MR_MultiwayICPSamplingParameters_GetMutable_samplingVoxelSize (MR_MultiwayICPSamplingParameters *_this)
 
MRC_API const int * MR_MultiwayICPSamplingParameters_Get_maxGroupSize (const MR_MultiwayICPSamplingParameters *_this)
 
MRC_API void MR_MultiwayICPSamplingParameters_Set_maxGroupSize (MR_MultiwayICPSamplingParameters *_this, int value)
 
MRC_API int * MR_MultiwayICPSamplingParameters_GetMutable_maxGroupSize (MR_MultiwayICPSamplingParameters *_this)
 
MRC_API const MR_MultiwayICPSamplingParameters_CascadeModeMR_MultiwayICPSamplingParameters_Get_cascadeMode (const MR_MultiwayICPSamplingParameters *_this)
 
MRC_API void MR_MultiwayICPSamplingParameters_Set_cascadeMode (MR_MultiwayICPSamplingParameters *_this, MR_MultiwayICPSamplingParameters_CascadeMode value)
 
MRC_API MR_MultiwayICPSamplingParameters_CascadeModeMR_MultiwayICPSamplingParameters_GetMutable_cascadeMode (MR_MultiwayICPSamplingParameters *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_MultiwayICPSamplingParameters_Get_cb (const MR_MultiwayICPSamplingParameters *_this)
 
MRC_API void MR_MultiwayICPSamplingParameters_Set_cb (MR_MultiwayICPSamplingParameters *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_MultiwayICPSamplingParameters_GetMutable_cb (MR_MultiwayICPSamplingParameters *_this)
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_DefaultConstruct (void)
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_ConstructFrom (float samplingVoxelSize, int maxGroupSize, MR_MultiwayICPSamplingParameters_CascadeMode cascadeMode, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 
MRC_API const MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_OffsetPtr (const MR_MultiwayICPSamplingParameters *ptr, ptrdiff_t i)
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_OffsetMutablePtr (MR_MultiwayICPSamplingParameters *ptr, ptrdiff_t i)
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MultiwayICPSamplingParameters *_other)
 
MRC_API void MR_MultiwayICPSamplingParameters_Destroy (const MR_MultiwayICPSamplingParameters *_this)
 Destroys a heap-allocated instance of MR_MultiwayICPSamplingParameters. Does nothing if the pointer is null.
 
MRC_API void MR_MultiwayICPSamplingParameters_DestroyArray (const MR_MultiwayICPSamplingParameters *_this)
 Destroys a heap-allocated array of MR_MultiwayICPSamplingParameters. Does nothing if the pointer is null.
 
MRC_API MR_MultiwayICPSamplingParametersMR_MultiwayICPSamplingParameters_AssignFromAnother (MR_MultiwayICPSamplingParameters *_this, MR_PassBy _other_pass_by, MR_MultiwayICPSamplingParameters *_other)
 
MRC_API MR_MultiwayICPMR_MultiwayICP_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MultiwayICP *_other)
 
MRC_API const MR_MultiwayICPMR_MultiwayICP_OffsetPtr (const MR_MultiwayICP *ptr, ptrdiff_t i)
 
MRC_API MR_MultiwayICPMR_MultiwayICP_OffsetMutablePtr (MR_MultiwayICP *ptr, ptrdiff_t i)
 
MRC_API MR_MultiwayICPMR_MultiwayICP_Construct (const MR_Vector_MR_MeshOrPointsXf_MR_ObjId *objects, const MR_MultiwayICPSamplingParameters *samplingParams)
 
MRC_API void MR_MultiwayICP_Destroy (const MR_MultiwayICP *_this)
 Destroys a heap-allocated instance of MR_MultiwayICP. Does nothing if the pointer is null.
 
MRC_API void MR_MultiwayICP_DestroyArray (const MR_MultiwayICP *_this)
 Destroys a heap-allocated array of MR_MultiwayICP. Does nothing if the pointer is null.
 
MRC_API MR_MultiwayICPMR_MultiwayICP_AssignFromAnother (MR_MultiwayICP *_this, MR_PassBy _other_pass_by, MR_MultiwayICP *_other)
 
MRC_API MR_Vector_MR_AffineXf3f_MR_ObjIdMR_MultiwayICP_calculateTransformations (MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_Vector_MR_AffineXf3f_MR_ObjIdMR_MultiwayICP_calculateTransformationsFixFirst (MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
 
MRC_API bool MR_MultiwayICP_resamplePoints (MR_MultiwayICP *_this, const MR_MultiwayICPSamplingParameters *samplingParams)
 
MRC_API bool MR_MultiwayICP_updateAllPointPairs (MR_MultiwayICP *_this, const MR_std_function_bool_from_float *cb)
 
MRC_API void MR_MultiwayICP_setParams (MR_MultiwayICP *_this, const MR_ICPProperties *prop)
 
MRC_API const MR_ICPPropertiesMR_MultiwayICP_getParams (const MR_MultiwayICP *_this)
 
MRC_API float MR_MultiwayICP_getMeanSqDistToPoint (const MR_MultiwayICP *_this, const double *value)
 
MRC_API float MR_MultiwayICP_getMeanSqDistToPlane (const MR_MultiwayICP *_this, const double *value)
 
MRC_API MR_uint64_t MR_MultiwayICP_getNumSamples (const MR_MultiwayICP *_this)
 
MRC_API MR_uint64_t MR_MultiwayICP_getNumActivePairs (const MR_MultiwayICP *_this)
 
MRC_API void MR_MultiwayICP_setPerIterationCallback (MR_MultiwayICP *_this, MR_PassBy callback_pass_by, MR_std_function_void_from_int *callback)
 
MRC_API bool MR_MultiwayICP_devIndependentEquationsModeEnabled (const MR_MultiwayICP *_this)
 
MRC_API void MR_MultiwayICP_devEnableIndependentEquationsMode (MR_MultiwayICP *_this, bool on)
 
MRC_API MR_std_stringMR_MultiwayICP_getStatusInfo (const MR_MultiwayICP *_this)
 
MRC_API const MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_intMR_MultiwayICP_getPairsPerLayer (const MR_MultiwayICP *_this)
 
MRC_API const MR_IICPTreeIndexerMR_MultiwayICP_getCascadeIndexer (const MR_MultiwayICP *_this)
 

Typedef Documentation

◆ MR_BitSet

typedef struct MR_BitSet MR_BitSet

◆ MR_ICPGroupPair

Generated from class MR::ICPGroupPair. Base classes: Direct: (non-virtual) MR::ICPPairData 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_ICPGroupPairs

Generated from class MR::ICPGroupPairs. Base classes: Direct: (non-virtual) MR::IPointPairs 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_ICPPairData

◆ MR_ICPProperties

◆ MR_Id_MR_ICPElemtTag

◆ MR_IICPTreeIndexer

structure to find leafs and groups of each in cascade mode Generated from class MR::IICPTreeIndexer.

◆ MR_IPointPairs

◆ MR_MultiwayICP

This class allows you to register many objects having similar parts and known initial approximations of orientations/locations using Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms

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

◆ MR_MultiwayICPSamplingParameters

Parameters that are used for sampling of the MultiwayICP objects Generated from class MR::MultiwayICPSamplingParameters. 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_MultiwayICPSamplingParameters_CascadeMode

◆ MR_ObjBitSet

typedef struct MR_ObjBitSet MR_ObjBitSet

◆ MR_std_function_bool_from_float

◆ MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref

◆ MR_std_function_void_from_int

◆ MR_std_string

typedef struct MR_std_string MR_std_string

◆ MR_std_vector_MR_ICPGroupPair

◆ MR_TypedBitSet_MR_Id_MR_ICPElemtTag

◆ MR_Vector_MR_AffineXf3f_MR_ObjId

◆ MR_Vector_MR_MeshOrPointsXf_MR_ObjId

◆ MR_Vector_MR_Vector_MR_Vector_MR_ICPGroupPairs_MR_Id_MR_ICPElemtTag_MR_Id_MR_ICPElemtTag_int

Enumeration Type Documentation

◆ MR_MultiwayICPSamplingParameters_CascadeMode

Enumerator
MR_MultiwayICPSamplingParameters_CascadeMode_Sequential 
MR_MultiwayICPSamplingParameters_CascadeMode_AABBTreeBased 

separates objects on groups based on their index in ICPObjects (good if all objects about the size of all objects together)

Function Documentation

◆ MR_ICPGroupPair_AssignFromAnother()

MRC_API MR_ICPGroupPair * MR_ICPGroupPair_AssignFromAnother ( MR_ICPGroupPair * _this,
const MR_ICPGroupPair * _other )

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

MRC_API MR_ICPGroupPair * MR_ICPGroupPair_ConstructFromAnother ( const MR_ICPGroupPair * _other)

Generated from constructor MR::ICPGroupPair::ICPGroupPair. Parameter _other 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 the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_ICPGroupPair_Destroy() to free it when you're done using it.

◆ MR_ICPGroupPair_DefaultConstruct()

MRC_API MR_ICPGroupPair * MR_ICPGroupPair_DefaultConstruct ( void )

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

◆ MR_ICPGroupPair_DefaultConstructArray()

MRC_API MR_ICPGroupPair * MR_ICPGroupPair_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_ICPGroupPair_DestroyArray(). Use MR_ICPGroupPair_OffsetMutablePtr() and MR_ICPGroupPair_OffsetPtr() to access the array elements.

◆ MR_ICPGroupPair_Destroy()

MRC_API void MR_ICPGroupPair_Destroy ( const MR_ICPGroupPair * _this)

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

◆ MR_ICPGroupPair_DestroyArray()

MRC_API void MR_ICPGroupPair_DestroyArray ( const MR_ICPGroupPair * _this)

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

◆ MR_ICPGroupPair_Get_distSq()

MRC_API const float * MR_ICPGroupPair_Get_distSq ( const MR_ICPGroupPair * _this)

squared distance between source and target points Returns a pointer to a member variable of class MR::ICPGroupPair named distSq. 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_ICPGroupPair_Get_srcId()

MRC_API const MR_ObjVertId * MR_ICPGroupPair_Get_srcId ( const MR_ICPGroupPair * _this)

Returns a pointer to a member variable of class MR::ICPGroupPair named srcId. 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_ICPGroupPair_Get_srcNorm()

MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_srcNorm ( const MR_ICPGroupPair * _this)

normal in source point after transforming in world space Returns a pointer to a member variable of class MR::ICPGroupPair named srcNorm. 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_ICPGroupPair_Get_srcPoint()

MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_srcPoint ( const MR_ICPGroupPair * _this)

coordinates of the source point after transforming in world space Returns a pointer to a member variable of class MR::ICPGroupPair named srcPoint. 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_ICPGroupPair_Get_tgtClosestId()

MRC_API const MR_ObjVertId * MR_ICPGroupPair_Get_tgtClosestId ( const MR_ICPGroupPair * _this)

Returns a pointer to a member variable of class MR::ICPGroupPair named tgtClosestId. 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_ICPGroupPair_Get_tgtNorm()

MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_tgtNorm ( const MR_ICPGroupPair * _this)

normal in the target point after transforming in world space Returns a pointer to a member variable of class MR::ICPGroupPair named tgtNorm. 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_ICPGroupPair_Get_tgtPoint()

MRC_API const MR_Vector3f * MR_ICPGroupPair_Get_tgtPoint ( const MR_ICPGroupPair * _this)

coordinates of the closest point on target after transforming in world space Returns a pointer to a member variable of class MR::ICPGroupPair named tgtPoint. 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_ICPGroupPair_Get_weight()

MRC_API const float * MR_ICPGroupPair_Get_weight ( const MR_ICPGroupPair * _this)

weight of the pair (to prioritize over other pairs) Returns a pointer to a member variable of class MR::ICPGroupPair named weight. 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_ICPGroupPair_GetMutable_distSq()

MRC_API float * MR_ICPGroupPair_GetMutable_distSq ( MR_ICPGroupPair * _this)

squared distance between source and target points Returns a mutable pointer to a member variable of class MR::ICPGroupPair named distSq. 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_ICPGroupPair_GetMutable_srcId()

MRC_API MR_ObjVertId * MR_ICPGroupPair_GetMutable_srcId ( MR_ICPGroupPair * _this)

Returns a mutable pointer to a member variable of class MR::ICPGroupPair named srcId. 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_ICPGroupPair_GetMutable_srcNorm()

MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_srcNorm ( MR_ICPGroupPair * _this)

normal in source point after transforming in world space Returns a mutable pointer to a member variable of class MR::ICPGroupPair named srcNorm. 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_ICPGroupPair_GetMutable_srcPoint()

MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_srcPoint ( MR_ICPGroupPair * _this)

coordinates of the source point after transforming in world space Returns a mutable pointer to a member variable of class MR::ICPGroupPair named srcPoint. 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_ICPGroupPair_GetMutable_tgtClosestId()

MRC_API MR_ObjVertId * MR_ICPGroupPair_GetMutable_tgtClosestId ( MR_ICPGroupPair * _this)

Returns a mutable pointer to a member variable of class MR::ICPGroupPair named tgtClosestId. 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_ICPGroupPair_GetMutable_tgtNorm()

MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_tgtNorm ( MR_ICPGroupPair * _this)

normal in the target point after transforming in world space Returns a mutable pointer to a member variable of class MR::ICPGroupPair named tgtNorm. 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_ICPGroupPair_GetMutable_tgtPoint()

MRC_API MR_Vector3f * MR_ICPGroupPair_GetMutable_tgtPoint ( MR_ICPGroupPair * _this)

coordinates of the closest point on target after transforming in world space Returns a mutable pointer to a member variable of class MR::ICPGroupPair named tgtPoint. 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_ICPGroupPair_GetMutable_weight()

MRC_API float * MR_ICPGroupPair_GetMutable_weight ( MR_ICPGroupPair * _this)

weight of the pair (to prioritize over other pairs) Returns a mutable pointer to a member variable of class MR::ICPGroupPair named weight. 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_ICPGroupPair_MutableUpcastTo_MR_ICPPairData()

MRC_API MR_ICPPairData * MR_ICPGroupPair_MutableUpcastTo_MR_ICPPairData ( MR_ICPGroupPair * object)

Upcasts an instance of MR::ICPGroupPair to its base class MR::ICPPairData.

◆ MR_ICPGroupPair_OffsetMutablePtr()

MRC_API MR_ICPGroupPair * MR_ICPGroupPair_OffsetMutablePtr ( MR_ICPGroupPair * 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_ICPGroupPair_OffsetPtr()

MRC_API const MR_ICPGroupPair * MR_ICPGroupPair_OffsetPtr ( const MR_ICPGroupPair * 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_ICPGroupPair_Set_distSq()

MRC_API void MR_ICPGroupPair_Set_distSq ( MR_ICPGroupPair * _this,
float value )

squared distance between source and target points Modifies a member variable of class MR::ICPGroupPair named distSq. 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 distSq.

◆ MR_ICPGroupPair_Set_srcId()

MRC_API void MR_ICPGroupPair_Set_srcId ( MR_ICPGroupPair * _this,
MR_ObjVertId value )

Modifies a member variable of class MR::ICPGroupPair named srcId. 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 srcId. When this function is called, this object will drop object references it had previously in srcId.

◆ MR_ICPGroupPair_Set_srcNorm()

MRC_API void MR_ICPGroupPair_Set_srcNorm ( MR_ICPGroupPair * _this,
MR_Vector3f value )

normal in source point after transforming in world space Modifies a member variable of class MR::ICPGroupPair named srcNorm. 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 srcNorm. When this function is called, this object will drop object references it had previously in srcNorm.

◆ MR_ICPGroupPair_Set_srcPoint()

MRC_API void MR_ICPGroupPair_Set_srcPoint ( MR_ICPGroupPair * _this,
MR_Vector3f value )

coordinates of the source point after transforming in world space Modifies a member variable of class MR::ICPGroupPair named srcPoint. 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 srcPoint. When this function is called, this object will drop object references it had previously in srcPoint.

◆ MR_ICPGroupPair_Set_tgtClosestId()

MRC_API void MR_ICPGroupPair_Set_tgtClosestId ( MR_ICPGroupPair * _this,
MR_ObjVertId value )

Modifies a member variable of class MR::ICPGroupPair named tgtClosestId. 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 tgtClosestId. When this function is called, this object will drop object references it had previously in tgtClosestId.

◆ MR_ICPGroupPair_Set_tgtNorm()

MRC_API void MR_ICPGroupPair_Set_tgtNorm ( MR_ICPGroupPair * _this,
MR_Vector3f value )

normal in the target point after transforming in world space Modifies a member variable of class MR::ICPGroupPair named tgtNorm. 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 tgtNorm. When this function is called, this object will drop object references it had previously in tgtNorm.

◆ MR_ICPGroupPair_Set_tgtPoint()

MRC_API void MR_ICPGroupPair_Set_tgtPoint ( MR_ICPGroupPair * _this,
MR_Vector3f value )

coordinates of the closest point on target after transforming in world space Modifies a member variable of class MR::ICPGroupPair named tgtPoint. 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 tgtPoint. When this function is called, this object will drop object references it had previously in tgtPoint.

◆ MR_ICPGroupPair_Set_weight()

MRC_API void MR_ICPGroupPair_Set_weight ( MR_ICPGroupPair * _this,
float value )

weight of the pair (to prioritize over other pairs) Modifies a member variable of class MR::ICPGroupPair named weight. 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 weight.

◆ MR_ICPGroupPair_UpcastTo_MR_ICPPairData()

MRC_API const MR_ICPPairData * MR_ICPGroupPair_UpcastTo_MR_ICPPairData ( const MR_ICPGroupPair * object)

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

◆ MR_ICPGroupPairs_AssignFromAnother()

MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_AssignFromAnother ( MR_ICPGroupPairs * _this,
MR_PassBy _other_pass_by,
MR_ICPGroupPairs * _other )

Generated from method MR::ICPGroupPairs::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_ICPGroupPairs_ConstructFromAnother()

MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_ICPGroupPairs * _other )

Generated from constructor MR::ICPGroupPairs::ICPGroupPairs. 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_ICPGroupPairs_Destroy() to free it when you're done using it.

◆ MR_ICPGroupPairs_DefaultConstruct()

MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_DefaultConstruct ( void )

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

◆ MR_ICPGroupPairs_DefaultConstructArray()

MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_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_ICPGroupPairs_DestroyArray(). Use MR_ICPGroupPairs_OffsetMutablePtr() and MR_ICPGroupPairs_OffsetPtr() to access the array elements.

◆ MR_ICPGroupPairs_Destroy()

MRC_API void MR_ICPGroupPairs_Destroy ( const MR_ICPGroupPairs * _this)

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

◆ MR_ICPGroupPairs_DestroyArray()

MRC_API void MR_ICPGroupPairs_DestroyArray ( const MR_ICPGroupPairs * _this)

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

◆ MR_ICPGroupPairs_Get_active()

MRC_API const MR_BitSet * MR_ICPGroupPairs_Get_active ( const MR_ICPGroupPairs * _this)

whether corresponding pair from vec must be considered during minimization Modifies a member variable of class MR::ICPGroupPairs named active. 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 active. When this function is called, this object will drop object references it had previously in active.

◆ MR_ICPGroupPairs_Get_vec()

MRC_API const MR_std_vector_MR_ICPGroupPair * MR_ICPGroupPairs_Get_vec ( const MR_ICPGroupPairs * _this)

Returns a pointer to a member variable of class MR::ICPGroupPairs named vec. 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_ICPGroupPairs_GetMutable_active()

MRC_API MR_BitSet * MR_ICPGroupPairs_GetMutable_active ( MR_ICPGroupPairs * _this)

◆ MR_ICPGroupPairs_GetMutable_vec()

MRC_API MR_std_vector_MR_ICPGroupPair * MR_ICPGroupPairs_GetMutable_vec ( MR_ICPGroupPairs * _this)

Returns a mutable pointer to a member variable of class MR::ICPGroupPairs named vec. 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. whether corresponding pair from vec must be considered during minimization Returns a pointer to a member variable of class MR::ICPGroupPairs named active. 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_ICPGroupPairs_index()

MRC_API MR_ICPPairData * MR_ICPGroupPairs_index ( MR_ICPGroupPairs * _this,
MR_uint64_t idx )

Generated from method MR::ICPGroupPairs::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_ICPGroupPairs_index_const()

MRC_API const MR_ICPPairData * MR_ICPGroupPairs_index_const ( const MR_ICPGroupPairs * _this,
MR_uint64_t idx )

Generated from method MR::ICPGroupPairs::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_ICPGroupPairs_MutableUpcastTo_MR_IPointPairs()

MRC_API MR_IPointPairs * MR_ICPGroupPairs_MutableUpcastTo_MR_IPointPairs ( MR_ICPGroupPairs * object)

Upcasts an instance of MR::ICPGroupPairs to its base class MR::IPointPairs.

◆ MR_ICPGroupPairs_OffsetMutablePtr()

MRC_API MR_ICPGroupPairs * MR_ICPGroupPairs_OffsetMutablePtr ( MR_ICPGroupPairs * 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_ICPGroupPairs_OffsetPtr()

MRC_API const MR_ICPGroupPairs * MR_ICPGroupPairs_OffsetPtr ( const MR_ICPGroupPairs * 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_ICPGroupPairs_Set_active()

MRC_API void MR_ICPGroupPairs_Set_active ( MR_ICPGroupPairs * _this,
MR_PassBy value_pass_by,
MR_BitSet * value )

whether corresponding pair from vec must be considered during minimization Returns a mutable pointer to a member variable of class MR::ICPGroupPairs named active. 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_ICPGroupPairs_Set_vec()

MRC_API void MR_ICPGroupPairs_Set_vec ( MR_ICPGroupPairs * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_ICPGroupPair * value )

Modifies a member variable of class MR::ICPGroupPairs named vec. 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 vec. When this function is called, this object will drop object references it had previously in vec.

◆ MR_ICPGroupPairs_size()

MRC_API MR_uint64_t MR_ICPGroupPairs_size ( const MR_ICPGroupPairs * _this)

Generated from method MR::ICPGroupPairs::size. Parameter _this can not be null. It is a single object.

◆ MR_ICPGroupPairs_UpcastTo_MR_IPointPairs()

MRC_API const MR_IPointPairs * MR_ICPGroupPairs_UpcastTo_MR_IPointPairs ( const MR_ICPGroupPairs * object)

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

◆ MR_IICPTreeIndexer_Destroy()

MRC_API void MR_IICPTreeIndexer_Destroy ( const MR_IICPTreeIndexer * _this)

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

◆ MR_IICPTreeIndexer_DestroyArray()

MRC_API void MR_IICPTreeIndexer_DestroyArray ( const MR_IICPTreeIndexer * _this)

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

◆ MR_IICPTreeIndexer_fromSameNode()

MRC_API bool MR_IICPTreeIndexer_fromSameNode ( const MR_IICPTreeIndexer * _this,
int l,
const MR_Id_MR_ICPElemtTag * eI,
const MR_Id_MR_ICPElemtTag * eJ )

returns true if eI and eJ are from same node Generated from method MR::IICPTreeIndexer::fromSameNode. Parameter _this can not be null. It is a single object. Parameter eI can not be null. It is a single object. Parameter eJ can not be null. It is a single object.

◆ MR_IICPTreeIndexer_getElementLeaves()

MRC_API MR_ObjBitSet * MR_IICPTreeIndexer_getElementLeaves ( const MR_IICPTreeIndexer * _this,
int l,
const MR_Id_MR_ICPElemtTag * eId )

returns bitset of leaves of given node Generated from method MR::IICPTreeIndexer::getElementLeaves. Parameter _this can not be null. It is a single object. Parameter eId can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_ObjBitSet_Destroy() to free it when you're done using it.

◆ MR_IICPTreeIndexer_getElementNodes()

MRC_API MR_TypedBitSet_MR_Id_MR_ICPElemtTag * MR_IICPTreeIndexer_getElementNodes ( const MR_IICPTreeIndexer * _this,
int l,
const MR_Id_MR_ICPElemtTag * eId )

valid for l > 0, returns bitset of subnodes that is associated with eId should be valid for l == getNumLayers Generated from method MR::IICPTreeIndexer::getElementNodes. Parameter _this can not be null. It is a single object. Parameter eId can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_TypedBitSet_MR_Id_MR_ICPElemtTag_Destroy() to free it when you're done using it.

◆ MR_IICPTreeIndexer_getNumElements()

MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumElements ( const MR_IICPTreeIndexer * _this,
int l )

l == 0 - objs_.size() l == 1 - number of nodes one layer above objects l == 2 - number of nodes one layer above nodes lvl1 ... l == getNumLayers - 1 Generated from method MR::IICPTreeIndexer::getNumElements. Parameter _this can not be null. It is a single object.

◆ MR_IICPTreeIndexer_getNumLayers()

MRC_API MR_uint64_t MR_IICPTreeIndexer_getNumLayers ( const MR_IICPTreeIndexer * _this)

Generated from method MR::IICPTreeIndexer::getNumLayers. Parameter _this can not be null. It is a single object.

◆ MR_IICPTreeIndexer_OffsetMutablePtr()

MRC_API MR_IICPTreeIndexer * MR_IICPTreeIndexer_OffsetMutablePtr ( MR_IICPTreeIndexer * 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_IICPTreeIndexer_OffsetPtr()

MRC_API const MR_IICPTreeIndexer * MR_IICPTreeIndexer_OffsetPtr ( const MR_IICPTreeIndexer * 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_MultiwayICP_AssignFromAnother()

MRC_API MR_MultiwayICP * MR_MultiwayICP_AssignFromAnother ( MR_MultiwayICP * _this,
MR_PassBy _other_pass_by,
MR_MultiwayICP * _other )

Generated from method MR::MultiwayICP::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_MultiwayICP_calculateTransformations()

MRC_API MR_Vector_MR_AffineXf3f_MR_ObjId * MR_MultiwayICP_calculateTransformations ( MR_MultiwayICP * _this,
const MR_std_function_bool_from_float * cb )

runs ICP algorithm given input objects, transformations, and parameters;

Returns
adjusted transformations of all objects to reach registered state the transformation of the last object is fixed and does not change here Generated from method MR::MultiwayICP::calculateTransformations. Parameter _this can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_Vector_MR_AffineXf3f_MR_ObjId_Destroy() to free it when you're done using it.

◆ MR_MultiwayICP_calculateTransformationsFixFirst()

MRC_API MR_Vector_MR_AffineXf3f_MR_ObjId * MR_MultiwayICP_calculateTransformationsFixFirst ( MR_MultiwayICP * _this,
const MR_std_function_bool_from_float * cb )

runs ICP algorithm given input objects, transformations, and parameters;

Returns
adjusted transformations of all objects to reach registered state the transformation of the first object is fixed and does not change here Generated from method MR::MultiwayICP::calculateTransformationsFixFirst. Parameter _this can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_Vector_MR_AffineXf3f_MR_ObjId_Destroy() to free it when you're done using it.

◆ MR_MultiwayICP_Construct()

MRC_API MR_MultiwayICP * MR_MultiwayICP_Construct ( const MR_Vector_MR_MeshOrPointsXf_MR_ObjId * objects,
const MR_MultiwayICPSamplingParameters * samplingParams )

Generated from constructor MR::MultiwayICP::MultiwayICP. Parameter objects can not be null. It is a single object. The reference to the parameter objects might be preserved in the constructed object. Parameter samplingParams can not be null. It is a single object. The reference to the parameter samplingParams might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MultiwayICP_Destroy() to free it when you're done using it.

◆ MR_MultiwayICP_ConstructFromAnother()

MRC_API MR_MultiwayICP * MR_MultiwayICP_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MultiwayICP * _other )

Generated from constructor MR::MultiwayICP::MultiwayICP. 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_MultiwayICP_Destroy() to free it when you're done using it.

◆ MR_MultiwayICP_Destroy()

MRC_API void MR_MultiwayICP_Destroy ( const MR_MultiwayICP * _this)

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

◆ MR_MultiwayICP_DestroyArray()

MRC_API void MR_MultiwayICP_DestroyArray ( const MR_MultiwayICP * _this)

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

◆ MR_MultiwayICP_devEnableIndependentEquationsMode()

MRC_API void MR_MultiwayICP_devEnableIndependentEquationsMode ( MR_MultiwayICP * _this,
bool on )

Generated from method MR::MultiwayICP::devEnableIndependentEquationsMode. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_devIndependentEquationsModeEnabled()

MRC_API bool MR_MultiwayICP_devIndependentEquationsModeEnabled ( const MR_MultiwayICP * _this)

if in independent equations mode - creates separate equation system for each object otherwise creates single large equation system for all objects Generated from method MR::MultiwayICP::devIndependentEquationsModeEnabled. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_getCascadeIndexer()

MRC_API const MR_IICPTreeIndexer * MR_MultiwayICP_getCascadeIndexer ( const MR_MultiwayICP * _this)

returns pointer to class that is used to navigate among layers of cascade registration if nullptr - cascade mode is not used Generated from method MR::MultiwayICP::getCascadeIndexer. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_getMeanSqDistToPlane()

MRC_API float MR_MultiwayICP_getMeanSqDistToPlane ( const MR_MultiwayICP * _this,
const double * value )

computes root-mean-square deviation from points to target planes or the standard deviation from given value if present Generated from method MR::MultiwayICP::getMeanSqDistToPlane. Parameter _this can not be null. It is a single object. Parameter value is optional. To keep it empty, pass a null pointer. Parameter value defaults to empty in C++.

◆ MR_MultiwayICP_getMeanSqDistToPoint()

MRC_API float MR_MultiwayICP_getMeanSqDistToPoint ( const MR_MultiwayICP * _this,
const double * value )

computes root-mean-square deviation between points or the standard deviation from given value if present Generated from method MR::MultiwayICP::getMeanSqDistToPoint. Parameter _this can not be null. It is a single object. Parameter value is optional. To keep it empty, pass a null pointer. Parameter value defaults to empty in C++.

◆ MR_MultiwayICP_getNumActivePairs()

MRC_API MR_uint64_t MR_MultiwayICP_getNumActivePairs ( const MR_MultiwayICP * _this)

computes the number of active point pairs Generated from method MR::MultiwayICP::getNumActivePairs. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_getNumSamples()

MRC_API MR_uint64_t MR_MultiwayICP_getNumSamples ( const MR_MultiwayICP * _this)

computes the number of samples able to form pairs Generated from method MR::MultiwayICP::getNumSamples. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_getPairsPerLayer()

returns all pairs of all layers Generated from method MR::MultiwayICP::getPairsPerLayer. 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_MultiwayICP_getParams()

MRC_API const MR_ICPProperties * MR_MultiwayICP_getParams ( const MR_MultiwayICP * _this)

Generated from method MR::MultiwayICP::getParams. 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_MultiwayICP_getStatusInfo()

MRC_API MR_std_string * MR_MultiwayICP_getStatusInfo ( const MR_MultiwayICP * _this)

returns status info string Generated from method MR::MultiwayICP::getStatusInfo. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_string_Destroy() to free it when you're done using it.

◆ MR_MultiwayICP_OffsetMutablePtr()

MRC_API MR_MultiwayICP * MR_MultiwayICP_OffsetMutablePtr ( MR_MultiwayICP * 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_MultiwayICP_OffsetPtr()

MRC_API const MR_MultiwayICP * MR_MultiwayICP_OffsetPtr ( const MR_MultiwayICP * 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_MultiwayICP_resamplePoints()

MRC_API bool MR_MultiwayICP_resamplePoints ( MR_MultiwayICP * _this,
const MR_MultiwayICPSamplingParameters * samplingParams )

select pairs with origin samples on all objects Generated from method MR::MultiwayICP::resamplePoints. Parameter _this can not be null. It is a single object. Parameter samplingParams can not be null. It is a single object.

◆ MR_MultiwayICP_setParams()

MRC_API void MR_MultiwayICP_setParams ( MR_MultiwayICP * _this,
const MR_ICPProperties * prop )

tune algorithm params before run calculateTransformations() Generated from method MR::MultiwayICP::setParams. Parameter _this can not be null. It is a single object. Parameter prop can not be null. It is a single object.

◆ MR_MultiwayICP_setPerIterationCallback()

MRC_API void MR_MultiwayICP_setPerIterationCallback ( MR_MultiwayICP * _this,
MR_PassBy callback_pass_by,
MR_std_function_void_from_int * callback )

sets callback that will be called for each iteration Generated from method MR::MultiwayICP::setPerIterationCallback. Parameter _this can not be null. It is a single object.

◆ MR_MultiwayICP_updateAllPointPairs()

MRC_API bool MR_MultiwayICP_updateAllPointPairs ( MR_MultiwayICP * _this,
const MR_std_function_bool_from_float * cb )

in each pair updates the target data and performs basic filtering (activation) in cascade mode only useful for stats update Generated from method MR::MultiwayICP::updateAllPointPairs. Parameter _this can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it.

◆ MR_MultiwayICPSamplingParameters_AssignFromAnother()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_AssignFromAnother ( MR_MultiwayICPSamplingParameters * _this,
MR_PassBy _other_pass_by,
MR_MultiwayICPSamplingParameters * _other )

Generated from method MR::MultiwayICPSamplingParameters::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_MultiwayICPSamplingParameters_ConstructFrom()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_ConstructFrom ( float samplingVoxelSize,
int maxGroupSize,
MR_MultiwayICPSamplingParameters_CascadeMode cascadeMode,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

Constructs MR::MultiwayICPSamplingParameters elementwise. The reference to the parameter cascadeMode might be preserved in the constructed object. The reference to the parameter cb might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MultiwayICPSamplingParameters_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_MultiwayICPSamplingParameters_ConstructFromAnother()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MultiwayICPSamplingParameters * _other )

Generated from constructor MR::MultiwayICPSamplingParameters::MultiwayICPSamplingParameters. 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_MultiwayICPSamplingParameters_Destroy() to free it when you're done using it.

◆ MR_MultiwayICPSamplingParameters_DefaultConstruct()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_DefaultConstruct ( void )

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

◆ MR_MultiwayICPSamplingParameters_DefaultConstructArray()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_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_MultiwayICPSamplingParameters_DestroyArray(). Use MR_MultiwayICPSamplingParameters_OffsetMutablePtr() and MR_MultiwayICPSamplingParameters_OffsetPtr() to access the array elements.

◆ MR_MultiwayICPSamplingParameters_Destroy()

MRC_API void MR_MultiwayICPSamplingParameters_Destroy ( const MR_MultiwayICPSamplingParameters * _this)

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

◆ MR_MultiwayICPSamplingParameters_DestroyArray()

MRC_API void MR_MultiwayICPSamplingParameters_DestroyArray ( const MR_MultiwayICPSamplingParameters * _this)

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

◆ MR_MultiwayICPSamplingParameters_Get_cascadeMode()

MRC_API const MR_MultiwayICPSamplingParameters_CascadeMode * MR_MultiwayICPSamplingParameters_Get_cascadeMode ( const MR_MultiwayICPSamplingParameters * _this)

Returns a pointer to a member variable of class MR::MultiwayICPSamplingParameters named cascadeMode. 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_MultiwayICPSamplingParameters_Get_cb()

MRC_API const MR_std_function_bool_from_float * MR_MultiwayICPSamplingParameters_Get_cb ( const MR_MultiwayICPSamplingParameters * _this)

callback for progress reports Returns a pointer to a member variable of class MR::MultiwayICPSamplingParameters named cb. 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_MultiwayICPSamplingParameters_Get_maxGroupSize()

MRC_API const int * MR_MultiwayICPSamplingParameters_Get_maxGroupSize ( const MR_MultiwayICPSamplingParameters * _this)

size of maximum icp group to work with; if the number of objects exceeds this value, icp is applied in cascade mode; maxGroupSize = 1 means that every object is moved independently on half distance to the previous position of all other objects; maxGroupSize = 0 means that a big system of equations for all objects is solved (force no cascading) Returns a pointer to a member variable of class MR::MultiwayICPSamplingParameters named maxGroupSize. 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_MultiwayICPSamplingParameters_Get_samplingVoxelSize()

MRC_API const float * MR_MultiwayICPSamplingParameters_Get_samplingVoxelSize ( const MR_MultiwayICPSamplingParameters * _this)

sampling size of each object, 0 has special meaning "take all valid points" Returns a pointer to a member variable of class MR::MultiwayICPSamplingParameters named samplingVoxelSize. 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_MultiwayICPSamplingParameters_GetMutable_cascadeMode()

MRC_API MR_MultiwayICPSamplingParameters_CascadeMode * MR_MultiwayICPSamplingParameters_GetMutable_cascadeMode ( MR_MultiwayICPSamplingParameters * _this)

Returns a mutable pointer to a member variable of class MR::MultiwayICPSamplingParameters named cascadeMode. 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_MultiwayICPSamplingParameters_GetMutable_cb()

MRC_API MR_std_function_bool_from_float * MR_MultiwayICPSamplingParameters_GetMutable_cb ( MR_MultiwayICPSamplingParameters * _this)

callback for progress reports Returns a mutable pointer to a member variable of class MR::MultiwayICPSamplingParameters named cb. 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_MultiwayICPSamplingParameters_GetMutable_maxGroupSize()

MRC_API int * MR_MultiwayICPSamplingParameters_GetMutable_maxGroupSize ( MR_MultiwayICPSamplingParameters * _this)

size of maximum icp group to work with; if the number of objects exceeds this value, icp is applied in cascade mode; maxGroupSize = 1 means that every object is moved independently on half distance to the previous position of all other objects; maxGroupSize = 0 means that a big system of equations for all objects is solved (force no cascading) Returns a mutable pointer to a member variable of class MR::MultiwayICPSamplingParameters named maxGroupSize. 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_MultiwayICPSamplingParameters_GetMutable_samplingVoxelSize()

MRC_API float * MR_MultiwayICPSamplingParameters_GetMutable_samplingVoxelSize ( MR_MultiwayICPSamplingParameters * _this)

sampling size of each object, 0 has special meaning "take all valid points" Returns a mutable pointer to a member variable of class MR::MultiwayICPSamplingParameters named samplingVoxelSize. 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_MultiwayICPSamplingParameters_OffsetMutablePtr()

MRC_API MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_OffsetMutablePtr ( MR_MultiwayICPSamplingParameters * 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_MultiwayICPSamplingParameters_OffsetPtr()

MRC_API const MR_MultiwayICPSamplingParameters * MR_MultiwayICPSamplingParameters_OffsetPtr ( const MR_MultiwayICPSamplingParameters * 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_MultiwayICPSamplingParameters_Set_cascadeMode()

MRC_API void MR_MultiwayICPSamplingParameters_Set_cascadeMode ( MR_MultiwayICPSamplingParameters * _this,
MR_MultiwayICPSamplingParameters_CascadeMode value )

Modifies a member variable of class MR::MultiwayICPSamplingParameters named cascadeMode. 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 cascadeMode. When this function is called, this object will drop object references it had previously in cascadeMode.

◆ MR_MultiwayICPSamplingParameters_Set_cb()

MRC_API void MR_MultiwayICPSamplingParameters_Set_cb ( MR_MultiwayICPSamplingParameters * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

callback for progress reports Modifies a member variable of class MR::MultiwayICPSamplingParameters named cb. 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 cb. When this function is called, this object will drop object references it had previously in cb.

◆ MR_MultiwayICPSamplingParameters_Set_maxGroupSize()

MRC_API void MR_MultiwayICPSamplingParameters_Set_maxGroupSize ( MR_MultiwayICPSamplingParameters * _this,
int value )

size of maximum icp group to work with; if the number of objects exceeds this value, icp is applied in cascade mode; maxGroupSize = 1 means that every object is moved independently on half distance to the previous position of all other objects; maxGroupSize = 0 means that a big system of equations for all objects is solved (force no cascading) Modifies a member variable of class MR::MultiwayICPSamplingParameters named maxGroupSize. 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 maxGroupSize.

◆ MR_MultiwayICPSamplingParameters_Set_samplingVoxelSize()

MRC_API void MR_MultiwayICPSamplingParameters_Set_samplingVoxelSize ( MR_MultiwayICPSamplingParameters * _this,
float value )

sampling size of each object, 0 has special meaning "take all valid points" Modifies a member variable of class MR::MultiwayICPSamplingParameters named samplingVoxelSize. 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 samplingVoxelSize.

◆ MR_updateGroupPairs()

MRC_API void MR_updateGroupPairs ( MR_ICPGroupPairs * pairs,
const MR_Vector_MR_MeshOrPointsXf_MR_ObjId * objs,
MR_PassBy srcProjector_pass_by,
MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref * srcProjector,
MR_PassBy tgtProjector_pass_by,
MR_std_function_void_from_const_MR_Vector3f_ref_MR_MeshOrPoints_ProjectionResult_ref_MR_ObjId_ref * tgtProjector,
float cosThreshold,
float distThresholdSq,
bool mutualClosest )

in each pair updates the target data and performs basic filtering (activation) Generated from function MR::updateGroupPairs. Parameter pairs can not be null. It is a single object. Parameter objs can not be null. It is a single object.