Represents a 3D comparison context. More...
#include <eVision/Easy3D/Easy3DMatch/E3DComparer.h>
Public Member Functions | |
| E3DComparer () | |
| Constructs a 3D matching context. | |
| E3DComparer (const eVision::Easy3D::E3DComparer &other) | |
| Constructs a 3D matching context. | |
| virtual | ~E3DComparer () throw () |
| eVision::Easy3D::E3DComparer & | operator= (const eVision::Easy3D::E3DComparer &other) |
| Assignment operator. | |
| void | Load (const std::string &path) |
| Loads the E3DComparer. The given ESerializer must have been created for reading. | |
| void | Load (eVision::ESerializer *serializer) |
| Loads the E3DComparer. The given ESerializer must have been created for reading. | |
| void | Save (const std::string &path) |
| Saves the E3DComparer. The given ESerializer must have been created for writing. | |
| void | Save (eVision::ESerializer *serializer) |
| Saves the E3DComparer. The given ESerializer must have been created for writing. | |
| void | SetMeshReference (const eVision::Easy3D::EMesh &mesh) |
| Sets the 3D reference model. See also E3DComparer::SetPointCloudReference. | |
| void | SetPointCloudReference (const eVision::Easy3D::EPointCloud &pointcloud) |
| Sets the 3D reference model. See also E3DComparer::SetMeshReference. | |
| void | Compare (const eVision::Easy3D::EPointCloud &scan) |
| Compares the reference patterns against a scan. | |
| void | GetComparisonPointCloud (eVision::Easy3D::EPointCloud &cloudOut, bool storeDistances, bool storeColors, bool fullModel) const |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision::Easy3D::EPointCloud &cloudOut, bool storeDistances, bool storeColors) const |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision::Easy3D::EPointCloud &cloudOut, bool storeDistances) const |
| Gets the EPointCloud that is used for the comparison. | |
| void | GetComparisonPointCloud (eVision::Easy3D::EPointCloud &cloudOut) const |
| Gets the EPointCloud that is used for the comparison. | |
| void | SetROI (const std::vector< eVision::Easy3D::E3DBox > &roi) |
| Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered. | |
| std::vector< eVision::Easy3D::E3DBox > | GetROI () const |
| Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered. | |
| void | SetDontCare (const std::vector< eVision::Easy3D::E3DBox > &dontCare) |
| Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored. | |
| std::vector< eVision::Easy3D::E3DBox > | GetDontCare () const |
| Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored. | |
| void | SetNoExtraMaterial (const std::vector< eVision::Easy3D::E3DBox > &noExtraMaterial) |
| Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference). | |
| std::vector< eVision::Easy3D::E3DBox > | GetNoExtraMaterial () const |
| Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference). | |
| void | SetEnableAutomaticDecimation (bool state) |
| If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance. | |
| bool | GetEnableAutomaticDecimation () const |
| If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance. | |
| void | SetAutomaticCropFactor (float factor) |
| Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer::SetAnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance. | |
| float | GetAutomaticCropFactor () const |
| Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer::SetAnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance. | |
| void | PrepareReference () |
| Prepare the reference internal structures. By default, this is done on the first call to E3DComparer::Compare. | |
| void | SetAnomalyThresholds (eVision::Easy3D::EAnomalyThresholds thesholds) |
| Gets/Sets the thresholds related to the anomalies detection. | |
| eVision::Easy3D::EAnomalyThresholds | GetAnomalyThresholds () const |
| Gets/Sets the thresholds related to the anomalies detection. | |
| void | ResetAnomalyThresholds () |
| Sets the anomaly thresholds to their default values (computed automatically from the model size). | |
| void | SetAnomalyThresholds (float distanceThreshold, float areaThreshold) |
| Sets the thresholds related to the anomalies detection. | |
| void | GetAnomalyThresholds (float &distanceThreshold, float &areaThreshold) const |
| Gets the thresholds related to the anomalies detection. | |
| void | SetAnomalyHysteresis (eVision::Easy3D::EAnomalyThresholds hysteresisThesholds) |
| Gets/Sets the hysteresis related to the anomalies detection. | |
| eVision::Easy3D::EAnomalyThresholds | GetAnomalyHysteresis () const |
| Gets/Sets the hysteresis related to the anomalies detection. | |
| void | SetAnomalyHysteresis (float distanceHysteresisThreshold, float areaHysteresisThreshold) |
| Sets the hysteresis related to the anomalies detection. | |
| void | GetAnomalyHysteresis (float &distanceHysteresisThreshold, float &areaHysteresisThreshold) const |
| Gets the hysteresis related to the anomalies detection. | |
| std::vector< eVision::Easy3D::E3DAnomaly > | ComputesAnomalies () const |
| Computes the anomalies and returns them as a vector of E3DAnomaly. | |
| void | SetComparisonDistanceMode (eVision::Easy3D::EComparisonDistanceMode mode) |
| Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer. | |
| eVision::Easy3D::EComparisonDistanceMode | GetComparisonDistanceMode () const |
| Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer. | |
| void | SetEdgeCroppingParameters (eVision::Easy3D::EEdgeCroppingParameters parameters) |
| Gets/Sets the parameters driving the edge cropping. | |
| eVision::Easy3D::EEdgeCroppingParameters | GetEdgeCroppingParameters () const |
| Gets/Sets the parameters driving the edge cropping. | |
| void | SetEdgeCroppingParameters (uint32_t numberNeighbors, float curvatureThreshold) |
| Sets the parameters driving the edge cropping. | |
| void | GetEdgeCroppingParameters (uint32_t &numberNeighbors, float &curvatureThreshold) const |
| Gets the parameters driving the edge cropping. | |
| void | SetEnableAutomaticEdgeCropping (bool state) |
| If True, edges in the reference will be cropped automatically. This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see E3DComparer::SetComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer::SetEdgeCroppingParameters. | |
| bool | GetEnableAutomaticEdgeCropping () const |
| If True, edges in the reference will be cropped automatically. This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see E3DComparer::SetComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer::SetEdgeCroppingParameters. | |
| E3DComparer (CppWrapperInternal::InternalConstructor) | |
Public Attributes | |
| CppWrapperInternal::WrappedClass | wrappedClass_ |
Represents a 3D comparison context.
License(s): Easy3DMatch
| eVision::Easy3D::E3DComparer::E3DComparer | ( | ) |
Constructs a 3D matching context.
| eVision::Easy3D::E3DComparer::E3DComparer | ( | const eVision::Easy3D::E3DComparer & | other | ) |
Constructs a 3D matching context.
| other | Another E3DComparer object to be copied in the new E3DComparer object. |
|
virtual | ||||||||||||
| eVision::Easy3D::E3DComparer::E3DComparer | ( | CppWrapperInternal::InternalConstructor | ) |
| void eVision::Easy3D::E3DComparer::Compare | ( | const eVision::Easy3D::EPointCloud & | scan | ) |
Compares the reference patterns against a scan.
| scan | An EPointCloud that represents the scan to compare to the reference. |
| std::vector< eVision::Easy3D::E3DAnomaly > eVision::Easy3D::E3DComparer::ComputesAnomalies | ( | ) | const |
Computes the anomalies and returns them as a vector of E3DAnomaly.
| eVision::Easy3D::EAnomalyThresholds eVision::Easy3D::E3DComparer::GetAnomalyHysteresis | ( | ) | const |
Gets/Sets the hysteresis related to the anomalies detection.
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer::SetAnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also E3DComparer::SetAnomalyThresholds.
| void eVision::Easy3D::E3DComparer::GetAnomalyHysteresis | ( | float & | distanceHysteresisThreshold, |
| float & | areaHysteresisThreshold ) const |
Gets the hysteresis related to the anomalies detection.
| distanceHysteresisThreshold | The distance hysteresis threshold. Must be greater than or equal to 1. Default: 1 |
| areaHysteresisThreshold | The area hysteresis threshold. Must be smaller than or equal to 1. Default: 1. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer::SetAnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also E3DComparer::SetAnomalyThresholds.
Use E3DComparer::SetAnomalyHysteresis instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| eVision::Easy3D::EAnomalyThresholds eVision::Easy3D::E3DComparer::GetAnomalyThresholds | ( | ) | const |
Gets/Sets the thresholds related to the anomalies detection.
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also E3DComparer::SetAnomalyHysteresis to more advanced anomaly detection.
If the anomaly thresholds aren't set, they will be computed automatically from the given reference once E3DComparer::PrepareReference is called. Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.
| void eVision::Easy3D::E3DComparer::GetAnomalyThresholds | ( | float & | distanceThreshold, |
| float & | areaThreshold ) const |
Gets the thresholds related to the anomalies detection.
| distanceThreshold | The distance threshold. |
| areaThreshold | The area threshold. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also E3DComparer::SetAnomalyHysteresis to more advanced anomaly detection.
Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.
Use E3DComparer::SetAnomalyThresholds instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| float eVision::Easy3D::E3DComparer::GetAutomaticCropFactor | ( | ) | const |
Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer::SetAnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance.
Default: 1
Note that if the cropping margin is too small, the E3DPoint of the anomalies will not be visible (with the function E3DComparer::GetComparisonPointCloud and the parameter pointFromReference = False).
| eVision::Easy3D::EComparisonDistanceMode eVision::Easy3D::E3DComparer::GetComparisonDistanceMode | ( | ) | const |
Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer.
Default: EComparisonDistanceMode::EComparisonDistanceMode_Euclidean.
| void eVision::Easy3D::E3DComparer::GetComparisonPointCloud | ( | eVision::Easy3D::EPointCloud & | cloudOut | ) | const |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| void eVision::Easy3D::E3DComparer::GetComparisonPointCloud | ( | eVision::Easy3D::EPointCloud & | cloudOut, |
| bool | storeDistances ) const |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud::GetAttributeBuffer can be used with E3DAttribute::E3DAttribute_Distance to retrieve the distances. |
Default: True
| void eVision::Easy3D::E3DComparer::GetComparisonPointCloud | ( | eVision::Easy3D::EPointCloud & | cloudOut, |
| bool | storeDistances, | ||
| bool | storeColors ) const |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud::GetAttributeBuffer can be used with E3DAttribute::E3DAttribute_Distance to retrieve the distances. |
Default: True
| storeColors | If set to True, the colors related to the distances computed will be stored in the EPointCloud. The functions EPointCloud::GetAttributeBuffer can be used with E3DAttribute::E3DAttribute_Color to retrieve the distances. |
The colors can also be used in the E3DViewer.
Default: True
| void eVision::Easy3D::E3DComparer::GetComparisonPointCloud | ( | eVision::Easy3D::EPointCloud & | cloudOut, |
| bool | storeDistances, | ||
| bool | storeColors, | ||
| bool | fullModel ) const |
Gets the EPointCloud that is used for the comparison.
| cloudOut | Where to store the EPointCloud. |
| storeDistances | If set to True, the distances computed will be stored in the EPointCloud. The function EPointCloud::GetAttributeBuffer can be used with E3DAttribute::E3DAttribute_Distance to retrieve the distances. |
Default: True
| storeColors | If set to True, the colors related to the distances computed will be stored in the EPointCloud. The functions EPointCloud::GetAttributeBuffer can be used with E3DAttribute::E3DAttribute_Color to retrieve the distances. |
The colors can also be used in the E3DViewer.
Default: True
| fullModel | If set to True, the points that are not inside the ROI (see E3DComparer::SetROI) will also be in the EPointCloud. |
Default: False
| std::vector< eVision::Easy3D::E3DBox > eVision::Easy3D::E3DComparer::GetDontCare | ( | ) | const |
Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored.
| eVision::Easy3D::EEdgeCroppingParameters eVision::Easy3D::E3DComparer::GetEdgeCroppingParameters | ( | ) | const |
Gets/Sets the parameters driving the edge cropping.
Edge cropping is disabled by default, enable it using E3DComparer::SetEnableAutomaticEdgeCropping.
| void eVision::Easy3D::E3DComparer::GetEdgeCroppingParameters | ( | uint32_t & | numberNeighbors, |
| float & | curvatureThreshold ) const |
Gets the parameters driving the edge cropping.
| numberNeighbors | The number of neighbors that we will use to compute the local curvature. The bigger this parameter, the thicker the cropping will be. This number must be bigger than 10. Default: 100 |
| curvatureThreshold | The curvature value above which a point is cropped (must be between 0 and 1). Default: 0.15 |
Edge cropping is disabled by default, enable it using E3DComparer::SetEnableAutomaticEdgeCropping.
Use E3DComparer::SetEdgeCroppingParameters instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| bool eVision::Easy3D::E3DComparer::GetEnableAutomaticDecimation | ( | ) | const |
If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance.
Default: True
| bool eVision::Easy3D::E3DComparer::GetEnableAutomaticEdgeCropping | ( | ) | const |
If True, edges in the reference will be cropped automatically. This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see E3DComparer::SetComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer::SetEdgeCroppingParameters.
Default: False
| std::vector< eVision::Easy3D::E3DBox > eVision::Easy3D::E3DComparer::GetNoExtraMaterial | ( | ) | const |
Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference).
| std::vector< eVision::Easy3D::E3DBox > eVision::Easy3D::E3DComparer::GetROI | ( | ) | const |
Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered.
| void eVision::Easy3D::E3DComparer::Load | ( | const std::string & | path | ) |
Loads the E3DComparer. The given ESerializer must have been created for reading.
| path | The file path. |
| void eVision::Easy3D::E3DComparer::Load | ( | eVision::ESerializer * | serializer | ) |
Loads the E3DComparer. The given ESerializer must have been created for reading.
| serializer | The serializer. |
| eVision::Easy3D::E3DComparer & eVision::Easy3D::E3DComparer::operator= | ( | const eVision::Easy3D::E3DComparer & | other | ) |
Assignment operator.
| other | The E3DComparer object that should be copied. |
| void eVision::Easy3D::E3DComparer::PrepareReference | ( | ) |
Prepare the reference internal structures. By default, this is done on the first call to E3DComparer::Compare.
| void eVision::Easy3D::E3DComparer::ResetAnomalyThresholds | ( | ) |
Sets the anomaly thresholds to their default values (computed automatically from the model size).
| void eVision::Easy3D::E3DComparer::Save | ( | const std::string & | path | ) |
Saves the E3DComparer. The given ESerializer must have been created for writing.
| path | The file path. |
| void eVision::Easy3D::E3DComparer::Save | ( | eVision::ESerializer * | serializer | ) |
Saves the E3DComparer. The given ESerializer must have been created for writing.
| serializer | The serializer. |
| void eVision::Easy3D::E3DComparer::SetAnomalyHysteresis | ( | eVision::Easy3D::EAnomalyThresholds | hysteresisThesholds | ) |
Gets/Sets the hysteresis related to the anomalies detection.
| hysteresisThesholds | The distance and area hysteresis thresholds. Distance threshold must be greater than or equal to 1 and defaults to 1. Area threshold must be smaller than or equal to 1 and defaults to 1. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer::SetAnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also E3DComparer::SetAnomalyThresholds.
| void eVision::Easy3D::E3DComparer::SetAnomalyHysteresis | ( | float | distanceHysteresisThreshold, |
| float | areaHysteresisThreshold ) |
Sets the hysteresis related to the anomalies detection.
| distanceHysteresisThreshold | The distance hysteresis threshold. Must be greater than or equal to 1. Default: 1 |
| areaHysteresisThreshold | The area hysteresis threshold. Must be smaller than or equal to 1. Default: 1. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See E3DComparer::SetAnomalyThresholds. In addition, an hysteresis can be specified, such that the cluster will also have to contain a subset of points whose distance is greater than distanceHysteresisThreshold * distanceThreshold and area greater than areaHysteresisThreshold * areaThreshold. See also E3DComparer::SetAnomalyThresholds.
Use E3DComparer::SetAnomalyHysteresis instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision::Easy3D::E3DComparer::SetAnomalyThresholds | ( | eVision::Easy3D::EAnomalyThresholds | thesholds | ) |
Gets/Sets the thresholds related to the anomalies detection.
| thesholds | The distance and area thresholds. Both must be > 0. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also E3DComparer::SetAnomalyHysteresis to more advanced anomaly detection.
If the anomaly thresholds aren't set, they will be computed automatically from the given reference once E3DComparer::PrepareReference is called. Trying to get the anomaly thresholds before they are set or automatically computed will throw an exception.
| void eVision::Easy3D::E3DComparer::SetAnomalyThresholds | ( | float | distanceThreshold, |
| float | areaThreshold ) |
Sets the thresholds related to the anomalies detection.
| distanceThreshold | The distance threshold. Must be > 0. |
| areaThreshold | The area threshold. Must be > 0. |
To be considered as an anomaly, a cluster of points with a distance greater than distanceThreshold must have an area greater than areaThreshold. See also E3DComparer::SetAnomalyHysteresis to more advanced anomaly detection.
If the anomaly thresholds aren't set, they will be computed automatically from the given reference once E3DComparer::PrepareReference is called.
Use E3DComparer::SetAnomalyThresholds instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision::Easy3D::E3DComparer::SetAutomaticCropFactor | ( | float | factor | ) |
Sets/Gets the automatic cropping factor. The factor multiplies the anomaly distance threshold (E3DComparer::SetAnomalyThresholds) to obtain the margin for the cropping. If the value is smaller than 0, then no crop is performed before computing the distance.
Default: 1
Note that if the cropping margin is too small, the E3DPoint of the anomalies will not be visible (with the function E3DComparer::GetComparisonPointCloud and the parameter pointFromReference = False).
| void eVision::Easy3D::E3DComparer::SetComparisonDistanceMode | ( | eVision::Easy3D::EComparisonDistanceMode | mode | ) |
Sets/Gets the distance mode for the 3D comparison. All values of the enum are not allowed for E3DComparer.
Default: EComparisonDistanceMode::EComparisonDistanceMode_Euclidean.
| void eVision::Easy3D::E3DComparer::SetDontCare | ( | const std::vector< eVision::Easy3D::E3DBox > & | dontCare | ) |
Sets/Gets a vector of E3DBox that defines the regions that should not be compared. By default, no point of the reference is ignored.
| void eVision::Easy3D::E3DComparer::SetEdgeCroppingParameters | ( | eVision::Easy3D::EEdgeCroppingParameters | parameters | ) |
Gets/Sets the parameters driving the edge cropping.
| parameters | The number of neighbors that we will use to compute the local curvature and a threshold on that curvature. The bigger the number of neighbors, the thicker the cropping will be. This number must be bigger than 10 and defaults to 100. A point whose curvature is above the threshold is cropped. The threshold must be between 0 and 1 and defaults to 0.15 |
Edge cropping is disabled by default, enable it using E3DComparer::SetEnableAutomaticEdgeCropping.
| void eVision::Easy3D::E3DComparer::SetEdgeCroppingParameters | ( | uint32_t | numberNeighbors, |
| float | curvatureThreshold ) |
Sets the parameters driving the edge cropping.
| numberNeighbors | The number of neighbors that we will use to compute the local curvature. The bigger this parameter, the thicker the cropping will be. This number must be bigger than 10. Default: 100 |
| curvatureThreshold | The curvature value above which a point is cropped (must be between 0 and 1). Default: 0.15 |
Edge cropping is disabled by default, enable it using E3DComparer::SetEnableAutomaticEdgeCropping.
Use E3DComparer::SetEdgeCroppingParameters instead.
Deprecated in version 24.6. Scheduled to be removed in version 27.6.
| void eVision::Easy3D::E3DComparer::SetEnableAutomaticDecimation | ( | bool | state | ) |
If True, the given reference is automatically decimated with a resolution depending on the distance threshold to speed-up processing. If False, all the points of the given reference are used to compute the distance.
Default: True
| void eVision::Easy3D::E3DComparer::SetEnableAutomaticEdgeCropping | ( | bool | state | ) |
If True, edges in the reference will be cropped automatically. This is useful to avoid false positives that could occur near the edges of the object, in particular when using normals (see E3DComparer::SetComparisonDistanceMode and EComparisonDistanceMode). To modify the parameters of the cropping, see E3DComparer::SetEdgeCroppingParameters.
Default: False
| void eVision::Easy3D::E3DComparer::SetMeshReference | ( | const eVision::Easy3D::EMesh & | mesh | ) |
Sets the 3D reference model. See also E3DComparer::SetPointCloudReference.
| mesh | An EMesh that represents the 3D reference model. |
| void eVision::Easy3D::E3DComparer::SetNoExtraMaterial | ( | const std::vector< eVision::Easy3D::E3DBox > & | noExtraMaterial | ) |
Sets/Gets a vector of E3DBox that defines the regions where there should not be points in the scan far from the reference. By default, the points far from the reference are not considered as anomalies (if there also are some other points closer to the reference).
| void eVision::Easy3D::E3DComparer::SetPointCloudReference | ( | const eVision::Easy3D::EPointCloud & | pointcloud | ) |
Sets the 3D reference model. See also E3DComparer::SetMeshReference.
| pointcloud | An EPointCloud that represents the 3D reference model. |
| void eVision::Easy3D::E3DComparer::SetROI | ( | const std::vector< eVision::Easy3D::E3DBox > & | roi | ) |
Sets/Gets a vector of E3DBox that defines the regions that should be compared. By default, the entire reference is considered.
| CppWrapperInternal::WrappedClass eVision::Easy3D::E3DComparer::wrappedClass_ |