575 lines
32 KiB
C++
575 lines
32 KiB
C++
/**
|
|
* @file KglGenParameterArray.h
|
|
*
|
|
* Copyright (c) 2019 Keyence Corporation.
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#include <KglGenParameter.h>
|
|
#include <KglGenCategory.h>
|
|
#include <KglGenEnumEntry.h>
|
|
|
|
namespace Keyence
|
|
{
|
|
|
|
class KglString;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Provides the function to set/get the feature value. For a command-type feature, provides the function to execute the feature.
|
|
* \~Japanese @brief Feature値のset/get、もしコマンドFeatureであれば、Featureを実行する関数を提供します。
|
|
*/
|
|
class KGLLIB_API KglGenParameterArray
|
|
{
|
|
public:
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Default constructor.
|
|
* \~Japanese @brief デフォルトコンストラクタ。
|
|
*/
|
|
KglGenParameterArray();
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Destructor.
|
|
* \~Japanese @brief デストラクタ。
|
|
*/
|
|
virtual ~KglGenParameterArray();
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves whether KglGenParameterArray is empty.
|
|
* \~Japanese @brief KglGenParameterArrayが空か否かを取得します。
|
|
* \~English @retval true Empty.
|
|
* \~Japanese @retval true 空です。
|
|
* \~English @retval false Not empty.
|
|
* \~Japanese @retval false 空ではありません。
|
|
*/
|
|
virtual bool empty() const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the number of elements of a feature.
|
|
* \~Japanese @brief Featureの要素数を取得します。
|
|
* \~English @return Number of elements of the feature.
|
|
* \~Japanese @return Featureの要素数。
|
|
*/
|
|
virtual uint32_t size() const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the feature that corresponds to the specified index.
|
|
* \~Japanese @brief 指定したインデックスに対応するFeatureを取得します。
|
|
* \~English @param [in] idx idx is the position of the element to be retrieved (0 =< idx < size() )
|
|
* \~Japanese @param [in] idx 取得する要素の位置(0 =< idx < size() )
|
|
* \~English @return Element in the idx-th position (NULL for failure)
|
|
* \~Japanese @return idx番目の要素(失敗時はNULL)
|
|
*/
|
|
virtual KglGenParameter* getAt(uint32_t idx) = 0;
|
|
|
|
//-------------------------------------------------------------------------
|
|
//FeatureNodeのヘルパー関数
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves KglGenParameter.
|
|
* \~Japanese @brief KglGenParameterを取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @return KglGenParameter.
|
|
* \~Japanese @return KglGenParameter。
|
|
*/
|
|
virtual KglGenParameter* getParameter(const KglString& featureName) = 0;
|
|
|
|
//-------------------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves FeatureType.
|
|
* \~Japanese @brief FeatureTypeを取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @return KglFeatureType.
|
|
* \~Japanese @return KglFeatureType。
|
|
*/
|
|
virtual KglFeatureType getFeatureType(const KglString& featureName) = 0;
|
|
|
|
//-------------------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves category count.
|
|
* \~Japanese @brief Categotyの件数を取得します。
|
|
* \~English @return Categoty count.
|
|
* \~Japanese @return Categotyの件数。
|
|
*/
|
|
virtual uint32_t getCategoryCount() const = 0;
|
|
|
|
//-------------------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves KglGenCategory.
|
|
* \~Japanese @brief KglGenCategoryを取得します。
|
|
* \~English @param [in] idx idx is the position of the element to be retrieved (0 =< idx < getCategoryCount() )
|
|
* \~Japanese @param [in] idx 取得する要素の位置(0 =< idx < getCategoryCount() )
|
|
* \~English @return KglGenCategory.
|
|
* \~Japanese @return KglGenCategory。
|
|
*/
|
|
virtual KglGenCategory* getCategory(uint32_t idx) = 0;
|
|
|
|
//-------------------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves KglGenCategory.
|
|
* \~Japanese @brief KglGenCategoryを取得します。
|
|
* \~English @param [in] categoryName Category name.
|
|
* \~Japanese @param [in] categoryName カテゴリ名称
|
|
* \~English @return KglGenCategory.
|
|
* \~Japanese @return KglGenCategory。
|
|
*/
|
|
virtual KglGenCategory* getCategory(const KglString & categoryName) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (Integer).
|
|
* \~Japanese @brief Feature(Integer)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getIntegerValue(const KglString& featureName, int64_t& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (Integer).
|
|
* \~Japanese @brief Feature(Integer)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setIntegerValue(const KglString& featureName, const int64_t val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (Float).
|
|
* \~Japanese @brief Feature(Float)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getFloatValue(const KglString& featureName, double& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (Float).
|
|
* \~Japanese @brief Feature(Float)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setFloatValue(const KglString& featureName, const double val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (Enum).
|
|
* \~Japanese @brief Feature(Enum)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getEnumValue(const KglString& featureName, KglString& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (Enum).
|
|
* \~Japanese @brief Feature(Enum)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getEnumValue(const KglString& featureName, int64_t& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the number of features (EnumEntries).
|
|
* \~Japanese @brief Feature(EnumEntries)の数を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] entryCount Number of EnumEntries.
|
|
* \~Japanese @param [out] entryCount EnumEntriesの数。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getEnumEntriesCount(const KglString& featureName, int64_t& entryCount) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the feature (EnumEntries).
|
|
* \~Japanese @brief Feature(EnumEntries)を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] idx Index (0 <= idx < KglGenParameterArray::getEnumEntriesCount() )
|
|
* \~Japanese @param [in] idx インデックス(0 <= idx < KglGenParameterArray::getEnumEntriesCount() )
|
|
* \~English @param [out] entry EnumEntries.
|
|
* \~Japanese @param [out] entry EnumEntries。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getEnumEntry(const KglString& featureName, int64_t idx, const KglGenEnumEntry** entry) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (Enum).
|
|
* \~Japanese @brief Feature(Enum)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setEnumValue(const KglString& featureName, const KglString& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (Enum).
|
|
* \~Japanese @brief Feature(Enum)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setEnumValue(const KglString& featureName, const int64_t val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (bool).
|
|
* \~Japanese @brief Feature(bool)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getBooleanValue(const KglString& featureName, bool& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (bool).
|
|
* \~Japanese @brief Feature(bool)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setBooleanValue(const KglString& featureName, const bool val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (String).
|
|
* \~Japanese @brief Feature(String)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] val Feature value.
|
|
* \~Japanese @param [out] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getStringValue(const KglString& featureName, KglString& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (String).
|
|
* \~Japanese @brief Feature(String)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] val Feature value.
|
|
* \~Japanese @param [in] val Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setStringValue(const KglString& featureName, const KglString& val) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of a feature (Register).
|
|
* \~Japanese @brief Feature(Register)の値を取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] length Register size.
|
|
* \~Japanese @param [in] length レジスターサイズ。
|
|
* \~English @param [out] pBuffer Feature value.
|
|
* \~Japanese @param [out] pBuffer Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getRegisterValue(const KglString& featureName, int64_t length, uint8_t* pBuffer) = 0;
|
|
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the size of a feature (Register).
|
|
* \~Japanese @brief Feature(Register)のサイズを取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] length Register size.
|
|
* \~Japanese @param [out] length レジスターサイズ。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 getRegisterLength(const KglString& featureName, int64_t& length) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Sets the value of a feature (Register).
|
|
* \~Japanese @brief Feature(Register)の値を設定します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [in] length Register size.
|
|
* \~Japanese @param [in] length レジスターサイズ。
|
|
* \~English @param [in] pBuffer Feature value.
|
|
* \~Japanese @param [in] pBuffer Feature値。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 setRegisterValue(const KglString& featureName, int64_t length, const uint8_t* pBuffer) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Executes a feature (Command). To query whether the execution was successful, use isDoneCommand.
|
|
* \~Japanese @brief Feature(Command)を実行します。実行が完了したか否かはisDoneCommandを利用して問い合わせてください。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 executeCommand(const KglString& featureName) = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves whether the execution of a feature (Command) is complete.
|
|
* \~Japanese @brief Feature(Command)の実行が完了したか否かを取得します。
|
|
* \~English @param [in] featureName Feature name.
|
|
* \~Japanese @param [in] featureName Feature名称。
|
|
* \~English @param [out] isDone True is set when the execution is complete.
|
|
* \~Japanese @param [out] isDone 実行完了している場合はtrueが設定されます。
|
|
* \~English @retval KGL_ERR_INVALID_PARAMETER The argument is invalid. (Example: Empty feature name)
|
|
* \~Japanese @retval KGL_ERR_INVALID_PARAMETER 引数が不正です。(例:空のFeature名称)
|
|
* \~English @retval KGL_DEVICE_NOT_CONNECT Not connected to the camera.
|
|
* \~Japanese @retval KGL_DEVICE_NOT_CONNECT カメラと接続されていません。
|
|
* \~English @retval KGL_TYPE_COMPATIBILITY_ERROR The types do not match.
|
|
* \~Japanese @retval KGL_TYPE_COMPATIBILITY_ERROR 型が合いません。
|
|
* \~English @retval KGL_NOT_FOUND The specified feature cannot be found.
|
|
* \~Japanese @retval KGL_NOT_FOUND 指定されたFeatureが見つかりません。
|
|
* \~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 isDoneCommand(const KglString& featureName, bool& isDone) = 0;
|
|
|
|
private:
|
|
KglGenParameterArray(const KglGenParameterArray& rhs);
|
|
KglGenParameterArray& operator=(const KglGenParameterArray& rhs);
|
|
};
|
|
|
|
}; //end of namespace Keyence
|