MeshLib
 
Loading...
Searching...
No Matches
ICPProperties Struct Reference

#include <MRICP.h>

Public Member Functions

MR::ICPProperties ToNative ()
 

Public Attributes

ICPMethod method = ICPMethod::PointToPlane
 The method how to update transformation from point pairs.
 
float p2plAngleLimit = float( System::Math::PI ) / 6.0f
 Rotation angle during one iteration of PointToPlane will be limited by this value.
 
float p2plScaleLimit = 2
 Scaling during one iteration of PointToPlane will be limited by this value.
 
float cosThreshold = 0.7f
 Points pair will be counted only if cosine between surface normals in points is higher.
 
float distThresholdSq = 1.f
 Points pair will be counted only if squared distance between points is lower than.
 
float farDistFactor = 3.f
 
ICPMode icpMode = ICPMode::AnyRigidXf
 Finds only translation. Rotation part is identity matrix.
 
Vector3f fixedRotationAxis = gcnew Vector3f( 0, 0, 0 )
 If this vector is not zero then rotation is allowed relative to this axis only.
 
int iterLimit = 10
 maximum iterations
 
int badIterStopCount = 3
 maximum iterations without improvements
 
float exitVal = 0
 Algorithm target root-mean-square distance. As soon as it is reached, the algorithm stops.
 
bool mutualClosest = false
 a pair of points is formed only if both points in the pair are mutually closest (reciprocity test passed)
 

Member Function Documentation

◆ ToNative()

MR::ICPProperties ICPProperties::ToNative ( )

Member Data Documentation

◆ badIterStopCount

int ICPProperties::badIterStopCount = 3

maximum iterations without improvements

◆ cosThreshold

float ICPProperties::cosThreshold = 0.7f

Points pair will be counted only if cosine between surface normals in points is higher.

◆ distThresholdSq

float ICPProperties::distThresholdSq = 1.f

Points pair will be counted only if squared distance between points is lower than.

◆ exitVal

float ICPProperties::exitVal = 0

Algorithm target root-mean-square distance. As soon as it is reached, the algorithm stops.

◆ farDistFactor

float ICPProperties::farDistFactor = 3.f

Points pair will be counted only if distance between points is lower than root-mean-square distance times this factor

◆ fixedRotationAxis

Vector3f ICPProperties::fixedRotationAxis = gcnew Vector3f( 0, 0, 0 )

If this vector is not zero then rotation is allowed relative to this axis only.

◆ icpMode

ICPMode ICPProperties::icpMode = ICPMode::AnyRigidXf

Finds only translation. Rotation part is identity matrix.

◆ iterLimit

int ICPProperties::iterLimit = 10

maximum iterations

◆ method

ICPMethod ICPProperties::method = ICPMethod::PointToPlane

The method how to update transformation from point pairs.

◆ mutualClosest

bool ICPProperties::mutualClosest = false

a pair of points is formed only if both points in the pair are mutually closest (reciprocity test passed)

◆ p2plAngleLimit

float ICPProperties::p2plAngleLimit = float( System::Math::PI ) / 6.0f

Rotation angle during one iteration of PointToPlane will be limited by this value.

◆ p2plScaleLimit

float ICPProperties::p2plScaleLimit = 2

Scaling during one iteration of PointToPlane will be limited by this value.


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