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

Public Member Functions

auto assign_from_another (_other:&meshlib::ICPProperties) -> &mut meshlib::ICPProperties
auto method () const -> &meshlib::ICPMethod
auto method_mut () -> &mut meshlib::ICPMethod
void set_method (value:meshlib::ICPMethod)
auto p2pl_angle_limit () const -> &f32
auto p2pl_angle_limit_mut () -> &mut f32
void set_p2pl_angle_limit (value:f32)
auto p2pl_scale_limit () const -> &f32
auto p2pl_scale_limit_mut () -> &mut f32
void set_p2pl_scale_limit (value:f32)
auto p2pl_stabilizer () const -> &f32
auto p2pl_stabilizer_mut () -> &mut f32
void set_p2pl_stabilizer (value:f32)
auto cos_threshold () const -> &f32
auto cos_threshold_mut () -> &mut f32
void set_cos_threshold (value:f32)
auto dist_threshold_sq () const -> &f32
auto dist_threshold_sq_mut () -> &mut f32
void set_dist_threshold_sq (value:f32)
auto far_dist_factor () const -> &f32
auto far_dist_factor_mut () -> &mut f32
void set_far_dist_factor (value:f32)
auto icp_mode () const -> &meshlib::ICPMode
auto icp_mode_mut () -> &mut meshlib::ICPMode
void set_icp_mode (value:meshlib::ICPMode)
auto fixed_rotation_axis () const -> &meshlib::Vector3f
auto fixed_rotation_axis_mut () -> &mut meshlib::Vector3f
void set_fixed_rotation_axis (value:meshlib::Vector3f)
auto iter_limit () const -> &core::ffi::c_int
auto iter_limit_mut () -> &mut core::ffi::c_int
void set_iter_limit (value:core::ffi::c_int)
auto bad_iter_stop_count () const -> &core::ffi::c_int
auto bad_iter_stop_count_mut () -> &mut core::ffi::c_int
void set_bad_iter_stop_count (value:core::ffi::c_int)
auto exit_val () const -> &f32
auto exit_val_mut () -> &mut f32
void set_exit_val (value:f32)
auto mutual_closest () const -> &bool
auto mutual_closest_mut () -> &mut bool
void set_mutual_closest (value:bool)
auto ignore_bd_tgts () const -> &bool
auto ignore_bd_tgts_mut () -> &mut bool
void set_ignore_bd_tgts (value:bool)

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::ICPProperties >
static auto construct_from (method:meshlib::ICPMethod, p2plAngleLimit:f32, p2plScaleLimit:f32, p2plStabilizer:f32, cosThreshold:f32, distThresholdSq:f32, farDistFactor:f32, icpMode:meshlib::ICPMode, fixedRotationAxis:meshlib::Vector3f, iterLimit:core::ffi::c_int, badIterStopCount:core::ffi::c_int, exitVal:f32, mutualClosest:bool, ignoreBdTgts:bool) -> meshlib::Owned< meshlib::ICPProperties >
static auto construct_from_another (_other:&meshlib::ICPProperties) -> meshlib::Owned< meshlib::ICPProperties >
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

parameters of ICP algorithm Generated from class MR::ICPProperties.

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

Member Function Documentation

◆ assign_from_another()

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

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

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

◆ bad_iter_stop_count()

auto meshlib::ICPProperties::bad_iter_stop_count ( ) const -> &core::ffi::c_int

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish. Returns a pointer to a member variable of class MR::ICPProperties named badIterStopCount.

Calls MR_ICPProperties_Get_badIterStopCount(). The reference to this object might be preserved as the return value.

◆ bad_iter_stop_count_mut()

auto meshlib::ICPProperties::bad_iter_stop_count_mut ( ) -> &mut core::ffi::c_int

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish. Returns a mutable pointer to a member variable of class MR::ICPProperties named badIterStopCount.

Calls MR_ICPProperties_GetMutable_badIterStopCount(). The reference to this object might be preserved as the return value.

◆ construct_from()

auto meshlib::ICPProperties::construct_from ( method:meshlib::ICPMethod ,
p2plAngleLimit:f32 ,
p2plScaleLimit:f32 ,
p2plStabilizer:f32 ,
cosThreshold:f32 ,
distThresholdSq:f32 ,
farDistFactor:f32 ,
icpMode:meshlib::ICPMode ,
fixedRotationAxis:meshlib::Vector3f ,
iterLimit:core::ffi::c_int ,
badIterStopCount:core::ffi::c_int ,
exitVal:f32 ,
mutualClosest:bool ,
ignoreBdTgts:bool  ) -> meshlib::Owned< meshlib::ICPProperties >
static

Constructs MR::ICPProperties elementwise.

