Files
2024-05-18 23:53:26 +08:00

146 lines
6.9 KiB
C++

/**
* @file KglGenFloat.h
*
* Copyright (c) 2017 Keyence Corporation.
* All rights reserved.
*
*/
#pragma once
#include <KglGenParameter.h>
namespace Keyence
{
class KglString;
//------------------------------------------------------------
/**
* \~English @brief Feature parameter class (Float).
* \~Japanese @brief Feature(Float)パラメータクラスです。
*/
class KGLLIB_API KglGenFloat : public KglGenParameter
{
public:
//------------------------------------------------------------
/**
* \~English @brief Default constructor.
* \~Japanese @brief デフォルトコンストラクタ。
*/
KglGenFloat() : KglGenParameter(){}
//------------------------------------------------------------
/**
* \~English @brief Destructor.
* \~Japanese @brief デストラクタ。
*/
virtual ~KglGenFloat(){}
//------------------------------------------------------------
/**
* \~English @brief Sets the value of a feature (Float).
* \~Japanese @brief Feature(Float)の値を設定します。
* \~English @param [in] val Feature value.
* \~Japanese @param [in] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult setValue(double val) = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the value of a feature (Float).
* \~Japanese @brief Feature(Float)の値を取得します。
* \~English @param [out] val Feature value.
* \~Japanese @param [out] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getValue(double& val) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the limits (minimum) of a feature (Float).
* \~Japanese @brief Feature(Float)の最小値を取得します。
* \~English @param [out] min Feature value.
* \~Japanese @param [out] min Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getMin(double& min) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the limits (maximum) of a feature (Float).
* \~Japanese @brief Feature(Float)の最大値を取得します。
* \~English @param [out] max Feature value.
* \~Japanese @param [out] max Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getMax(double& max) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the representation of a feature.
* \~Japanese @brief 数値表示設定に適したUI形式を取得します。
* \~English @param [out] representation representation.
* \~Japanese @param [out] representation 提案するUI形式。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getRepresentation(KglRepresentation& representation) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the unit of a feature.
* \~Japanese @brief Featureの単位を取得します。
* \~English @param [out] unit unit.
* \~Japanese @param [out] unit Featureの単位。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getUnit(KglString& unit) const = 0;
private:
KglGenFloat( const KglGenFloat & );
const KglGenFloat &operator=( const KglGenFloat & );
};
}; //end of namespace Keyence