eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::Easy3D::EFeaturesAligner Class Reference

Alignment class, used to calculate the best transformation between matching pairs of points. The object EFeaturesAligner contains a list of points called the 'Model points list'. The method EFeaturesAligner::Compute takes a second list of points as argument which is called the 'Measured points list' and produces a E3DTransformMatrix as result. More...

#include <eVision/Easy3D/EFeaturesAligner.h>

Collaboration diagram for eVision::Easy3D::EFeaturesAligner:

Public Member Functions

 EFeaturesAligner ()
 Creates a EFeaturesAligner object.
 EFeaturesAligner (const eVision::Easy3D::EFeaturesAligner &other)
 Copy constructor for EFeaturesAligner.
virtual ~EFeaturesAligner () throw ()
eVision::Easy3D::EFeaturesAligner & operator= (const eVision::Easy3D::EFeaturesAligner &other)
 Assignment operator.
void SetModelPoints (const std::vector< eVision::Easy3D::E3DPoint > &points)
 Sets/Gets the model points list. The model point list is a list of points that is used either as source or as destination of the transformation to calculate. The model points list should at least contain 3 unaligned points.
std::vector< eVision::Easy3D::E3DPoint > GetModelPoints () const
 Sets/Gets the model points list. The model point list is a list of points that is used either as source or as destination of the transformation to calculate. The model points list should at least contain 3 unaligned points.
void SetPolarityTransform (eVision::Easy3D::EAlignmentPolarity polarity)
 Sets/Gets the polarity of the transformation from EAlignmentPolarity.
eVision::Easy3D::EAlignmentPolarity GetPolarityTransform () const
 Sets/Gets the polarity of the transformation from EAlignmentPolarity.
void SetAlignmentType (eVision::Easy3D::EAlignmentType type)
 EAlignmentType of the EFeaturesAligner. By default, alignment type is EAlignmentType::EAlignmentType_Ordered.
eVision::Easy3D::EAlignmentType GetAlignmentType () const
 EAlignmentType of the EFeaturesAligner. By default, alignment type is EAlignmentType::EAlignmentType_Ordered.
void SetXAngleRange (eVision::EFloatRange range)
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the x-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
eVision::EFloatRange GetXAngleRange () const
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the x-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
void SetYAngleRange (eVision::EFloatRange range)
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the y-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
eVision::EFloatRange GetYAngleRange () const
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the y-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
void SetZAngleRange (eVision::EFloatRange range)
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the z-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
eVision::EFloatRange GetZAngleRange () const
 Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the z-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.
eVision::Easy3D::E3DTransformMatrix Compute (const std::vector< eVision::Easy3D::E3DPoint > &measuredPoints) const
 Computes the best transformation matrix for a given Measured points list.
eVision::Easy3D::E3DTransformMatrix Compute (const std::vector< eVision::Easy3D::E3DPoint > &measuredPoints, eVision::Easy3D::EErrorStatistics &errorStatistics) const
 Computes the best transformation matrix for a given Measured points list.
