Files
handleaiuinew/env/keyence2_5D/include/KglGenParameterArray.h
T
2024-05-18 23:53:26 +08:00

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