Files
handleaiuinew/env/LMI/include/GoSdk/GoPartMatching.h
T

406 lines
15 KiB
C
Raw Normal View History

2024-05-18 23:53:26 +08:00
/**
* @file GoPartMatching.h
* @brief Declares the GoPartMatching class.
*
* @internal
* Copyright (C) 2016-2021 by LMI Technologies Inc.
* Licensed under the MIT License.
* Redistributed files must retain the above copyright notice.
*/
#ifndef GO_PART_MATCHING_H
#define GO_PART_MATCHING_H
#include <GoSdk/GoSdkDef.h>
/**
* @class GoPartMatching
* @extends kObject
* @note Supported with G2, G3
* @ingroup GoSdk-Surface
* @brief Represents the part matching parameters of the surface mode configuration.
*/
typedef kObject GoPartMatching;
/**
* Enables part matching.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param enable kTRUE to enable, or kFALSE to disable.
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_EnablePartMatching(GoPartMatching matching, kBool enable);
/**
* Gets the current state of part matching.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return kTRUE if enabled and kFALSE if disabled.
*/
GoFx(kBool) GoPartMatching_PartMatchingEnabled(GoPartMatching matching);
/**
* Returns the state of whether or not the user specified part matching value is used.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return kTRUE if used and kFALSE if not.
*/
GoFx(kBool) GoPartMatching_EnablePartMatchingUsed(GoPartMatching matching);
/**
* Sets the desired part matching algorithm.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param algorithm The algorithm to use for part matching.
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetAlgorithm(GoPartMatching matching, GoPartMatchAlgorithm algorithm);
/**
* Gets the currently selected part matching algorithm.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The currently selected part matching algorithm.
*/
GoFx(GoPartMatchAlgorithm) GoParthMatching_Algorithm(GoPartMatching matching);
/**
* Sets the current edge model name.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param name The desired name to set for the edge model.
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEdgeModelName(GoPartMatching matching, const kChar* name);
/**
* Gets the name of the currently selected part matching edge model.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The name of the current edge matching model.
*/
GoFx(const kChar*) GoPartMatching_EdgeModelName(GoPartMatching matching);
/**
* Sets the edge matching decision minimum quality value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEdgeQualityDecisionMin(GoPartMatching matching, k64f value);
/**
* Gets the minimum decision value for the edge part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The minimum decision value.
*/
GoFx(k64f) GoPartMatching_EdgeQualityDecisionMin(GoPartMatching matching);
/**
* Sets the ellipse match major decision maximum value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseMajorMax(GoPartMatching matching, k64f value);
/**
* Gets the maximum major decision value for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The maximum major decision value.(mm)
*/
GoFx(k64f) GoPartMatching_EllipseMajorMax(GoPartMatching matching);
/**
* Sets the ellipse match major decision minimum value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseMajorMin(GoPartMatching matching, k64f value);
/**
* Gets the minimum major decision value for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The minimum major decision value.(mm)
*/
GoFx(k64f) GoPartMatching_EllipseMajorMin(GoPartMatching matching);
/**
* Sets the ellipse match minor decision maximum value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseMinorMax(GoPartMatching matching, k64f value);
/**
* Gets the maximum minor decision value for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The maximum minor decision value.(mm)
*/
GoFx(k64f) GoPartMatching_EllipseMinorMax(GoPartMatching matching);
/**
* Sets the ellipse match minor decision minimum value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseMinorMin(GoPartMatching matching, k64f value);
/**
* Gets the minimum minor decision value for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The minimum minor decision value.(mm)
*/
GoFx(k64f) GoPartMatching_EllipseMinorMin(GoPartMatching matching);
/**
* Sets the ellipse match Z angle value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set. (degrees)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseZAngle(GoPartMatching matching, k64f value);
/**
* Gets the ellipse Z angle value for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The Z angle value.(degrees)
*/
GoFx(k64f) GoPartMatching_EllipseZAngle(GoPartMatching matching);
/**
* Sets the ellipse match decision asymmetry detection type.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.4.4.14
* @param matching GoPartMatching object.
* @param value The value to set.
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetEllipseAsymmetryDetectionType(GoPartMatching matching, GoEllipseAsymmetryType value);
/**
* Gets the asymmetry detection type for the ellipse part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.4.4.14
* @param matching GoPartMatching object.
* @return The asymmetry detection type.
*/
GoFx(GoEllipseAsymmetryType) GoPartMatching_EllipseAsymmetryDetectionType(GoPartMatching matching);
/**
* Sets the bounding box match decision maximum width value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxWidthMax(GoPartMatching matching, k64f value);
/**
* Gets the maximum width decision value for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The maximum width decision value.(mm)
*/
GoFx(k64f) GoPartMatching_BoundingBoxWidthMax(GoPartMatching matching);
/**
* Sets the bounding box match decision minimum width value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxWidthMin(GoPartMatching matching, k64f value);
/**
* Gets the minimum width decision value for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The minimum width decision value.(mm)
*/
GoFx(k64f) GoPartMatching_BoundingBoxWidthMin(GoPartMatching matching);
/**
* Sets the bounding box match decision maximum length value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxLengthMax(GoPartMatching matching, k64f value);
/**
* Gets the maximum length decision value for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The maximum length decision value.(mm)
*/
GoFx(k64f) GoPartMatching_BoundingBoxLengthMax(GoPartMatching matching);
/**
* Sets the bounding box match decision minimum length value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxLengthMin(GoPartMatching matching, k64f value);
/**
* Gets the minimum length decision value for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The minimum length decision value.(mm)
*/
GoFx(k64f) GoPartMatching_BoundingBoxLengthMin(GoPartMatching matching);
/**
* Sets the bounding box match decision Z angle value.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @param value The value to set.(mm)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxZAngle(GoPartMatching matching, k64f value);
/**
* Gets the Z angle value for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.2.4.7
* @param matching GoPartMatching object.
* @return The Z angle value.(degrees)
*/
GoFx(k64f) GoPartMatching_BoundingBoxZAngle(GoPartMatching matching);
/**
* Sets the bounding box match decision asymmetry detection type.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.4.4.14
* @param matching GoPartMatching object.
* @param value The value to set.(degrees)
* @return Operation status.
*/
GoFx(kStatus) GoPartMatching_SetBoundingBoxAsymmetryDetectionType(GoPartMatching matching, GoBoxAsymmetryType value);
/**
* Gets the asymmetry detection type for the bounding box part matching configuration.
*
* @public @memberof GoPartMatching
* @note Supported with G2, G3
* @version Introduced in firmware 4.4.4.14
* @param matching GoPartMatching object.
* @return The asymmetry detection type.
*/
GoFx(GoBoxAsymmetryType) GoPartMatching_BoundingBoxAsymmetryDetectionType(GoPartMatching matching);
#include <GoSdk/GoPartMatching.x.h>
#endif