ir::GPDSPGenerativeOutputNode class

外部出力ノードを表す具象クラス

GPDSPGenerativeOutputNode クラスは, 出力ターミナルではなく getValueI() 関数を利用して, 外部へ出力を書き込むための外部出力ノードを表す具象クラスです.

GPDSPGenerativeNode クラスとともに利用します.

1つの入力ターミナル "in" を持ち, 出力ターミナルは持ちません.

番号入力出力
0in-

gpdsp ファイルでの記述例

<GPDSPGenerativeOutputNode>
    <name>公開する出力ターミナル名</name>
    <param>
        <index>公開する出力ターミナル番号</index>
    </param>
    <input>
        <::0>
            <node>in に対する入力元のノード名</node>
            <output>::in に対する入力元のターミナル番号</output>
        </::0>
    </input>
</GPDSPGenerativeOutputNode>

Base classes

class GPDSPInputtableNode
入力ターミナルを持つノードを表す抽象クラス

Constructors, destructors, conversion operators

GPDSPGenerativeOutputNode(int index) explicit noexcept
コンストラクタです.
~GPDSPGenerativeOutputNode(void) virtual noexcept
デストラクタです.

Public functions

int getIndex(void) const noexcept
公開する出力ターミナル番号を取得します.
GPDSPError fixate(void) virtual noexcept
入力ターミナルを1つ生成します.
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_POSITIVEGPDSPMODE_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
引数に指定された定数値を持つ入力ターミナルを検索します.
void invalidate(void) virtual 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
すべての入力ターミナルを削除します.

Function documentation

ir::GPDSPGenerativeOutputNode::GPDSPGenerativeOutputNode(int index) explicit noexcept

コンストラクタです.

リソースを初期化します.

Parameters
index in 公開する出力ターミナル番号

ir::GPDSPGenerativeOutputNode::~GPDSPGenerativeOutputNode(void) virtual noexcept

デストラクタです.

何もしません.

int ir::GPDSPGenerativeOutputNode::getIndex(void) const noexcept

公開する出力ターミナル番号を取得します.

Returns 現在の公開する出力ターミナル番号

GPDSPError ir::GPDSPGenerativeOutputNode::fixate(void) virtual noexcept

入力ターミナルを1つ生成します.

Returns
GPDSPERROR_OK 正常
GPDSPERROR_NO_MEMORY メモリが不足している

GPDSPError ir::GPDSPGenerativeOutputNode::prepare(void) virtual noexcept

演算前の準備をします.

何もしません.

Returns
GPDSPERROR_OK 正常 (準備を完了)

GPDSPError ir::GPDSPGenerativeOutputNode::process(void) virtual noexcept

演算を行います.

何もしません.

Returns
GPDSPERROR_IGNORE 演算対象外として無視