void Load (const std::string &path)
 Loads the EFeaturesAligner object configuration. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Loads the EFeaturesAligner object configuration. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Saves the EFeaturesAligner object configuration. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Saves the EFeaturesAligner object configuration. The given ESerializer must have been created for writing.
 EFeaturesAligner (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Alignment class, used to calculate the best transformation between matching pairs of points. The object EFeaturesAligner contains a list of points called the 'Model points list'. The method EFeaturesAligner::Compute takes a second list of points as argument which is called the 'Measured points list' and produces a E3DTransformMatrix as result.

License(s): Easy3D

Constructor & Destructor Documentation

◆ EFeaturesAligner() [1/3]

eVision::Easy3D::EFeaturesAligner::EFeaturesAligner ( )

Creates a EFeaturesAligner object.

◆ EFeaturesAligner() [2/3]

eVision::Easy3D::EFeaturesAligner::EFeaturesAligner ( const eVision::Easy3D::EFeaturesAligner & other)

Copy constructor for EFeaturesAligner.

Parameters
otherReference to the object used for the initialization.

◆ ~EFeaturesAligner()

eVision::Easy3D::EFeaturesAligner::~EFeaturesAligner ( )
throw ( )
virtual

◆ EFeaturesAligner() [3/3]

eVision::Easy3D::EFeaturesAligner::EFeaturesAligner ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Compute() [1/2]

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EFeaturesAligner::Compute ( const std::vector< eVision::Easy3D::E3DPoint > & measuredPoints) const

Computes the best transformation matrix for a given Measured points list.

This will compute the best transformation for the alignment between the Measured points and the Model points.

Parameters
measuredPointsThe measured points list; the measured points list should at least contain 3 unaligned points.

◆ Compute() [2/2]

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EFeaturesAligner::Compute ( const std::vector< eVision::Easy3D::E3DPoint > & measuredPoints,
eVision::Easy3D::EErrorStatistics & errorStatistics ) const

Computes the best transformation matrix for a given Measured points list.

This will compute the best transformation for the alignment between the Measured points and the Model points.

Parameters
measuredPointsThe measured points list; the measured points list should at least contain 3 unaligned points.
errorStatisticsOptional parameter passed by reference. This object will contains the error statistics (deviation between model and aligned points).

◆ GetAlignmentType()

eVision::Easy3D::EAlignmentType eVision::Easy3D::EFeaturesAligner::GetAlignmentType ( ) const

◆ GetModelPoints()

std::vector< eVision::Easy3D::E3DPoint > eVision::Easy3D::EFeaturesAligner::GetModelPoints ( ) const

Sets/Gets the model points list. The model point list is a list of points that is used either as source or as destination of the transformation to calculate. The model points list should at least contain 3 unaligned points.

◆ GetPolarityTransform()

eVision::Easy3D::EAlignmentPolarity eVision::Easy3D::EFeaturesAligner::GetPolarityTransform ( ) const

Sets/Gets the polarity of the transformation from EAlignmentPolarity.

If polarity is EAlignmentPolarity::EAlignmentPolarity_ModelToMeasured, calculates the best transformation from the Model points list to the Measured points list (default).

If the polarity is EAlignmentPolarity::EAlignmentPolarity_MeasuredToModel, calculates the best transformation from the Measured points list to the Model points list.

◆ GetXAngleRange()

eVision::EFloatRange eVision::Easy3D::EFeaturesAligner::GetXAngleRange ( ) const

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the x-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

◆ GetYAngleRange()

eVision::EFloatRange eVision::Easy3D::EFeaturesAligner::GetYAngleRange ( ) const

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the y-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

◆ GetZAngleRange()

eVision::EFloatRange eVision::Easy3D::EFeaturesAligner::GetZAngleRange ( ) const

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the z-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

◆ Load() [1/2]

void eVision::Easy3D::EFeaturesAligner::Load ( const std::string & path)

Loads the EFeaturesAligner object configuration. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Load() [2/2]

void eVision::Easy3D::EFeaturesAligner::Load ( eVision::ESerializer * serializer)

Loads the EFeaturesAligner object configuration. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ operator=()

eVision::Easy3D::EFeaturesAligner & eVision::Easy3D::EFeaturesAligner::operator= ( const eVision::Easy3D::EFeaturesAligner & other)

Assignment operator.

Parameters
otherThe other EFeaturesAligner that we will copy into this one.

◆ Save() [1/2]

void eVision::Easy3D::EFeaturesAligner::Save ( const std::string & path)

Saves the EFeaturesAligner object configuration. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

◆ Save() [2/2]

void eVision::Easy3D::EFeaturesAligner::Save ( eVision::ESerializer * serializer)

Saves the EFeaturesAligner object configuration. The given ESerializer must have been created for writing.

Parameters
serializerThe serializer.

◆ SetAlignmentType()

void eVision::Easy3D::EFeaturesAligner::SetAlignmentType ( eVision::Easy3D::EAlignmentType type)

◆ SetModelPoints()

void eVision::Easy3D::EFeaturesAligner::SetModelPoints ( const std::vector< eVision::Easy3D::E3DPoint > & points)

Sets/Gets the model points list. The model point list is a list of points that is used either as source or as destination of the transformation to calculate. The model points list should at least contain 3 unaligned points.

◆ SetPolarityTransform()

void eVision::Easy3D::EFeaturesAligner::SetPolarityTransform ( eVision::Easy3D::EAlignmentPolarity polarity)

Sets/Gets the polarity of the transformation from EAlignmentPolarity.

If polarity is EAlignmentPolarity::EAlignmentPolarity_ModelToMeasured, calculates the best transformation from the Model points list to the Measured points list (default).

If the polarity is EAlignmentPolarity::EAlignmentPolarity_MeasuredToModel, calculates the best transformation from the Measured points list to the Model points list.

◆ SetXAngleRange()

void eVision::Easy3D::EFeaturesAligner::SetXAngleRange ( eVision::EFloatRange range)

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the x-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

◆ SetYAngleRange()

void eVision::Easy3D::EFeaturesAligner::SetYAngleRange ( eVision::EFloatRange range)

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the y-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

◆ SetZAngleRange()

void eVision::Easy3D::EFeaturesAligner::SetZAngleRange ( eVision::EFloatRange range)

Sets/Gets the range of allowed angles in Easy::SetAngleUnit between the z-axes of the model and measured referentials. This allows to filter out symmetries when the EFeaturesAligner::SetAlignmentType is EAlignmentType::EAlignmentType_Unordered.

By default, the range is [0°, 180°].

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::Easy3D::EFeaturesAligner::wrappedClass_