#include <MRCMesh/MRAffineXf.h>#include <MRCMesh/MRVector3.h>#include <MRCMisc/exports.h>#include <stddef.h>Go to the source code of this file.
Typedefs | |
| typedef struct MR_PointToPointAligningTransform | MR_PointToPointAligningTransform |
| typedef struct MR_PointToPointAligningTransform 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. Generated from class MR::PointToPointAligningTransform. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| MRC_API void MR_PointToPointAligningTransform_add_1 | ( | MR_PointToPointAligningTransform * | _this, |
| const MR_PointToPointAligningTransform * | other ) |
Add another two sets of points. Generated from method MR::PointToPointAligningTransform::add. Parameter _this can not be null. It is a single object. Parameter other can not be null. It is a single object.
| MRC_API void MR_PointToPointAligningTransform_add_3_MR_Vector3d | ( | MR_PointToPointAligningTransform * | _this, |
| const MR_Vector3d * | p1, | ||
| const MR_Vector3d * | p2, | ||
| const double * | w ) |
Add one pair of points in the set Generated from method MR::PointToPointAligningTransform::add. Parameter _this can not be null. It is a single object. Parameter p1 can not be null. It is a single object. Parameter p2 can not be null. It is a single object. Parameter w has a default argument: 1, pass a null pointer to use it.
| MRC_API void MR_PointToPointAligningTransform_add_3_MR_Vector3f | ( | MR_PointToPointAligningTransform * | _this, |
| const MR_Vector3f * | p1, | ||
| const MR_Vector3f * | p2, | ||
| const float * | w ) |
Add one pair of points in the set Generated from method MR::PointToPointAligningTransform::add. Parameter _this can not be null. It is a single object. Parameter p1 can not be null. It is a single object. Parameter p2 can not be null. It is a single object. Parameter w has a default argument: 1, pass a null pointer to use it.
| MRC_API MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_AssignFromAnother | ( | MR_PointToPointAligningTransform * | _this, |
| const MR_PointToPointAligningTransform * | _other ) |
Generated from method MR::PointToPointAligningTransform::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it held previously.
| MRC_API MR_Vector3d MR_PointToPointAligningTransform_centroid1 | ( | const MR_PointToPointAligningTransform * | _this | ) |
returns weighted centroid of points p1 accumulated so far Generated from method MR::PointToPointAligningTransform::centroid1. Parameter _this can not be null. It is a single object.
| MRC_API MR_Vector3d MR_PointToPointAligningTransform_centroid2 | ( | const MR_PointToPointAligningTransform * | _this | ) |
returns weighted centroid of points p2 accumulated so far Generated from method MR::PointToPointAligningTransform::centroid2. Parameter _this can not be null. It is a single object.
| MRC_API void MR_PointToPointAligningTransform_clear | ( | MR_PointToPointAligningTransform * | _this | ) |
Clear sets. Generated from method MR::PointToPointAligningTransform::clear. Parameter _this can not be null. It is a single object.
| MRC_API MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_ConstructFromAnother | ( | const MR_PointToPointAligningTransform * | _other | ) |
Generated from constructor MR::PointToPointAligningTransform::PointToPointAligningTransform. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_PointToPointAligningTransform_Destroy() to free it when you're done using it.
| MRC_API MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PointToPointAligningTransform_Destroy() to free it when you're done using it.
| MRC_API MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_PointToPointAligningTransform_DestroyArray(). Use MR_PointToPointAligningTransform_OffsetMutablePtr() and MR_PointToPointAligningTransform_OffsetPtr() to access the array elements.
| MRC_API void MR_PointToPointAligningTransform_Destroy | ( | const MR_PointToPointAligningTransform * | _this | ) |
Destroys a heap-allocated instance of MR_PointToPointAligningTransform. Does nothing if the pointer is null.
| MRC_API void MR_PointToPointAligningTransform_DestroyArray | ( | const MR_PointToPointAligningTransform * | _this | ) |
Destroys a heap-allocated array of MR_PointToPointAligningTransform. Does nothing if the pointer is null.
| MRC_API MR_AffineXf3d MR_PointToPointAligningTransform_findBestRigidScaleXf | ( | const MR_PointToPointAligningTransform * | _this | ) |
this version searches for best rigid body transformation with uniform scaling Generated from method MR::PointToPointAligningTransform::findBestRigidScaleXf. Parameter _this can not be null. It is a single object.
| MRC_API MR_AffineXf3d MR_PointToPointAligningTransform_findBestRigidXf | ( | const MR_PointToPointAligningTransform * | _this | ) |
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 Generated from method MR::PointToPointAligningTransform::findBestRigidXf. Parameter _this can not be null. It is a single object.
| MRC_API MR_AffineXf3d MR_PointToPointAligningTransform_findBestRigidXfFixedRotationAxis | ( | const MR_PointToPointAligningTransform * | _this, |
| const MR_Vector3d * | axis ) |
this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation Generated from method MR::PointToPointAligningTransform::findBestRigidXfFixedRotationAxis. Parameter _this can not be null. It is a single object. Parameter axis can not be null. It is a single object.
| MRC_API MR_AffineXf3d MR_PointToPointAligningTransform_findBestRigidXfOrthogonalRotationAxis | ( | const MR_PointToPointAligningTransform * | _this, |
| const MR_Vector3d * | ort ) |
this version searches for best transformation where rotation is allowed only around axes orthogonal to given one Generated from method MR::PointToPointAligningTransform::findBestRigidXfOrthogonalRotationAxis. Parameter _this can not be null. It is a single object. Parameter ort can not be null. It is a single object.
| MRC_API MR_Vector3d MR_PointToPointAligningTransform_findBestTranslation | ( | const MR_PointToPointAligningTransform * | _this | ) |
Simplified solution for translational part only Generated from method MR::PointToPointAligningTransform::findBestTranslation. Parameter _this can not be null. It is a single object.
| MRC_API MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_OffsetMutablePtr | ( | MR_PointToPointAligningTransform * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API const MR_PointToPointAligningTransform * MR_PointToPointAligningTransform_OffsetPtr | ( | const MR_PointToPointAligningTransform * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.
| MRC_API double MR_PointToPointAligningTransform_totalWeight | ( | const MR_PointToPointAligningTransform * | _this | ) |
returns summed weight of points accumulated so far Generated from method MR::PointToPointAligningTransform::totalWeight. Parameter _this can not be null. It is a single object.