MeshLib Java Docs
Loading...
Searching...
No Matches
meshlib.ICP Class Reference
Inheritance diagram for meshlib.ICP:

Public Member Functions

 ICP (java.lang.foreign.MemorySegment ptr, boolean owned, java.lang.Object owner)
 ICP (meshlib.ICP _other)
 ICP (meshlib.MeshOrPoints flt, meshlib.MeshOrPoints ref, meshlib.AffineXf3f fltXf, meshlib.AffineXf3f refXf, meshlib.VertBitSet fltSamples, meshlib.VertBitSet refSamples)
 ICP (meshlib.MeshOrPointsXf flt, meshlib.MeshOrPointsXf ref, meshlib.VertBitSet fltSamples, meshlib.VertBitSet refSamples)
 ICP (meshlib.MeshOrPoints flt, meshlib.MeshOrPoints ref, meshlib.AffineXf3f fltXf, meshlib.AffineXf3f refXf, meshlib.std_vector_MR_WeightedVertex fltSamples, meshlib.std_vector_MR_WeightedVertex refSamples)
 ICP (meshlib.MeshOrPointsXf flt, meshlib.MeshOrPointsXf ref, meshlib.std_vector_MR_WeightedVertex fltSamples, meshlib.std_vector_MR_WeightedVertex refSamples)
 ICP (meshlib.MeshOrPoints flt, meshlib.MeshOrPoints ref, meshlib.AffineXf3f fltXf, meshlib.AffineXf3f refXf, float samplingVoxelSize)
 ICP (meshlib.MeshOrPointsXf flt, meshlib.MeshOrPointsXf ref, float samplingVoxelSize)
meshlib.ICP assignFromAnother (meshlib.ICP _other)
void setParams (meshlib.ICPProperties prop)
void setCosineLimit (float cos)
void setDistanceLimit (float dist)
void setBadIterCount (int iter)
void setFarDistFactor (float factor)
void setFltSamples (meshlib.VertBitSet fltSamples)
void sampleFltPoints (float samplingVoxelSize, java.lang.Boolean nonVertexSamples)
void setRefSamples (meshlib.VertBitSet refSamples)
void sampleRefPoints (float samplingVoxelSize, java.lang.Boolean nonVertexSamples)
void samplePoints (float samplingVoxelSize, java.lang.Boolean nonVertexSamples)
void setXfs (meshlib.AffineXf3f fltXf, meshlib.AffineXf3f refXf)
void setFloatXf (meshlib.AffineXf3f fltXf)
meshlib.AffineXf3f autoSelectFloatXf ()
void updatePointPairs ()
meshlib.ICPProperties getParams ()
meshlib.std_string getStatusInfo ()
long getNumSamples ()
long getNumActivePairs ()
float getMeanSqDistToPoint ()
float getMeanSqDistToPlane ()
meshlib.PointPairs getFlt2RefPairs ()
meshlib.PointPairs getRef2FltPairs ()
meshlib.PointCloud getFltSamplesCloud ()
meshlib.PointCloud getRefSamplesCloud ()
meshlib.AffineXf3f calculateTransformation ()
Public Member Functions inherited from meshlib.CppObject
final java.lang.foreign.MemorySegment rawPointer ()
final boolean isOwned ()
final void close ()
final java.lang.foreign.MemorySegment release ()

Additional Inherited Members

Protected Member Functions inherited from meshlib.CppObject
 CppObject (java.lang.foreign.MemorySegment ptr, java.util.function.Consumer< java.lang.foreign.MemorySegment > destroy, java.lang.Object owner)

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

Generated from class MR::ICP.

Instances created here own their C++ objects, see CppObject.

Constructor & Destructor Documentation

◆ ICP() [1/8]

meshlib.ICP.ICP ( java.lang.foreign.MemorySegment ptr,
boolean owned,
java.lang.Object owner )

Wraps a pointer from the C bindings. If owned, the object is destroyed when the wrapper dies. owner is kept alive as long as this wrapper is. Not for normal use.

