This class allows you to register two object with similar shape using Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms
Generated from class MR::ICP.
Generated from class MR::ICP. Heap-allocated instances are held in Owned<ICP>.
| auto meshlib::ICP::assign_from_another | ( | _other:&meshlib::ICP | ) | -> &mut meshlib::ICP |
Generated from method MR::ICP::operator=.
Calls MR_ICP_AssignFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in this object.
| auto meshlib::ICP::auto_select_float_xf | ( | ) | -> meshlib::AffineXf3f |
automatically selects initial transformation for the floating object based on covariance matrices of both floating and reference objects; applies the transformation to the floating object and returns it Generated from method MR::ICP::autoSelectFloatXf.
Calls MR_ICP_autoSelectFloatXf().
| auto meshlib::ICP::calculate_transformation | ( | ) | -> meshlib::AffineXf3f |
runs ICP algorithm given input objects, transformations, and parameters;
Calls MR_ICP_calculateTransformation().
|
static |
Generated from constructor MR::ICP::ICP.
Calls MR_ICP_Construct(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object.
|
static |
Constructs ICP framework with automatic points sampling on both objects
| flt | floating object |
| ref | reference object |
| fltXf | transformation from floating object space to global space |
| refXf | transformation from reference object space to global space |
| samplingVoxelSize | approximate distance between samples on each of two objects all pairs get equal weights, and a mesh with big triangles gets samples inside them as in samplePoints( samplingVoxelSize, true ) Generated from constructor MR::ICP::ICP. |
Calls MR_ICP_Construct_5(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object. The reference to the parameter fltXf might be preserved in the constructed object. The reference to the parameter refXf might be preserved in the constructed object.
|
static |
Constructs ICP framework with given sample points on both objects
| flt | floating object |
| ref | reference object |
| fltXf | transformation from floating object space to global space |
| refXf | transformation from reference object space to global space |
| fltSamples | samples on floating object to find projections on the reference object during the algorithm |
| refSamples | samples on reference object to find projections on the floating object during the algorithm the weight of each pair is the double area of mesh triangles around its sample vertex (1 for point clouds) Generated from constructor MR::ICP::ICP. |
Calls MR_ICP_Construct_6_MR_VertBitSet(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object. The reference to the parameter fltXf might be preserved in the constructed object. The reference to the parameter refXf might be preserved in the constructed object. The reference to the parameter fltSamples might be preserved in the constructed object. The reference to the parameter refSamples might be preserved in the constructed object.
|
static |
Constructs ICP framework with given sample points on both objects and the weights of their pairs, the weights stay fixed during the algorithm Generated from constructor MR::ICP::ICP.
Calls MR_ICP_Construct_6_std_vector_MR_WeightedVertex(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object. The reference to the parameter fltXf might be preserved in the constructed object. The reference to the parameter refXf might be preserved in the constructed object. The reference to the parameter fltSamples might be preserved in the constructed object. The reference to the parameter refSamples might be preserved in the constructed object.
|
static |
Generated from constructor MR::ICP::ICP.
Calls MR_ICP_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.
|
static |
Generated from constructor MR::ICP::ICP.
Calls MR_ICP_Construct_samples(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object. The reference to the parameter fltSamples might be preserved in the constructed object. The reference to the parameter refSamples might be preserved in the constructed object.
|
static |
Generated from constructor MR::ICP::ICP.
Calls MR_ICP_Construct_weightedSamples(). The reference to the parameter flt might be preserved in the constructed object. The reference to the parameter ref might be preserved in the constructed object. The reference to the parameter fltSamples might be preserved in the constructed object. The reference to the parameter refSamples might be preserved in the constructed object.
| auto meshlib::ICP::get_flt2_ref_pairs | ( | ) | const -> &meshlib::PointPairs |
returns current pairs formed from samples on floating object and projections on reference object Generated from method MR::ICP::getFlt2RefPairs.
Calls MR_ICP_getFlt2RefPairs().
| auto meshlib::ICP::get_flt_samples_cloud | ( | ) | const -> meshlib::Owned< meshlib::PointCloud > |
returns the samples on floating object in its local space, with normals if the object has them; i-th point of the cloud is the source of i-th pair in getFlt2RefPairs() Generated from method MR::ICP::getFltSamplesCloud.
Calls MR_ICP_getFltSamplesCloud().
| auto meshlib::ICP::get_mean_sq_dist_to_plane | ( | ) | const -> f32 |
computes root-mean-square deviation from points to target planes Generated from method MR::ICP::getMeanSqDistToPlane.
Calls MR_ICP_getMeanSqDistToPlane().
| auto meshlib::ICP::get_mean_sq_dist_to_point | ( | ) | const -> f32 |
computes root-mean-square deviation between points Generated from method MR::ICP::getMeanSqDistToPoint.
Calls MR_ICP_getMeanSqDistToPoint().
| auto meshlib::ICP::get_num_active_pairs | ( | ) | const -> usize |
computes the number of active point pairs Generated from method MR::ICP::getNumActivePairs.
Calls MR_ICP_getNumActivePairs().
| auto meshlib::ICP::get_num_samples | ( | ) | const -> usize |
computes the number of samples able to form pairs Generated from method MR::ICP::getNumSamples.
Calls MR_ICP_getNumSamples().
| auto meshlib::ICP::get_params | ( | ) | const -> &meshlib::ICPProperties |
Generated from method MR::ICP::getParams.
Calls MR_ICP_getParams().
| auto meshlib::ICP::get_ref2_flt_pairs | ( | ) | const -> &meshlib::PointPairs |
returns current pairs formed from samples on reference object and projections on floating object Generated from method MR::ICP::getRef2FltPairs.
Calls MR_ICP_getRef2FltPairs().
| auto meshlib::ICP::get_ref_samples_cloud | ( | ) | const -> meshlib::Owned< meshlib::PointCloud > |
returns the samples on reference object in its local space, with normals if the object has them; i-th point of the cloud is the source of i-th pair in getRef2FltPairs() Generated from method MR::ICP::getRefSamplesCloud.
Calls MR_ICP_getRefSamplesCloud().
| auto meshlib::ICP::get_status_info | ( | ) | const -> meshlib::Owned< meshlib::std_string > |
Generated from method MR::ICP::getStatusInfo.
Calls MR_ICP_getStatusInfo().
| void meshlib::ICP::sample_flt_points | ( | samplingVoxelSize:f32 | , |
| nonVertexSamples:Option< bool > | ) |
Generated from method MR::ICP::sampleFltPoints.
Calls MR_ICP_sampleFltPoints().
| void meshlib::ICP::sample_points | ( | samplingVoxelSize:f32 | , |
| nonVertexSamples:Option< bool > | ) |
select pairs with origin samples on both objects Generated from method MR::ICP::samplePoints.
Calls MR_ICP_samplePoints().
| void meshlib::ICP::sample_ref_points | ( | samplingVoxelSize:f32 | , |
| nonVertexSamples:Option< bool > | ) |
Generated from method MR::ICP::sampleRefPoints.
Calls MR_ICP_sampleRefPoints().
| void meshlib::ICP::set_bad_iter_count | ( | iter:core::ffi::c_int | ) |
Generated from method MR::ICP::setBadIterCount.
Calls MR_ICP_setBadIterCount().
| void meshlib::ICP::set_cosine_limit | ( | cos:f32 | ) |
Generated from method MR::ICP::setCosineLimit.
Calls MR_ICP_setCosineLimit().
| void meshlib::ICP::set_distance_limit | ( | dist:f32 | ) |
Generated from method MR::ICP::setDistanceLimit.
Calls MR_ICP_setDistanceLimit().
| void meshlib::ICP::set_far_dist_factor | ( | factor:f32 | ) |
Generated from method MR::ICP::setFarDistFactor.
Calls MR_ICP_setFarDistFactor().
| void meshlib::ICP::set_float_xf | ( | fltXf:&meshlib::AffineXf3f | ) |
sets to-world transformation for the floating object Generated from method MR::ICP::setFloatXf.
Calls MR_ICP_setFloatXf().
| void meshlib::ICP::set_flt_samples | ( | fltSamples:&meshlib::VertBitSet | ) |
select pairs with origin samples on floating object; setFltSamples weights each pair by the double area of mesh triangles around its sample vertex, sampleFltPoints performs grid sampling and gives all pairs equal weights; nonVertexSamples if true, a mesh with triangles too big for the sampling is sampled from its dense point cloud (see meshToDensePointCloud) to get the samples inside the triangles and on the edges as well; otherwise only its vertices are sampled Generated from method MR::ICP::setFltSamples.
Calls MR_ICP_setFltSamples().
| void meshlib::ICP::set_params | ( | prop:&meshlib::ICPProperties | ) |
tune algorithm params before run calculateTransformation() Generated from method MR::ICP::setParams.
Calls MR_ICP_setParams().
| void meshlib::ICP::set_ref_samples | ( | refSamples:&meshlib::VertBitSet | ) |
select pairs with origin samples on reference object, weighted and sampled the same way as for floating object Generated from method MR::ICP::setRefSamples.
Calls MR_ICP_setRefSamples().
| void meshlib::ICP::set_xfs | ( | fltXf:&meshlib::AffineXf3f | , |
| refXf:&meshlib::AffineXf3f | ) |
sets to-world transformations both for floating and reference objects Generated from method MR::ICP::setXfs.
Calls MR_ICP_setXfs().
| void meshlib::ICP::update_point_pairs | ( | ) |
recompute point pairs after manual change of transformations or parameters Generated from method MR::ICP::updatePointPairs.
Calls MR_ICP_updatePointPairs().