297 lines
7.9 KiB
C++
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
|