◆ ICP() [2/8]

meshlib.ICP.ICP ( meshlib.ICP _other)

Generated from constructor MR::ICP::ICP. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.

Calls MR_ICP_ConstructFromAnother().

◆ ICP() [3/8]

meshlib.ICP.ICP ( meshlib.MeshOrPoints flt,
meshlib.MeshOrPoints ref,
meshlib.AffineXf3f fltXf,
meshlib.AffineXf3f refXf,
meshlib.VertBitSet fltSamples,
meshlib.VertBitSet refSamples )

Constructs ICP framework with given sample points on both objects

Parameters
fltfloating object
refreference object
fltXftransformation from floating object space to global space
refXftransformation from reference object space to global space
fltSamplessamples on floating object to find projections on the reference object during the algorithm
refSamplessamples 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. 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.

Calls MR_ICP_Construct_6_MR_VertBitSet().

◆ ICP() [4/8]

meshlib.ICP.ICP ( meshlib.MeshOrPointsXf flt,
meshlib.MeshOrPointsXf ref,
meshlib.VertBitSet fltSamples,
meshlib.VertBitSet refSamples )

Generated from constructor MR::ICP::ICP. 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.

Calls MR_ICP_Construct_samples().

◆ ICP() [5/8]

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. 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.

Calls MR_ICP_Construct_6_std_vector_MR_WeightedVertex().

◆ ICP() [6/8]

Generated from constructor MR::ICP::ICP. 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.

Calls MR_ICP_Construct_weightedSamples().

◆ ICP() [7/8]

meshlib.ICP.ICP ( meshlib.MeshOrPoints flt,
meshlib.MeshOrPoints ref,
meshlib.AffineXf3f fltXf,
meshlib.AffineXf3f refXf,
float samplingVoxelSize )

Constructs ICP framework with automatic points sampling on both objects

Parameters
fltfloating object
refreference object
fltXftransformation from floating object space to global space
refXftransformation from reference object space to global space
samplingVoxelSizeapproximate 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. 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.

Calls MR_ICP_Construct_5().

◆ ICP() [8/8]

meshlib.ICP.ICP ( meshlib.MeshOrPointsXf flt,
meshlib.MeshOrPointsXf ref,
float samplingVoxelSize )

Generated from constructor MR::ICP::ICP. 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.

Calls MR_ICP_Construct().

Member Function Documentation

◆ assignFromAnother()

meshlib.ICP meshlib.ICP.assignFromAnother ( meshlib.ICP _other)

Generated from method MR::ICP::operator=. The reference to things referred to by the parameter _other (if any) might be preserved in this object.

Calls MR_ICP_AssignFromAnother().

◆ autoSelectFloatXf()

meshlib.AffineXf3f meshlib.ICP.autoSelectFloatXf ( )

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().

◆ calculateTransformation()

meshlib.AffineXf3f meshlib.ICP.calculateTransformation ( )

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

Returns
adjusted transformation of the floating object to match reference object Generated from method MR::ICP::calculateTransformation.

Calls MR_ICP_calculateTransformation().

◆ getFlt2RefPairs()

meshlib.PointPairs meshlib.ICP.getFlt2RefPairs ( )

returns current pairs formed from samples on floating object and projections on reference object Generated from method MR::ICP::getFlt2RefPairs.

Calls MR_ICP_getFlt2RefPairs().

◆ getFltSamplesCloud()

meshlib.PointCloud meshlib.ICP.getFltSamplesCloud ( )

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().

◆ getMeanSqDistToPlane()

float meshlib.ICP.getMeanSqDistToPlane ( )

computes root-mean-square deviation from points to target planes Generated from method MR::ICP::getMeanSqDistToPlane.

Calls MR_ICP_getMeanSqDistToPlane().

◆ getMeanSqDistToPoint()

float meshlib.ICP.getMeanSqDistToPoint ( )

computes root-mean-square deviation between points Generated from method MR::ICP::getMeanSqDistToPoint.

Calls MR_ICP_getMeanSqDistToPoint().

