|
| void | add (const Vector3d &p1, const Vector3d &p2, double w=1) |
| | Add one pair of points in the set.
|
| void | add (const Vector3f &p1, const Vector3f &p2, float w=1) |
| | Add one pair of points in the set.
|
| void | add (const PointToPointAligningTransform &other) |
| | Add another two sets of points.
|
| void | clear () |
| | Clear sets.
|
| Vector3d | centroid1 () const |
| | returns weighted centroid of points p1 accumulated so far
|
| Vector3d | centroid2 () const |
| | returns weighted centroid of points p2 accumulated so far
|
| double | totalWeight () const |
| | returns summed weight of points accumulated so far
|
| AffineXf3d | findBestRigidXf () const |
| AffineXf3d | findBestRigidScaleXf () const |
| | this version searches for best rigid body transformation with uniform scaling
|
| AffineXf3d | findBestRigidXfFixedRotationAxis (const Vector3d &axis) const |
| | this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation
|
| AffineXf3d | findBestRigidXfOrthogonalRotationAxis (const Vector3d &ort) const |
| | this version searches for best transformation where rotation is allowed only around axes orthogonal to given one
|
| Vector3d | findBestTranslation () const |
| | Simplified solution for translational part only.
|
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.