MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::ICP Class Reference

#include <MRICP.h>

Public Member Functions

 ICP (const MeshOrPoints &flt, const MeshOrPoints &ref, const AffineXf3f &fltXf, const AffineXf3f &refXf, const VertBitSet &fltSamples={}, const VertBitSet &refSamples={})
 
MRMESH_API ICP (const MeshOrPointsXf &flt, const MeshOrPointsXf &ref, const VertBitSet &fltSamples={}, const VertBitSet &refSamples={})
 
MRMESH_API ICP (const MeshOrPoints &flt, const MeshOrPoints &ref, const AffineXf3f &fltXf, const AffineXf3f &refXf, float samplingVoxelSize)
 
MRMESH_API ICP (const MeshOrPointsXf &flt, const MeshOrPointsXf &ref, float samplingVoxelSize)
 
void setParams (const ICPProperties &prop)
 tune algorithm params before run calculateTransformation()
 
MRMESH_API void setCosineLimit (const float cos)
 
MRMESH_API void setDistanceLimit (const float dist)
 
MRMESH_API void setBadIterCount (const int iter)
 
MRMESH_API void setFarDistFactor (const float factor)
 
MRMESH_API void setFltSamples (const VertBitSet &fltSamples)
 select pairs with origin samples on floating object
 
MRMESH_API void sampleFltPoints (float samplingVoxelSize)
 
MRMESH_API void setRefSamples (const VertBitSet &refSamples)
 select pairs with origin samples on reference object
 
MRMESH_API void sampleRefPoints (float samplingVoxelSize)
 
void samplePoints (float samplingVoxelSize)
 select pairs with origin samples on both objects
 
MR_BIND_IGNORE void recomputeBitSet (float fltSamplingVoxelSize)
 
MRMESH_API void setXfs (const AffineXf3f &fltXf, const AffineXf3f &refXf)
 sets to-world transformations both for floating and reference objects
 
MRMESH_API void setFloatXf (const AffineXf3f &fltXf)
 sets to-world transformation for the floating object
 
MRMESH_API AffineXf3f autoSelectFloatXf ()
 
MRMESH_API void updatePointPairs ()
 recompute point pairs after manual change of transformations or parameters
 
const ICPPropertiesgetParams () const
 
MRMESH_API std::string getStatusInfo () const
 
size_t getNumSamples () const
 returns status info string
 
size_t getNumActivePairs () const
 computes the number of active point pairs
 
MRMESH_API float getMeanSqDistToPoint () const
 computes root-mean-square deviation between points
 
MRMESH_API float getMeanSqDistToPlane () const
 computes root-mean-square deviation from points to target planes
 
const PointPairsgetFlt2RefPairs () const
 returns current pairs formed from samples on floating object and projections on reference object
 
const PointPairsgetRef2FltPairs () const
 returns current pairs formed from samples on reference object and projections on floating object
 
MRMESH_API AffineXf3f calculateTransformation ()
 

Detailed Description

This class allows you to register two object with similar shape using Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms


The documentation for this class was generated from the following file: