MeshLib
 
Loading...
Searching...
No Matches
MRMeshC/MRMultiwayICP.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRGridSampling.h"
5#include "MRICP.h"
6#include "MRVector.h"
7
9
17
30
33
38
39MRMESHC_API MRMultiwayICP* mrMultiwayICPNew( const MRMeshOrPointsXf* objects, size_t objectsNum, const MRMultiwayICPSamplingParameters* samplingParams );
40
44
47
51
54
57MRMESHC_API float mrMultiWayICPGetMeanSqDistToPoint( const MRMultiwayICP* mwicp, double* value );
58
61MRMESHC_API float mrMultiWayICPGetMeanSqDistToPlane( const MRMultiwayICP* mwicp, double* value );
62
65
68
71
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
bool(* MRProgressCallback)(float)
Definition MRMeshC/MRMeshFwd.h:51
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
struct MRMeshOrPointsXf MRMeshOrPointsXf
an object and its transformation to global space with other objects
Definition MRMeshC/MRMeshOrPoints.h:20
struct MRMultiwayICP MRMultiwayICP
Definition MRMeshC/MRMultiwayICP.h:37
MRMESHC_API bool mrMultiwayICPResamplePoints(MRMultiwayICP *mwicp, const MRMultiwayICPSamplingParameters *samplingParams)
select pairs with origin samples on all objects
MRMESHC_API MRMultiwayICP * mrMultiwayICPNew(const MRMeshOrPointsXf *objects, size_t objectsNum, const MRMultiwayICPSamplingParameters *samplingParams)
MRMESHC_API MRMultiwayICPSamplingParameters mrMultiwayIcpSamplingParametersNew(void)
initializes a default instance
MRMultiwayICPSamplingParametersCascadeMode
Definition MRMeshC/MRMultiwayICP.h:11
@ MRMultiwayICPSamplingParametersCascadeModeSequential
separates objects on groups based on their index in ICPObjects (good if all objects about the size of...
Definition MRMeshC/MRMultiwayICP.h:13
@ MRMultiwayICPSamplingParametersCascadeModeABBTreeBased
builds AABB tree based on each object bounding box and separates subtrees (good if each object much s...
Definition MRMeshC/MRMultiwayICP.h:15
MRMESHC_API size_t mrMultiWayICPGetNumSamples(const MRMultiwayICP *mwicp)
computes the number of samples able to form pairs
MRMESHC_API float mrMultiWayICPGetMeanSqDistToPoint(const MRMultiwayICP *mwicp, double *value)
MRMESHC_API void mrMultiwayICPSetParams(MRMultiwayICP *mwicp, const MRICPProperties *prop)
tune algorithm params before run calculateTransformations()
MRMESHC_API void mrMultiwayICPFree(MRMultiwayICP *mwicp)
deallocates a MultiwayICP object
MRMESHC_API bool mrMultiwayICPUpdateAllPointPairs(MRMultiwayICP *mwicp, MRProgressCallback cb)
struct MRMultiwayICPSamplingParameters MRMultiwayICPSamplingParameters
Parameters that are used for sampling of the MultiwayICP objects.
MRMESHC_API MRVectorAffineXf3f * mrMultiwayICPCalculateTransformations(MRMultiwayICP *mwicp, MRProgressCallback cb)
MRMESHC_API size_t mrMultiWayICPGetNumActivePairs(const MRMultiwayICP *mwicp)
computes the number of active point pairs
MRMESHC_API float mrMultiWayICPGetMeanSqDistToPlane(const MRMultiwayICP *mwicp, double *value)
typedefMR_EXTERN_C_BEGIN struct MRVectorAffineXf3f MRVectorAffineXf3f
Definition MRMeshC/MRVector.h:8
Definition MRMeshC/MRICP.h:95
Parameters that are used for sampling of the MultiwayICP objects.
Definition MRMeshC/MRMultiwayICP.h:20
MRProgressCallback cb
callback for progress reports
Definition MRMeshC/MRMultiwayICP.h:28
int maxGroupSize
Definition MRMeshC/MRMultiwayICP.h:25
float samplingVoxelSize
sampling size of each object
Definition MRMeshC/MRMultiwayICP.h:22
MRMultiwayICPSamplingParametersCascadeMode cascadeMode
Definition MRMeshC/MRMultiwayICP.h:26