Calls MR_ICPProperties_ConstructFrom(). The reference to the parameter method might be preserved in the constructed object. The reference to the parameter icpMode might be preserved in the constructed object. The reference to the parameter fixedRotationAxis might be preserved in the constructed object.

◆ construct_from_another()

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

Generated from constructor MR::ICPProperties::ICPProperties.

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

◆ cos_threshold()

auto meshlib::ICPProperties::cos_threshold ( ) const -> &f32

in [-1,1] Returns a pointer to a member variable of class MR::ICPProperties named cosThreshold.

Calls MR_ICPProperties_Get_cosThreshold(). The reference to this object might be preserved as the return value.

◆ cos_threshold_mut()

auto meshlib::ICPProperties::cos_threshold_mut ( ) -> &mut f32

in [-1,1] Returns a mutable pointer to a member variable of class MR::ICPProperties named cosThreshold.

Calls MR_ICPProperties_GetMutable_cosThreshold(). The reference to this object might be preserved as the return value.

◆ dist_threshold_sq()

auto meshlib::ICPProperties::dist_threshold_sq ( ) const -> &f32

[distance^2] Returns a pointer to a member variable of class MR::ICPProperties named distThresholdSq.

Calls MR_ICPProperties_Get_distThresholdSq(). The reference to this object might be preserved as the return value.

◆ dist_threshold_sq_mut()

auto meshlib::ICPProperties::dist_threshold_sq_mut ( ) -> &mut f32

[distance^2] Returns a mutable pointer to a member variable of class MR::ICPProperties named distThresholdSq.

Calls MR_ICPProperties_GetMutable_distThresholdSq(). The reference to this object might be preserved as the return value.

◆ exit_val()

auto meshlib::ICPProperties::exit_val ( ) const -> &f32

[distance] Returns a pointer to a member variable of class MR::ICPProperties named exitVal.

Calls MR_ICPProperties_Get_exitVal(). The reference to this object might be preserved as the return value.

◆ exit_val_mut()

auto meshlib::ICPProperties::exit_val_mut ( ) -> &mut f32

[distance] Returns a mutable pointer to a member variable of class MR::ICPProperties named exitVal.

Calls MR_ICPProperties_GetMutable_exitVal(). The reference to this object might be preserved as the return value.

◆ far_dist_factor()

auto meshlib::ICPProperties::far_dist_factor ( ) const -> &f32

dimensionless Returns a pointer to a member variable of class MR::ICPProperties named farDistFactor.

Calls MR_ICPProperties_Get_farDistFactor(). The reference to this object might be preserved as the return value.

◆ far_dist_factor_mut()

auto meshlib::ICPProperties::far_dist_factor_mut ( ) -> &mut f32

dimensionless Returns a mutable pointer to a member variable of class MR::ICPProperties named farDistFactor.

Calls MR_ICPProperties_GetMutable_farDistFactor(). The reference to this object might be preserved as the return value.

◆ fixed_rotation_axis()

auto meshlib::ICPProperties::fixed_rotation_axis ( ) const -> &meshlib::Vector3f

Additional parameter for ICPMode::OrthogonalAxis and ICPMode::FixedAxis transformation groups. Returns a pointer to a member variable of class MR::ICPProperties named fixedRotationAxis.

Calls MR_ICPProperties_Get_fixedRotationAxis(). The reference to this object might be preserved as the return value.

◆ fixed_rotation_axis_mut()

auto meshlib::ICPProperties::fixed_rotation_axis_mut ( ) -> &mut meshlib::Vector3f

Additional parameter for ICPMode::OrthogonalAxis and ICPMode::FixedAxis transformation groups. Returns a mutable pointer to a member variable of class MR::ICPProperties named fixedRotationAxis.

Calls MR_ICPProperties_GetMutable_fixedRotationAxis(). The reference to this object might be preserved as the return value.

◆ icp_mode()

auto meshlib::ICPProperties::icp_mode ( ) const -> &meshlib::ICPMode

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode. Returns a pointer to a member variable of class MR::ICPProperties named icpMode.

Calls MR_ICPProperties_Get_icpMode(). The reference to this object might be preserved as the return value.

◆ icp_mode_mut()

auto meshlib::ICPProperties::icp_mode_mut ( ) -> &mut meshlib::ICPMode

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode. Returns a mutable pointer to a member variable of class MR::ICPProperties named icpMode.

Calls MR_ICPProperties_GetMutable_icpMode(). The reference to this object might be preserved as the return value.

◆ ignore_bd_tgts()

auto meshlib::ICPProperties::ignore_bd_tgts ( ) const -> &bool

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair Returns a pointer to a member variable of class MR::ICPProperties named ignoreBdTgts.

Calls MR_ICPProperties_Get_ignoreBdTgts(). The reference to this object might be preserved as the return value.

