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

A EPrincipalAxisExtractor object computes the principal axis analysis (PCA) on an EPointCloud and produces a E3DTransformMatrix as a result. More...

#include <eVision/Easy3D/EPrincipalAxisExtractor.h>

Collaboration diagram for eVision::Easy3D::EPrincipalAxisExtractor:

Public Member Functions

 EPrincipalAxisExtractor ()
 Creates an EPrincipalAxisExtractor object.
 EPrincipalAxisExtractor (const eVision::Easy3D::EPrincipalAxisExtractor &other)
 Creates an EPrincipalAxisExtractor object.
virtual ~EPrincipalAxisExtractor () throw ()
eVision::Easy3D::EPrincipalAxisExtractor & operator= (const eVision::Easy3D::EPrincipalAxisExtractor &other)
 Assignment operator.
void SetReferenceTransform (const eVision::Easy3D::E3DTransformMatrix &refTransform)
 Sets/Gets the reference transform (E3DTransformMatrix). If not set, it will use the main basis as reference to select the direction of each axis of the new basis.
eVision::Easy3D::E3DTransformMatrix GetReferenceTransform () const
 Sets/Gets the reference transform (E3DTransformMatrix). If not set, it will use the main basis as reference to select the direction of each axis of the new basis.
bool HasReferenceTransformSet () const
 Returns 'true' if a reference transform (E3DTransformMatrix) has been set explicitly.
void UnsetReferenceTransform ()
 Unset the reference transform (E3DTransformMatrix).
eVision::Easy3D::E3DTransformMatrix Extract (const eVision::Easy3D::EPointCloud &pc) const
 Computes the E3DTransformMatrix for a given EPointCloud.
eVision::Easy3D::E3DTransformMatrix Extract (const eVision::Easy3D::EPointCloud &pc, eVision::Easy3D::E3DPoint &stdDev) const
 Computes the E3DTransformMatrix for a given EPointCloud.
eVision::Easy3D::E3DTransformMatrix Extract (const eVision::Easy3D::EPointCloud &pc, float &stdDevX, float &stdDevY, float &stdDevZ) const
 Computes the E3DTransformMatrix for a given EPointCloud.
void Load (const std::string &path)
 Loads the EPrincipalAxisExtractor object configuration. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Loads the EPrincipalAxisExtractor object configuration. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Saves the EPrincipalAxisExtractor object configuration. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Saves the EPrincipalAxisExtractor object configuration. The given ESerializer must have been created for writing.
 EPrincipalAxisExtractor (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

A EPrincipalAxisExtractor object computes the principal axis analysis (PCA) on an EPointCloud and produces a E3DTransformMatrix as a result.

License(s): Easy3D

Constructor & Destructor Documentation

◆ EPrincipalAxisExtractor() [1/3]

eVision::Easy3D::EPrincipalAxisExtractor::EPrincipalAxisExtractor ( )

Creates an EPrincipalAxisExtractor object.

◆ EPrincipalAxisExtractor() [2/3]

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

Creates an EPrincipalAxisExtractor object.

Parameters
otherThe object used for the initialization

◆ ~EPrincipalAxisExtractor()

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

◆ EPrincipalAxisExtractor() [3/3]

eVision::Easy3D::EPrincipalAxisExtractor::EPrincipalAxisExtractor ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Extract() [1/3]

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPrincipalAxisExtractor::Extract ( const eVision::Easy3D::EPointCloud & pc) const

Computes the E3DTransformMatrix for a given EPointCloud.

This will compute the PCA, then select the direction of each axis of the basis so that this basis is as close as possible as the reference transform.

Optionally returns the standard deviation along the 3 axis.

Parameters
pcInput point cloud.

◆ Extract() [2/3]

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPrincipalAxisExtractor::Extract ( const eVision::Easy3D::EPointCloud & pc,
eVision::Easy3D::E3DPoint & stdDev ) const

Computes the E3DTransformMatrix for a given EPointCloud.

This will compute the PCA, then select the direction of each axis of the basis so that this basis is as close as possible as the reference transform.

Optionally returns the standard deviation along the 3 axis.

Parameters
pcInput point cloud.
stdDevVariable to store the X, Y and Z components of the standard deviation.

◆ Extract() [3/3]

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPrincipalAxisExtractor::Extract ( const eVision::Easy3D::EPointCloud & pc,
float & stdDevX,
float & stdDevY,
float & stdDevZ ) const

Computes the E3DTransformMatrix for a given EPointCloud.

This will compute the PCA, then select the direction of each axis of the basis so that this basis is as close as possible as the reference transform.

Optionally returns the standard deviation along the 3 axis.

Parameters
pcInput point cloud.
stdDevXVariable to store the X component of the standard deviation.
stdDevYVariable to store the Y component of the standard deviation.
stdDevZVariable to store the Z component of the standard deviation.
Deprecated
Deprecated in version 24.6. Scheduled to be removed in version 27.6.

◆ GetReferenceTransform()

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPrincipalAxisExtractor::GetReferenceTransform ( ) const

Sets/Gets the reference transform (E3DTransformMatrix). If not set, it will use the main basis as reference to select the direction of each axis of the new basis.

◆ HasReferenceTransformSet()

bool eVision::Easy3D::EPrincipalAxisExtractor::HasReferenceTransformSet ( ) const

Returns 'true' if a reference transform (E3DTransformMatrix) has been set explicitly.

◆ Load() [1/2]

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

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

Parameters
pathThe file path.

◆ Load() [2/2]

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

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

Parameters
serializerThe serializer.

◆ operator=()

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

Assignment operator.

Parameters
otherThe EPrincipalAxisExtractor object that should be copied.

◆ Save() [1/2]

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

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

Parameters
pathThe file path.

◆ Save() [2/2]

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

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

Parameters
serializerThe ESerializer object that is written to.

◆ SetReferenceTransform()

void eVision::Easy3D::EPrincipalAxisExtractor::SetReferenceTransform ( const eVision::Easy3D::E3DTransformMatrix & refTransform)

Sets/Gets the reference transform (E3DTransformMatrix). If not set, it will use the main basis as reference to select the direction of each axis of the new basis.

◆ UnsetReferenceTransform()

void eVision::Easy3D::EPrincipalAxisExtractor::UnsetReferenceTransform ( )

Unset the reference transform (E3DTransformMatrix).

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::Easy3D::EPrincipalAxisExtractor::wrappedClass_