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

297 lines
7.9 KiB
C++

/**
* @file KglDefine.h
*
* Copyright (c) 2019 Keyence Corporation.
* All rights reserved.
*
*/
#pragma once
#include <cstdint>
#ifdef KGLLIB_EXPORTS
// DLL EXPORT
#if !defined(KGLIB_STATIC) && defined(_WIN32)
#define KGLLIB_API __declspec( dllexport )
#else
#define KGLLIB_API
#endif
#else // KGLLIB_EXPORTS
// DLL IMPORT
#if !defined(KGLIB_STATIC) && defined(WIN32)
#define KGLLIB_API __declspec( dllimport )
#else
#define KGLLIB_API
#endif // PT_LIB_STATIC
#endif // KGLLIB_EXPORTS
namespace Keyence
{
//------------------------------------------------------------
/**
* \~English @brief Defines the type of an interface.
* \~Japanese @brief インターフェースの種別を定義します。
*/
enum KglInterfaceType
{
//------------------------------------------------------------
/**
* \~English @brief Unknown interface
* \~Japanese @brief 不明なインターフェース
*/
KGL_INTERFACE_UNKNOWN = 0,
//------------------------------------------------------------
/**
* \~English @brief USB interface
* \~Japanese @brief USBのインターフェース
*/
KGL_INTERFACE_USB,
//------------------------------------------------------------
/**
* \~English @brief Network interface
* \~Japanese @brief Networkのインターフェース
*/
KGL_INTERFACE_NETWORK
};
//------------------------------------------------------------
/**
* \~English @brief Defines the visibility of a feature.
* \~Japanese @brief Featureの可視性を定義します。
*/
enum KglVisibility
{
//------------------------------------------------------------
/**
* \~English @brief Basic feature for beginners
* \~Japanese @brief ビギナー向けの基本的Feature
*/
KGL_VISIBILITY_BEGINNER = 0,
//------------------------------------------------------------
/**
* \~English @brief Feature for experts
* \~Japanese @brief エキスパート向けのFeature
*/
KGL_VISIBILITY_EXPERT,
//------------------------------------------------------------
/**
* \~English @brief Feature for gurus
* \~Japanese @brief グル向けのFeature
*/
KGL_VISIBILITY_GURU,
//------------------------------------------------------------
/**
* \~English @brief Hidden feature
* \~Japanese @brief 非表示のFeature
*/
KGL_VISIBILITY_INVISIBLE,
//------------------------------------------------------------
/**
* \~English @brief Visibility not defined
* \~Japanese @brief 可視性未定義
*/
KGL_VISIBILITY_UNDEFINED
};
//------------------------------------------------------------
/**
* \~English @brief Defines the type of a feature.
* \~Japanese @brief Featureの型を定義します。
*/
enum KglFeatureType
{
//------------------------------------------------------------
/**
* \~English @brief Integer type
* \~Japanese @brief 整数型
*/
KGL_TYPE_INTEGER = 0,
//------------------------------------------------------------
/**
* \~English @brief Enum type
* \~Japanese @brief enum型
*/
KGL_TYPE_ENUM,
//------------------------------------------------------------
/**
* \~English @brief Boolean type
* \~Japanese @brief bool型
*/
KGL_TYPE_BOOLEAN,
//------------------------------------------------------------
/**
* \~English @brief String type
* \~Japanese @brief 文字列型
*/
KGL_TYPE_STRING,
//------------------------------------------------------------
/**
* \~English @brief Command type
* \~Japanese @brief コマンド型
*/
KGL_TYPE_COMMAND,
//------------------------------------------------------------
/**
* \~English @brief Floating-point type
* \~Japanese @brief 不動小数点型
*/
KGL_TYPE_FLOAT,
//------------------------------------------------------------
/**
* \~English @brief Register information
* \~Japanese @brief レジスタ情報
*/
KGL_TYPE_REGISTER,
//------------------------------------------------------------
/**
* \~English @brief Feature parameter
* \~Japanese @brief Featureパラメータ
*/
KGL_TYPE_PARAMETER,
//------------------------------------------------------------
/**
* \~English @brief Not defined
* \~Japanese @brief 未定義
*/
KGL_TYPE_UNDEFINED
};
//------------------------------------------------------------
/**
* \~English @brief Defines the namespace of a feature.
* \~Japanese @brief Featureのネームスペースを定義します。
*/
enum KglNameSpace
{
//------------------------------------------------------------
/**
* \~English @brief GenICam standard compliant.
* \~Japanese @brief GenICam規格に準拠しています。
*/
KGL_NAMESPACE_STANDARD = 0,
//------------------------------------------------------------
/**
* \~English @brief Located in a user-specific extended area.
* \~Japanese @brief 独自拡張領域に位置します。
*/
KGL_NAMESPACE_CUSTOM,
//------------------------------------------------------------
/**
* \~English @brief Not defined.
* \~Japanese @brief 未定義のネームスペースです。
*/
KGL_NAMESPACE_UNDEFINED,
};
//------------------------------------------------------------
/**
* \~English @brief Defines the access type of the camera. This value is used to determine whether it is possible to connect to the camera.
* \~Japanese @brief カメラのアクセスタイプを定義します。この値を持ってカメラへの接続が可能を判断します。
*/
enum KglAccessType
{
//------------------------------------------------------------
/**
* \~English @brief Unknown
* \~Japanese @brief 不明
*/
KGL_ACCESS_UNKNOWN = 0,
//------------------------------------------------------------
/**
* \~English @brief Accessible
* \~Japanese @brief アクセス可能
*/
KGL_ACCESS_OPEN,
//------------------------------------------------------------
/**
* \~English @brief Under control
* \~Japanese @brief 制御中
*/
KGL_ACCESS_CONTROL,
//------------------------------------------------------------
/**
* \~English @brief Exclusive access
* \~Japanese @brief 排他アクセス
*/
KGL_ACCESS_EXCLUSIVE,
//------------------------------------------------------------
/**
* \~English @brief Read only
* \~Japanese @brief リードオンリー
*/
KGL_ACCESS_READONLY,
};
//------------------------------------------------------------
/**
* \~English @brief Suggests how the UI should present a numerical feature.
* \~Japanese @brief 数値Featureの表示に適したUIの形式を提案します。
*/
enum KglRepresentation
{
//------------------------------------------------------------
/**
* \~English @brief Linear. Use a slider.
* \~Japanese @brief 比例 スライダー表示が適している。
*/
KGL_REPRESENTATION_LINEAR = 0,
//------------------------------------------------------------
/**
* \~English @brief Logarithmic. Use a slider.
* \~Japanese @brief 対数 スライダー表示が適している。
*/
KGL_REPRESENTATION_LOGARITHMIC,
//------------------------------------------------------------
/**
* \~English @brief Boolean. The number might be presented as a check box or enable.
* \~Japanese @brief ブール値 チェックボックスが適している。
*/
KGL_REPRESENTATION_BOOLEAN,
//------------------------------------------------------------
/**
* \~English @brief Pure number. Use an edit box with a decimal display.
* \~Japanese @brief 数値 小数点表示のエディットボックスが適している。
*/
KGL_REPRESENTATION_PURENUMBER,
//------------------------------------------------------------
/**
* \~English @brief Hex number. Use an edit box with a hexadecimal display.
* \~Japanese @brief 16進数 16進数表示のエディットボックスが適している。
*/
KGL_REPRESENTATION_HEXNUMBER,
//------------------------------------------------------------
/**
* \~English @brief Not defined; valid representation not provided.
* \~Japanese @brief 定義されていません。有効な表現は提供されていません。
*/
KGL_REPRESENTATION_UNDEFINED
};
}; //end of namespace Keyence