Merges several EPointCloud of the same scene from different sensors after having performed a calibration. More...
#include <eVision/Easy3D/Easy3DMatch/EPointCloudMerger.h>
Public Member Functions | |
| EPointCloudMerger () | |
| Constructs an EPointCloudMerger. | |
| EPointCloudMerger (const eVision::Easy3D::EPointCloudMerger &other) | |
| Constructs an EPointCloudMerger. | |
| EPointCloudMerger (bool enableDecimation, float mergedCloudResolution, const std::vector< eVision::Easy3D::E3DTransformMatrix > &transforms) | |
| Constructs an EPointCloudMerger. | |
| virtual | ~EPointCloudMerger () throw () |
| eVision::Easy3D::EPointCloudMerger & | operator= (const eVision::Easy3D::EPointCloudMerger &other) |
| Assignment operator. | |
| void | Load (const std::string &path) |
| Loads the EPointCloudMerger. The given ESerializer must have been created for reading. | |
| void | Load (eVision::ESerializer *serializer) |
| Loads the EPointCloudMerger. The given ESerializer must have been created for reading. | |
| void | Save (const std::string &path) |
| Saves the EPointCloudMerger. The given ESerializer must have been created for writing. | |
| void | Save (eVision::ESerializer *serializer) |
| Saves the EPointCloudMerger. The given ESerializer must have been created for writing. | |
| void | SetMergedCloudResolution (float mergedCloudResolution) |
| Sets/Gets the resolution of the merged point clouds. | |
| float | GetMergedCloudResolution () const |
| Sets/Gets the resolution of the merged point clouds. | |
| void | SetTransformations (const std::vector< eVision::Easy3D::E3DTransformMatrix > &transforms) |
| Sets/Gets the transformations to apply to all of the clouds to merge. | |
| std::vector< eVision::Easy3D::E3DTransformMatrix > | GetTransformations () const |
| Sets/Gets the transformations to apply to all of the clouds to merge. | |
| void | SetEnableDecimation (bool enableDecimation) |
| Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true. | |
| bool | GetEnableDecimation () const |
| Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true. | |
| float | Calibrate (const std::vector< eVision::Easy3D::EPointCloud * > &calibrationClouds, float calibrationObjectSize, bool computeMergedCloudResolution) |
| Calibrates the transformations to apply to the point clouds from clouds of the calibration object. | |
| float | Calibrate (const std::vector< eVision::Easy3D::EPointCloud * > &calibrationClouds, float calibrationObjectSize) |
| Calibrates the transformations to apply to the point clouds from clouds of the calibration object. | |
| float | Calibrate (const std::vector< eVision::Easy3D::EPointCloud > &calibrationClouds, float calibrationObjectSize, bool computeMergedCloudResolution) |
| Calibrates the transformations to apply to the point clouds from clouds of the calibration object. | |
| float | Calibrate (const std::vector< eVision::Easy3D::EPointCloud > &calibrationClouds, float calibrationObjectSize) |
| Calibrates the transformations to apply to the point clouds from clouds of the calibration object. | |
| void | Merge (const std::vector< eVision::Easy3D::EPointCloud * > &clouds, eVision::Easy3D::EPointCloud &mergedCloud) const |
| Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points. | |
| void | Merge (const std::vector< eVision::Easy3D::EPointCloud > &clouds, eVision::Easy3D::EPointCloud &mergedCloud) const |
| Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points. | |
| EPointCloudMerger (CppWrapperInternal::InternalConstructor) | |
Public Attributes | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Merges several EPointCloud of the same scene from different sensors after having performed a calibration.
License(s): Easy3DMatch
| eVision::Easy3D::EPointCloudMerger::EPointCloudMerger | ( | ) |
Constructs an EPointCloudMerger.
| eVision::Easy3D::EPointCloudMerger::EPointCloudMerger | ( | const eVision::Easy3D::EPointCloudMerger & | other | ) |
Constructs an EPointCloudMerger.
| other | Another EPointCloudMerger object to be copied in the new EPointCloudMerger object. |
| eVision::Easy3D::EPointCloudMerger::EPointCloudMerger | ( | bool | enableDecimation, |
| float | mergedCloudResolution, | ||
| const std::vector< eVision::Easy3D::E3DTransformMatrix > & | transforms ) |
Constructs an EPointCloudMerger.
| enableDecimation | Whether we want to filter the merged cloud to remove point duplicates coming from different clouds by using an EGridDecimator or not. Set to true by default. |
| mergedCloudResolution | The size of a cubic cell of EGridDecimator applied to the merged EPointCloud. Set to 1 by default. |
| transforms | A vector of E3DTransformMatrix that will be applied to each EPointCloud before merging them together. |
|
virtual | ||||||||||||
| eVision::Easy3D::EPointCloudMerger::EPointCloudMerger | ( | CppWrapperInternal::InternalConstructor | ) |
| float eVision::Easy3D::EPointCloudMerger::Calibrate | ( | const std::vector< eVision::Easy3D::EPointCloud * > & | calibrationClouds, |
| float | calibrationObjectSize ) |
Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
| calibrationClouds | A vector of EPointCloud representing different points of view of the calibration object. |
| calibrationObjectSize | The size of an edge of the calibration cube in the point clouds. |
The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger::SetTransformations and EPointCloudMerger::SetMergedCloudResolution respectively.
The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.
| float eVision::Easy3D::EPointCloudMerger::Calibrate | ( | const std::vector< eVision::Easy3D::EPointCloud * > & | calibrationClouds, |
| float | calibrationObjectSize, | ||
| bool | computeMergedCloudResolution ) |
Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
| calibrationClouds | A vector of EPointCloud representing different points of view of the calibration object. |
| calibrationObjectSize | The size of an edge of the calibration cube in the point clouds. |
| computeMergedCloudResolution | Whether to compute the resolution of the merged cloud from the given clouds or not. |
If set to true, the resolution will be set to half the average distance between a point on the calibration object of the first cloud and its nearest neighbor.
Defaults to false.
The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger::SetTransformations and EPointCloudMerger::SetMergedCloudResolution respectively.
The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.
| float eVision::Easy3D::EPointCloudMerger::Calibrate | ( | const std::vector< eVision::Easy3D::EPointCloud > & | calibrationClouds, |
| float | calibrationObjectSize ) |
Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
| calibrationClouds | A vector of EPointCloud representing different points of view of the calibration object. |
| calibrationObjectSize | The size of an edge of the calibration cube in the point clouds. |
The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger::SetTransformations and EPointCloudMerger::SetMergedCloudResolution respectively.
The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.
| float eVision::Easy3D::EPointCloudMerger::Calibrate | ( | const std::vector< eVision::Easy3D::EPointCloud > & | calibrationClouds, |
| float | calibrationObjectSize, | ||
| bool | computeMergedCloudResolution ) |
Calibrates the transformations to apply to the point clouds from clouds of the calibration object.
| calibrationClouds | A vector of EPointCloud representing different points of view of the calibration object. |
| calibrationObjectSize | The size of an edge of the calibration cube in the point clouds. |
| computeMergedCloudResolution | Whether to compute the resolution of the merged cloud from the given clouds or not. |
If set to true, the resolution will be set to half the average distance between a point on the calibration object of the first cloud and its nearest neighbor.
Defaults to false.
The transformations to apply and possibly the mergedCloudResolution can also be set by EPointCloudMerger::SetTransformations and EPointCloudMerger::SetMergedCloudResolution respectively.
The biggest face of the calibration cube should at least contain 2% of the points in each calibration cloud for the object to be detected.
| bool eVision::Easy3D::EPointCloudMerger::GetEnableDecimation | ( | ) | const |
Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true.
| float eVision::Easy3D::EPointCloudMerger::GetMergedCloudResolution | ( | ) | const |
Sets/Gets the resolution of the merged point clouds.
| std::vector< eVision::Easy3D::E3DTransformMatrix > eVision::Easy3D::EPointCloudMerger::GetTransformations | ( | ) | const |
Sets/Gets the transformations to apply to all of the clouds to merge.
The transformations to apply can also be produced by EPointCloudMerger::Calibrate.
| void eVision::Easy3D::EPointCloudMerger::Load | ( | const std::string & | path | ) |
Loads the EPointCloudMerger. The given ESerializer must have been created for reading.
| path | The file path. |
| void eVision::Easy3D::EPointCloudMerger::Load | ( | eVision::ESerializer * | serializer | ) |
Loads the EPointCloudMerger. The given ESerializer must have been created for reading.
| serializer | The serializer. |
| void eVision::Easy3D::EPointCloudMerger::Merge | ( | const std::vector< eVision::Easy3D::EPointCloud * > & | clouds, |
| eVision::Easy3D::EPointCloud & | mergedCloud ) const |
Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points.
| clouds | A vector of EPointCloud representing different points of view of the object. |
| mergedCloud | An empty cloud that will be filled with the merging of the clouds. |
The EPointCloudMerger must have been calibrated or the transformations to apply set, see EPointCloudMerger::Calibrate, EPointCloudMerger::SetTransformations or constructor.
| void eVision::Easy3D::EPointCloudMerger::Merge | ( | const std::vector< eVision::Easy3D::EPointCloud > & | clouds, |
| eVision::Easy3D::EPointCloud & | mergedCloud ) const |
Merges the given clouds by applying the transformation matrices and optionally filter the result to remove duplicate points.
| clouds | A vector of EPointCloud representing different points of view of the object. |
| mergedCloud | An empty cloud that will be filled with the merging of the clouds. |
The EPointCloudMerger must have been calibrated or the transformations to apply set, see EPointCloudMerger::Calibrate, EPointCloudMerger::SetTransformations or constructor.
Deprecated because using this method causes unnecessary copies. Use overloads with vector of pointers instead.
Deprecated in version 25.6. Scheduled to be removed in version 27.6.
| eVision::Easy3D::EPointCloudMerger & eVision::Easy3D::EPointCloudMerger::operator= | ( | const eVision::Easy3D::EPointCloudMerger & | other | ) |
Assignment operator.
| other | The EPointCloudMerger object that should be assigned. |
| void eVision::Easy3D::EPointCloudMerger::Save | ( | const std::string & | path | ) |
Saves the EPointCloudMerger. The given ESerializer must have been created for writing.
| path | The file path. |
| void eVision::Easy3D::EPointCloudMerger::Save | ( | eVision::ESerializer * | serializer | ) |
Saves the EPointCloudMerger. The given ESerializer must have been created for writing.
| serializer | The ESerializer object that is written to. |
| void eVision::Easy3D::EPointCloudMerger::SetEnableDecimation | ( | bool | enableDecimation | ) |
Sets/Gets whether the filtering of the merged cloud is enabled. If set to true, an EGridDecimator is used to perform a grid decimation so that a point present in several clouds is not duplicated. Defaults to true.
| enableDecimation | Whether to perform decimation on the merged cloud or not. |
| void eVision::Easy3D::EPointCloudMerger::SetMergedCloudResolution | ( | float | mergedCloudResolution | ) |
Sets/Gets the resolution of the merged point clouds.
| mergedCloudResolution | The size of a cubic cell of EGridDecimator applied to the merged EPointCloud. |
| void eVision::Easy3D::EPointCloudMerger::SetTransformations | ( | const std::vector< eVision::Easy3D::E3DTransformMatrix > & | transforms | ) |
Sets/Gets the transformations to apply to all of the clouds to merge.
| transforms | A vector of E3DTransformMatrix that will be applied to each EPointCloud before merging them together. |
The transformations to apply can also be produced by EPointCloudMerger::Calibrate.
| CppWrapperInternal::WrappedClass eVision::Easy3D::EPointCloudMerger::wrappedClass_ |