◆ ignore_bd_tgts_mut()

auto meshlib::ICPProperties::ignore_bd_tgts_mut ( ) -> &mut bool

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair Returns a mutable pointer to a member variable of class MR::ICPProperties named ignoreBdTgts.

Calls MR_ICPProperties_GetMutable_ignoreBdTgts(). The reference to this object might be preserved as the return value.

◆ iter_limit()

auto meshlib::ICPProperties::iter_limit ( ) const -> &core::ffi::c_int

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise. Returns a pointer to a member variable of class MR::ICPProperties named iterLimit.

Calls MR_ICPProperties_Get_iterLimit(). The reference to this object might be preserved as the return value.

◆ iter_limit_mut()

auto meshlib::ICPProperties::iter_limit_mut ( ) -> &mut core::ffi::c_int

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise. Returns a mutable pointer to a member variable of class MR::ICPProperties named iterLimit.

Calls MR_ICPProperties_GetMutable_iterLimit(). The reference to this object might be preserved as the return value.

◆ method()

auto meshlib::ICPProperties::method ( ) const -> &meshlib::ICPMethod

The method how to update transformation from point pairs, see description of each option in ICPMethod Returns a pointer to a member variable of class MR::ICPProperties named method.

Calls MR_ICPProperties_Get_method(). The reference to this object might be preserved as the return value.

◆ method_mut()

auto meshlib::ICPProperties::method_mut ( ) -> &mut meshlib::ICPMethod

The method how to update transformation from point pairs, see description of each option in ICPMethod Returns a mutable pointer to a member variable of class MR::ICPProperties named method.

Calls MR_ICPProperties_GetMutable_method(). The reference to this object might be preserved as the return value.

◆ mutual_closest()

auto meshlib::ICPProperties::mutual_closest ( ) const -> &bool

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs. Returns a pointer to a member variable of class MR::ICPProperties named mutualClosest.

Calls MR_ICPProperties_Get_mutualClosest(). The reference to this object might be preserved as the return value.

◆ mutual_closest_mut()

auto meshlib::ICPProperties::mutual_closest_mut ( ) -> &mut bool

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs. Returns a mutable pointer to a member variable of class MR::ICPProperties named mutualClosest.

Calls MR_ICPProperties_GetMutable_mutualClosest(). The reference to this object might be preserved as the return value.

◆ new()

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

Constructs an empty (default-constructed) instance.

Calls MR_ICPProperties_DefaultConstruct().

◆ p2pl_angle_limit()

auto meshlib::ICPProperties::p2pl_angle_limit ( ) const -> &f32

[radians] Returns a pointer to a member variable of class MR::ICPProperties named p2plAngleLimit.

Calls MR_ICPProperties_Get_p2plAngleLimit(). The reference to this object might be preserved as the return value.

◆ p2pl_angle_limit_mut()

auto meshlib::ICPProperties::p2pl_angle_limit_mut ( ) -> &mut f32

[radians] Returns a mutable pointer to a member variable of class MR::ICPProperties named p2plAngleLimit.

Calls MR_ICPProperties_GetMutable_p2plAngleLimit(). The reference to this object might be preserved as the return value.

◆ p2pl_scale_limit()

auto meshlib::ICPProperties::p2pl_scale_limit ( ) const -> &f32

Scaling during one iteration of ICPMethod::PointToPlane will be limited by this value. This is to reduce possible instability. Returns a pointer to a member variable of class MR::ICPProperties named p2plScaleLimit.

Calls MR_ICPProperties_Get_p2plScaleLimit(). The reference to this object might be preserved as the return value.

◆ p2pl_scale_limit_mut()

auto meshlib::ICPProperties::p2pl_scale_limit_mut ( ) -> &mut f32

Scaling during one iteration of ICPMethod::PointToPlane will be limited by this value. This is to reduce possible instability. Returns a mutable pointer to a member variable of class MR::ICPProperties named p2plScaleLimit.

Calls MR_ICPProperties_GetMutable_p2plScaleLimit(). The reference to this object might be preserved as the return value.

◆ p2pl_stabilizer()

auto meshlib::ICPProperties::p2pl_stabilizer ( ) const -> &f32

Relative regularization of the linear system in ICPMethod::PointToPlane, see PointToPlaneAligningTransform::setStabilizer. This is to avoid huge motions along the directions poorly constrained by the planes, e.g. sliding along parallel faces of a CAD model. Returns a pointer to a member variable of class MR::ICPProperties named p2plStabilizer.

Calls MR_ICPProperties_Get_p2plStabilizer(). The reference to this object might be preserved as the return value.

◆ p2pl_stabilizer_mut()

auto meshlib::ICPProperties::p2pl_stabilizer_mut ( ) -> &mut f32

