MeshLib Rust Docs
Loading...
Searching...
No Matches
meshlib::PointToPointAligningTransform Struct Reference
Inheritance diagram for meshlib::PointToPointAligningTransform:

Public Member Functions

auto assign_from_another (_other:&meshlib::PointToPointAligningTransform) -> &mut meshlib::PointToPointAligningTransform
void add_3_mr_vector3d (p1:&meshlib::Vector3d, p2:&meshlib::Vector3d, w:Option< f64 >)
void add_3_mr_vector3f (p1:&meshlib::Vector3f, p2:&meshlib::Vector3f, w:Option< f32 >)
void add_1 (other:&meshlib::PointToPointAligningTransform)
void clear ()
auto centroid1 () const -> meshlib::Vector3d
auto centroid2 () const -> meshlib::Vector3d
auto total_weight () const -> f64
auto find_best_rigid_xf () const -> meshlib::AffineXf3d
auto find_best_rigid_scale_xf () const -> meshlib::AffineXf3d
auto find_best_rigid_xf_fixed_rotation_axis (axis:&meshlib::Vector3d) const -> meshlib::AffineXf3d
auto find_best_rigid_xf_orthogonal_rotation_axis (ort:&meshlib::Vector3d) const -> meshlib::AffineXf3d
auto find_best_translation () const -> meshlib::Vector3d

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::PointToPointAligningTransform >
static auto construct_from_another (_other:&meshlib::PointToPointAligningTransform) -> meshlib::Owned< meshlib::PointToPointAligningTransform >
Static Public Member Functions inherited from meshlib::CppClass
static void destroy (ptr:*mut Self)
Static Public Member Functions inherited from meshlib::CppCopy
static auto copy (ptr:*const Self) -> *mut Self

Detailed Description

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.

Generated from class MR::PointToPointAligningTransform. Heap-allocated instances are held in Owned<PointToPointAligningTransform>.

Member Function Documentation

◆ add_1()

void meshlib::PointToPointAligningTransform::add_1 ( other:&meshlib::PointToPointAligningTransform )

Add another two sets of points. Generated from method MR::PointToPointAligningTransform::add.

Calls MR_PointToPointAligningTransform_add_1().

◆ add_3_mr_vector3d()

void meshlib::PointToPointAligningTransform::add_3_mr_vector3d ( p1:&meshlib::Vector3d ,
p2:&meshlib::Vector3d ,
w:Option< f64 >  )

Add one pair of points in the set Generated from method MR::PointToPointAligningTransform::add.

Calls MR_PointToPointAligningTransform_add_3_MR_Vector3d().

◆ add_3_mr_vector3f()

void meshlib::PointToPointAligningTransform::add_3_mr_vector3f ( p1:&meshlib::Vector3f ,
p2:&meshlib::Vector3f ,
w:Option< f32 >  )

Add one pair of points in the set Generated from method MR::PointToPointAligningTransform::add.

Calls MR_PointToPointAligningTransform_add_3_MR_Vector3f().

◆ assign_from_another()

auto meshlib::PointToPointAligningTransform::assign_from_another ( _other:&meshlib::PointToPointAligningTransform ) -> &mut meshlib::PointToPointAligningTransform

Generated from method MR::PointToPointAligningTransform::operator=.

Calls MR_PointToPointAligningTransform_AssignFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in this object.

◆ centroid1()

auto meshlib::PointToPointAligningTransform::centroid1 ( ) const -> meshlib::Vector3d

returns weighted centroid of points p1 accumulated so far Generated from method MR::PointToPointAligningTransform::centroid1.

Calls MR_PointToPointAligningTransform_centroid1().

◆ centroid2()

auto meshlib::PointToPointAligningTransform::centroid2 ( ) const -> meshlib::Vector3d

returns weighted centroid of points p2 accumulated so far Generated from method MR::PointToPointAligningTransform::centroid2.

Calls MR_PointToPointAligningTransform_centroid2().

◆ clear()

void meshlib::PointToPointAligningTransform::clear ( )

Clear sets. Generated from method MR::PointToPointAligningTransform::clear.

Calls MR_PointToPointAligningTransform_clear().

◆ construct_from_another()

auto meshlib::PointToPointAligningTransform::construct_from_another ( _other:&meshlib::PointToPointAligningTransform ) -> meshlib::Owned< meshlib::PointToPointAligningTransform >
static

Generated from constructor MR::PointToPointAligningTransform::PointToPointAligningTransform.

Calls MR_PointToPointAligningTransform_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.

◆ find_best_rigid_scale_xf()

auto meshlib::PointToPointAligningTransform::find_best_rigid_scale_xf ( ) const -> meshlib::AffineXf3d

this version searches for best rigid body transformation with uniform scaling Generated from method MR::PointToPointAligningTransform::findBestRigidScaleXf.

Calls MR_PointToPointAligningTransform_findBestRigidScaleXf().

◆ find_best_rigid_xf()

auto meshlib::PointToPointAligningTransform::find_best_rigid_xf ( ) const -> meshlib::AffineXf3d

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.

Calls MR_PointToPointAligningTransform_findBestRigidXf().

◆ find_best_rigid_xf_fixed_rotation_axis()

auto meshlib::PointToPointAligningTransform::find_best_rigid_xf_fixed_rotation_axis ( axis:&meshlib::Vector3d ) const -> meshlib::AffineXf3d

this version searches for best transformation where rotation is allowed only around given axis and with arbitrary translation Generated from method MR::PointToPointAligningTransform::findBestRigidXfFixedRotationAxis.

Calls MR_PointToPointAligningTransform_findBestRigidXfFixedRotationAxis().

◆ find_best_rigid_xf_orthogonal_rotation_axis()

auto meshlib::PointToPointAligningTransform::find_best_rigid_xf_orthogonal_rotation_axis ( ort:&meshlib::Vector3d ) const -> meshlib::AffineXf3d

this version searches for best transformation where rotation is allowed only around axes orthogonal to given one Generated from method MR::PointToPointAligningTransform::findBestRigidXfOrthogonalRotationAxis.

Calls MR_PointToPointAligningTransform_findBestRigidXfOrthogonalRotationAxis().

◆ find_best_translation()

auto meshlib::PointToPointAligningTransform::find_best_translation ( ) const -> meshlib::Vector3d

Simplified solution for translational part only Generated from method MR::PointToPointAligningTransform::findBestTranslation.

Calls MR_PointToPointAligningTransform_findBestTranslation().

◆ new()

auto meshlib::PointToPointAligningTransform::new ( ) -> meshlib::Owned< meshlib::PointToPointAligningTransform >
static

Constructs an empty (default-constructed) instance.

Calls MR_PointToPointAligningTransform_DefaultConstruct().

◆ total_weight()

auto meshlib::PointToPointAligningTransform::total_weight ( ) const -> f64

returns summed weight of points accumulated so far Generated from method MR::PointToPointAligningTransform::totalWeight.

Calls MR_PointToPointAligningTransform_totalWeight().


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