カテゴリ単位のID付けされた入力情報を提供するクラス。
[詳解]
#include <InputUnit.h>
カテゴリ単位のID付けされた入力情報を提供するクラス。
- 参照
- Input, Player
このクラスのインスタンスをアプリ側で直接生成することはできない。 Input クラスのメンバ関数 Input::getSystem および Input::getPlayer から取得すること。
入力識別ID値は文字列から作成できる。 アプリ実装においては、定数を定義してそれを用いることを推奨する。
有効な入力識別IDそのものはDaemonプロセスの設定ファイルで定義する。
スイッチ入力は SwitchInput クラス、アナログ入力は AnalogInput クラスで それぞれラップして入力値を取得することを推奨する。 メンバ関数 getSwitch および getAnalog で各ラッパを取得できる。
amdaemon::InputUnit::InputUnit |
( |
InnerIndexHolder |
| ) |
|
|
explicit |
コンストラクタ。
- 覚え書き
- アプリ側からは利用できない。
bool amdaemon::InputUnit::exists |
( |
const InputId & |
id | ) |
const |
指定した識別IDの入力が存在するか否かを取得する。
- 引数
-
- 戻り値
-
true | 存在する場合。 |
false | 存在しない場合。 |
std::int64_t amdaemon::InputUnit::getValue |
( |
const InputId & |
id | ) |
const |
入力値を取得する。
- 引数
-
- 戻り値
- 入力値。入力元デバイスにより値の意味は異なる。
- 例外
-
- PushSwitchおよびI/Oボードスイッチ入力の場合、 ON状態ならば 1 、OFF状態ならば 0 を返す。
- I/Oボードアナログ入力の場合、有効ビット数分になるよう直値を右シフトした値を返す。 値の最小値は 1 となる。
- I/Oボードロータリ入力の場合、前フレームとの差分値を返す。 値の範囲は -32768 以上 +32768 以下となる。
std::int64_t amdaemon::InputUnit::getDelta |
( |
const InputId & |
id | ) |
const |
前フレームとの入力値の差分値を取得する。
- 引数
-
- 戻り値
- 前フレームとの入力値の差分値。
- 例外
-
入力値がどのような意味を持っていようと関係なく一律で 前フレームの入力値と現在フレームの入力値との差分値を返す。
std::int64_t amdaemon::InputUnit::getMinValue |
( |
const InputId & |
id | ) |
const |
入力値の取りうる最小値を取得する。
- 引数
-
- 戻り値
- 入力値の取りうる最小値。
- 例外
-
std::int64_t amdaemon::InputUnit::getMaxValue |
( |
const InputId & |
id | ) |
const |
入力値の取りうる最大値を取得する。
- 引数
-
- 戻り値
- 入力値の取りうる最大値。
- 例外
-
std::int64_t amdaemon::InputUnit::getDirectValue |
( |
const InputId & |
id | ) |
const |
入力の直値を取得する。
- 引数
-
- 戻り値
- 入力の直値。入力元デバイスにより値の意味は異なる。
- 例外
-
ゲームテストモード等で直値の表示が必要となる場合に用いる。 通常はこちらではなくメンバ関数 getValue を用いること。
- I/Oボードアナログ入力の場合、 0 以上 UINT16_MAX 以下の直値を返す。
- I/Oボードロータリ入力の場合、 0 以上 UINT16_MAX 以下の直値を返す。
- 上記以外の入力の場合、メンバ関数 getValue と同じ値を返す。
スイッチ入力ラッパを取得する。
- 引数
-
- 戻り値
- スイッチ入力ラッパ。
引数 id に存在しない入力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 SwitchInput::exists は false を返す。
AnalogInput amdaemon::InputUnit::getAnalog |
( |
const InputId & |
id, |
|
|
double |
minValue, |
|
|
double |
maxValue |
|
) |
| const |
|
inline |
アナログ入力ラッパを取得する。
- 引数
-
[in] | id | 入力識別ID。 |
[in] | minValue | 最小値を線形変換した時の値。 |
[in] | maxValue | 最大値を線形変換した時の値。 |
- 戻り値
- アナログ入力ラッパ。
- 例外
-
Exception | 引数 minValue または maxValue に非数値(NAN等)を指定した場合。 |
引数 id に存在しない入力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 AnalogInput::exists は false を返す。
AnalogInput amdaemon::InputUnit::getAnalog |
( |
const InputId & |
id, |
|
|
double |
maxValue = 1 |
|
) |
| const |
|
inline |
アナログ入力ラッパを取得する。
- 引数
-
[in] | id | 入力識別ID。 |
[in] | maxValue | 最大値を線形変換した時の値。既定値は 1.0 。 |
- 戻り値
- アナログ入力ラッパ。
- 例外
-
最小値を線形変換した時の値は 0.0 となる。
引数 id に存在しない入力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 AnalogInput::exists は false を返す。
このクラス詳解は次のファイルから抽出されました: