MeshLib Python Docs
Loading...
Searching...
No Matches
meshlib.mrmeshpy.PointToPointAligningTransform Class Reference

Public Member Functions

None __init__ (self)
 
None __init__ (self, PointToPointAligningTransform arg0)
 
None add (self, Vector3d p1, Vector3d p2, float w=1)
 
None add (self, Vector3f p1, Vector3f p2, float w=1)
 
None add (self, PointToPointAligningTransform other)
 
Vector3d centroid1 (self)
 
Vector3d centroid2 (self)
 
None clear (self)
 
AffineXf3d findBestRigidScaleXf (self)
 
AffineXf3d findBestRigidXf (self)
 
AffineXf3d findBestRigidXfFixedRotationAxis (self, Vector3d axis)
 
AffineXf3d findBestRigidXfOrthogonalRotationAxis (self, Vector3d ort)
 
Vector3d findBestTranslation (self)
 
float totalWeight (self)
 

Detailed Description

Generated from:  MR::PointToPointAligningTransform

This class and its main method can be used to solve the problem well-known as the absolute orientation problem.
It means computing the transformation that aligns two sets of points for which correspondence is known.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None meshlib.mrmeshpy.PointToPointAligningTransform.__init__ ( self)
Implicit default constructor.

◆ __init__() [2/2]

None meshlib.mrmeshpy.PointToPointAligningTransform.__init__ ( self,
PointToPointAligningTransform arg0 )
Implicit copy constructor.

Member Function Documentation

◆ add() [1/3]

None meshlib.mrmeshpy.PointToPointAligningTransform.add ( self,
PointToPointAligningTransform other )
Add another two sets of points.

◆ add() [2/3]

None meshlib.mrmeshpy.PointToPointAligningTransform.add ( self,
Vector3d p1,
Vector3d p2,
float w = 1 )
Add one pair of points in the set

◆ add() [3/3]

None meshlib.mrmeshpy.PointToPointAligningTransform.add ( self,
Vector3f p1,
Vector3f p2,
float w = 1 )
Add one pair of points in the set

◆ centroid1()

Vector3d meshlib.mrmeshpy.PointToPointAligningTransform.centroid1 ( self)
returns weighted centroid of points p1 accumulated so far

◆ centroid2()

Vector3d meshlib.mrmeshpy.PointToPointAligningTransform.centroid2 ( self)
returns weighted centroid of points p2 accumulated so far

◆ clear()

None meshlib.mrmeshpy.PointToPointAligningTransform.clear ( self)
Clear sets.

◆ findBestRigidScaleXf()

AffineXf3d meshlib.mrmeshpy.PointToPointAligningTransform.findBestRigidScaleXf ( self)
this version searches for best rigid body transformation with uniform scaling

◆ findBestRigidXf()

AffineXf3d meshlib.mrmeshpy.PointToPointAligningTransform.findBestRigidXf ( self)
Compute transformation as the solution to a least squares formulation of the problem:
xf( p1_i ) = p2_i
this version searches for best rigid body transformation

◆ findBestRigidXfFixedRotationAxis()

AffineXf3d meshlib.mrmeshpy.PointToPointAligningTransform.findBestRigidXfFixedRotationAxis ( self,
Vector3d axis )
this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation

◆ findBestRigidXfOrthogonalRotationAxis()

AffineXf3d meshlib.mrmeshpy.PointToPointAligningTransform.findBestRigidXfOrthogonalRotationAxis ( self,
Vector3d ort )
this version searches for best transformation where rotation is allowed only around axes orthogonal to given one

◆ findBestTranslation()

Vector3d meshlib.mrmeshpy.PointToPointAligningTransform.findBestTranslation ( self)
Simplified solution for translational part only

◆ totalWeight()

float meshlib.mrmeshpy.PointToPointAligningTransform.totalWeight ( self)
returns summed weight of points accumulated so far

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