◆ getNumActivePairs()

long meshlib.ICP.getNumActivePairs ( )

computes the number of active point pairs Generated from method MR::ICP::getNumActivePairs.

Calls MR_ICP_getNumActivePairs().

◆ getNumSamples()

long meshlib.ICP.getNumSamples ( )

computes the number of samples able to form pairs Generated from method MR::ICP::getNumSamples.

Calls MR_ICP_getNumSamples().

◆ getParams()

meshlib.ICPProperties meshlib.ICP.getParams ( )

Generated from method MR::ICP::getParams.

Calls MR_ICP_getParams().

◆ getRef2FltPairs()

meshlib.PointPairs meshlib.ICP.getRef2FltPairs ( )

returns current pairs formed from samples on reference object and projections on floating object Generated from method MR::ICP::getRef2FltPairs.

Calls MR_ICP_getRef2FltPairs().

◆ getRefSamplesCloud()

meshlib.PointCloud meshlib.ICP.getRefSamplesCloud ( )

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().

◆ getStatusInfo()

meshlib.std_string meshlib.ICP.getStatusInfo ( )

Generated from method MR::ICP::getStatusInfo.

Calls MR_ICP_getStatusInfo().

◆ sampleFltPoints()

void meshlib.ICP.sampleFltPoints ( float samplingVoxelSize,
java.lang.Boolean nonVertexSamples )

Generated from method MR::ICP::sampleFltPoints.

Calls MR_ICP_sampleFltPoints().

◆ samplePoints()

void meshlib.ICP.samplePoints ( float samplingVoxelSize,
java.lang.Boolean nonVertexSamples )

select pairs with origin samples on both objects Generated from method MR::ICP::samplePoints.

Calls MR_ICP_samplePoints().

◆ sampleRefPoints()

void meshlib.ICP.sampleRefPoints ( float samplingVoxelSize,
java.lang.Boolean nonVertexSamples )

Generated from method MR::ICP::sampleRefPoints.

Calls MR_ICP_sampleRefPoints().

◆ setBadIterCount()

void meshlib.ICP.setBadIterCount ( int iter)

Generated from method MR::ICP::setBadIterCount.

Calls MR_ICP_setBadIterCount().

◆ setCosineLimit()

void meshlib.ICP.setCosineLimit ( float cos)

Generated from method MR::ICP::setCosineLimit.

Calls MR_ICP_setCosineLimit().

◆ setDistanceLimit()

void meshlib.ICP.setDistanceLimit ( float dist)

Generated from method MR::ICP::setDistanceLimit.

Calls MR_ICP_setDistanceLimit().

◆ setFarDistFactor()

void meshlib.ICP.setFarDistFactor ( float factor)

Generated from method MR::ICP::setFarDistFactor.

Calls MR_ICP_setFarDistFactor().

◆ setFloatXf()

void meshlib.ICP.setFloatXf ( meshlib.AffineXf3f fltXf)

sets to-world transformation for the floating object Generated from method MR::ICP::setFloatXf.

Calls MR_ICP_setFloatXf().

◆ setFltSamples()

void meshlib.ICP.setFltSamples ( meshlib.VertBitSet fltSamples)

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().

◆ setParams()

void meshlib.ICP.setParams ( meshlib.ICPProperties prop)

tune algorithm params before run calculateTransformation() Generated from method MR::ICP::setParams.

Calls MR_ICP_setParams().

◆ setRefSamples()

void meshlib.ICP.setRefSamples ( meshlib.VertBitSet refSamples)

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().

◆ setXfs()

void meshlib.ICP.setXfs ( meshlib.AffineXf3f fltXf,
meshlib.AffineXf3f refXf )

sets to-world transformations both for floating and reference objects Generated from method MR::ICP::setXfs.

Calls MR_ICP_setXfs().

◆ updatePointPairs()

void meshlib.ICP.updatePointPairs ( )

recompute point pairs after manual change of transformations or parameters Generated from method MR::ICP::updatePointPairs.

Calls MR_ICP_updatePointPairs().


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