class
GPDSPGateNode制限ノードを表す具象クラス
Contents
GPDSPGateNode クラスは, 設定された最小値と最大値の間に入力を制限して出力する制限ノードを表す具象クラスです. 最小値が最大値よりも大きいときは, 0.0 を出力します.
1つの入力ターミナル "in" と, 1つの出力ターミナル "out" を持ちます.
番号 | 入力 | 出力 |
---|---|---|
0 | in | out |
gpdsp ファイルでの記述例
<GPDSPGateNode> <name>ノード名</name> <param> <minimum>最小値</minimum> <maximum>最大値</maximum> </param> <input> <::0> <node>in に対する入力元のノード名</node> <output>::in に対する入力元のターミナル番号</output> </::0> </input> </GPDSPGateNode>
Base classes
- class GPDSPInputtableNode
- 入力ターミナルを持つノードを表す抽象クラス
- class GPDSPOutputtableNode
- 出力ターミナルを持つノードを表す抽象クラス
Constructors, destructors, conversion operators
- GPDSPGateNode(void) explicit noexcept
- コンストラクタです.
- ~GPDSPGateNode(void) virtual noexcept
- デストラクタです.
Public functions
- void setMinimum(GPDSPFloat minimum) noexcept
- 最小値を設定します.
- GPDSPFloat getMinimum(void) const noexcept
- 最小値を取得します.
- void setMaximum(GPDSPFloat maximum) noexcept
- 最大値を設定します.
- GPDSPFloat getMaximum(void) const noexcept
- 最大値を取得します.
- GPDSPError fixate(void) virtual noexcept
- 入力ターミナルを1つと, 出力ターミナルを1つ生成します.
- void invalidate(void) virtual noexcept
- 入出力の演算結果を無効化し, 再演算を要求します.
- GPDSPError prepare(void) virtual noexcept
- 演算前の準備をします.
- GPDSPError process(void) virtual noexcept
- 演算を行います.
- int getCountI(void) const noexcept
- 入力ターミナルの個数を取得します.
- GPDSPError setNameI(int index, std::string const& what) noexcept
- 入力ターミナルの名前を設定します.
- GPDSPError getNameI(int index, std::string* what) const noexcept
- 入力ターミナルの名前を取得します.
- GPDSPError setLinkPositiveI(int index, GPDSPOutputtableNode const* from, int which) noexcept
- 入力ターミナルの非反転入力のノード接続を設定し, モードを GPDSPMODE_POSITIVE に変更します.
- GPDSPError setLinkNegativeI(int index, GPDSPOutputtableNode const* from, int which) noexcept
- 入力ターミナルの反転入力のノード接続を設定し, モードを GPDSPMODE_NEGATIVE に変更します.
- GPDSPError setLinkConstantI(int index, GPDSPFloat constant) noexcept
- 入力ターミナルの定数入力の定数値を設定し, モードを GPDSPMODE_CONSTANT に変更します.
- GPDSPError getModeI(int index, GPDSPMode* mode) const noexcept
- 入力ターミナルのモードを取得します.
- GPDSPError getLinkI(int index, GPDSPOutputtableNode const** from, int* which) const noexcept
- 入力ターミナルのモードが GPDSPMODE_POSITIVE か GPDSPMODE_NEGATIVE の場合に, ノード接続を取得します.
- GPDSPError getLinkI(int index, GPDSPFloat* constant) const noexcept
- 入力ターミナルのモードが GPDSPMODE_CONSTANT の場合に, 定数値を取得します.
- GPDSPError clearLinkI(int index) noexcept
- 入力ターミナルのノード接続と定数値を解除し, モードを GPDSPMODE_NONE に変更します.
- void clearLinkI(GPDSPMode mode) noexcept
- 入力ターミナルのノード接続と定数値を解除し, モードを GPDSPMODE_NONE に変更します.
- void clearLinkI(GPDSPOutputtableNode const* from, int which) noexcept
- 入力ターミナルのノード接続を解除し, モードを GPDSPMODE_NONE に変更します.
- void clearLinkI(GPDSPOutputtableNode const* from) noexcept
- 入力ターミナルのノード接続を解除し, モードを GPDSPMODE_NONE に変更します.
- void clearLinkI(GPDSPFloat constant) noexcept
- 入力ターミナルの定数値を解除し, モードを GPDSPMODE_NONE に変更します.
- void clearLinkI(void) noexcept
- すべての入力ターミナルのノード接続と定数値を解除し, モードを GPDSPMODE_NONE に変更します.
- GPDSPError getValueI(int index, GPDSPFloat* value) const noexcept
- 入力ターミナルの値を取得します.
- int findNameI(std::string const& what) const noexcept
- 引数に指定された名前を持つ入力ターミナルを検索します.
- int findModeI(GPDSPMode mode) const noexcept
- 引数に指定されたモードを持つ入力ターミナルを検索します.
- int findLinkI(GPDSPOutputtableNode const* from, int which) const noexcept
- 引数に指定されたノード接続を持つ入力ターミナルを検索します.
- int findLinkI(GPDSPOutputtableNode const* from) const noexcept
- 引数に指定されたノード接続を持つ入力ターミナルを検索します.
- int findLinkI(GPDSPFloat constant) const noexcept
- 引数に指定された定数値を持つ入力ターミナルを検索します.
- int getCountO(void) const noexcept
- 出力ターミナルの個数を取得します.
- GPDSPError setNameO(int index, std::string const& what) noexcept
- 出力ターミナルの名前を設定します.
- GPDSPError getNameO(int index, std::string* what) const noexcept
- 出力ターミナルの名前を取得します.
- GPDSPError getValueO(int index, GPDSPFloat* value) const noexcept
- 出力ターミナルの値を取得します.
- int findNameO(std::string const& what) const noexcept
- 引数に指定された名前を持つ出力ターミナルを検索します.
Public static functions
- static GPDSPFloat defaultMinimum(void) noexcept
- デフォルトの最小値を取得します.
- static GPDSPFloat defaultMaximum(void) noexcept
- デフォルトの最大値を取得します.
Protected functions
- GPDSPError setCountI(int count, std::string const& what) noexcept
- 入力ターミナルの個数と名前を設定します.
- GPDSPError appendI(std::string const& what) noexcept
- 引数に指定された名前を持つ入力ターミナルを追加します.
- GPDSPError insertI(int index, std::string const& what) noexcept
- 引数に指定された名前を持つ入力ターミナルを挿入します.
- GPDSPError removeI(int index) noexcept
- 入力ターミナルを削除します.
- void clearI(void) noexcept
- すべての入力ターミナルを削除します.
- GPDSPError setCountO(int count, std::string const& what) noexcept
- 出力ターミナルの個数と名前を設定します.
- GPDSPError setValueO(int index, GPDSPFloat value) noexcept
- 出力ターミナルの値を設定します.
- GPDSPError appendO(std::string const& what) noexcept
- 引数に指定された名前を持つ出力ターミナルを追加します.
- GPDSPError insertO(int index, std::string const& what) noexcept
- 引数に指定された名前を持つ出力ターミナルを挿入します.
- GPDSPError removeO(int index) noexcept
- 出力ターミナルを削除します.
- void clearO(void) noexcept
- すべての出力ターミナルを削除します.
Function documentation
ir:: GPDSPGateNode:: GPDSPGateNode(void) explicit noexcept
コンストラクタです.
最小値を defaultMinimum(), 最大値を defaultMaximum() に初期化します.
void ir:: GPDSPGateNode:: setMinimum(GPDSPFloat minimum) noexcept
最小値を設定します.
Parameters | |
---|---|
minimum in | 設定する最小値 |
void ir:: GPDSPGateNode:: setMaximum(GPDSPFloat maximum) noexcept
最大値を設定します.
Parameters | |
---|---|
maximum in | 設定する最大値 |
GPDSPError ir:: GPDSPGateNode:: fixate(void) virtual noexcept
入力ターミナルを1つと, 出力ターミナルを1つ生成します.
Returns | |
---|---|
GPDSPERROR_OK | 正常 |
GPDSPERROR_NO_MEMORY | メモリが不足している |
GPDSPError ir:: GPDSPGateNode:: prepare(void) virtual noexcept
演算前の準備をします.
何もしません.
Returns | |
---|---|
GPDSPERROR_OK | 正常 (準備を完了) |
GPDSPError ir:: GPDSPGateNode:: process(void) virtual noexcept
演算を行います.
Returns | |
---|---|
GPDSPERROR_OK | 正常 (演算を完了) |
GPDSPERROR_WAIT | データフロー入力待ち |
GPDSPERROR_INVALID_RANGE | 範囲外のパラメータ |
static GPDSPFloat ir:: GPDSPGateNode:: defaultMinimum(void) noexcept
デフォルトの最小値を取得します.
Returns | |
---|---|
-INFINITY | デフォルトの最小値 |
static GPDSPFloat ir:: GPDSPGateNode:: defaultMaximum(void) noexcept
デフォルトの最大値を取得します.
Returns | |
---|---|
+INFINITY | デフォルトの最大値 |