Relative regularization of the linear system in ICPMethod::PointToPlane, see PointToPlaneAligningTransform::setStabilizer. This is to avoid huge motions along the directions poorly constrained by the planes, e.g. sliding along parallel faces of a CAD model. Returns a mutable pointer to a member variable of class MR::ICPProperties named p2plStabilizer.

Calls MR_ICPProperties_GetMutable_p2plStabilizer(). The reference to this object might be preserved as the return value.

◆ set_bad_iter_stop_count()

void meshlib::ICPProperties::set_bad_iter_stop_count ( value:core::ffi::c_int )

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish. Modifies a member variable of class MR::ICPProperties named badIterStopCount.

Calls MR_ICPProperties_Set_badIterStopCount().

◆ set_cos_threshold()

void meshlib::ICPProperties::set_cos_threshold ( value:f32 )

in [-1,1] Modifies a member variable of class MR::ICPProperties named cosThreshold.

Calls MR_ICPProperties_Set_cosThreshold().

◆ set_dist_threshold_sq()

void meshlib::ICPProperties::set_dist_threshold_sq ( value:f32 )

[distance^2] Modifies a member variable of class MR::ICPProperties named distThresholdSq.

Calls MR_ICPProperties_Set_distThresholdSq().

◆ set_exit_val()

void meshlib::ICPProperties::set_exit_val ( value:f32 )

[distance] Modifies a member variable of class MR::ICPProperties named exitVal.

Calls MR_ICPProperties_Set_exitVal().

◆ set_far_dist_factor()

void meshlib::ICPProperties::set_far_dist_factor ( value:f32 )

dimensionless Modifies a member variable of class MR::ICPProperties named farDistFactor.

Calls MR_ICPProperties_Set_farDistFactor().

◆ set_fixed_rotation_axis()

void meshlib::ICPProperties::set_fixed_rotation_axis ( value:meshlib::Vector3f )

Additional parameter for ICPMode::OrthogonalAxis and ICPMode::FixedAxis transformation groups. Modifies a member variable of class MR::ICPProperties named fixedRotationAxis.

Calls MR_ICPProperties_Set_fixedRotationAxis(). The reference to the parameter value might be preserved in this object in element fixedRotationAxis.

◆ set_icp_mode()

void meshlib::ICPProperties::set_icp_mode ( value:meshlib::ICPMode )

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode. Modifies a member variable of class MR::ICPProperties named icpMode.

Calls MR_ICPProperties_Set_icpMode(). The reference to the parameter value might be preserved in this object in element icpMode.

◆ set_ignore_bd_tgts()

void meshlib::ICPProperties::set_ignore_bd_tgts ( value:bool )

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair Modifies a member variable of class MR::ICPProperties named ignoreBdTgts.

Calls MR_ICPProperties_Set_ignoreBdTgts().

◆ set_iter_limit()

void meshlib::ICPProperties::set_iter_limit ( value:core::ffi::c_int )

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise. Modifies a member variable of class MR::ICPProperties named iterLimit.

Calls MR_ICPProperties_Set_iterLimit().

◆ set_method()

void meshlib::ICPProperties::set_method ( value:meshlib::ICPMethod )

The method how to update transformation from point pairs, see description of each option in ICPMethod Modifies a member variable of class MR::ICPProperties named method.

Calls MR_ICPProperties_Set_method(). The reference to the parameter value might be preserved in this object in element method.

◆ set_mutual_closest()

void meshlib::ICPProperties::set_mutual_closest ( value:bool )

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs. Modifies a member variable of class MR::ICPProperties named mutualClosest.

Calls MR_ICPProperties_Set_mutualClosest().

◆ set_p2pl_angle_limit()

void meshlib::ICPProperties::set_p2pl_angle_limit ( value:f32 )

[radians] Modifies a member variable of class MR::ICPProperties named p2plAngleLimit.

Calls MR_ICPProperties_Set_p2plAngleLimit().

◆ set_p2pl_scale_limit()

void meshlib::ICPProperties::set_p2pl_scale_limit ( value:f32 )

Scaling during one iteration of ICPMethod::PointToPlane will be limited by this value. This is to reduce possible instability. Modifies a member variable of class MR::ICPProperties named p2plScaleLimit.

Calls MR_ICPProperties_Set_p2plScaleLimit().

◆ set_p2pl_stabilizer()

void meshlib::ICPProperties::set_p2pl_stabilizer ( value:f32 )

Relative regularization of the linear system in ICPMethod::PointToPlane, see PointToPlaneAligningTransform::setStabilizer. This is to avoid huge motions along the directions poorly constrained by the planes, e.g. sliding along parallel faces of a CAD model. Modifies a member variable of class MR::ICPProperties named p2plStabilizer.

Calls MR_ICPProperties_Set_p2plStabilizer().


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