Canvas Core API¶
Canvas Core API は Canvas を扱うための最低レベルのインタフェースです。このAPIはビジュアルプログラミングインタフェースから使われることを意図しますが、スクリプトから直接作動させることも可能です。
Canvas Core API の使用するオブジェクトは通常、 DFG
で始まります。(歴史的経緯によります)そのようなわけで、文書内 Canvas を “the DFG” と指す箇所があります。
Canvas Core API の公開するメインのクラス:
FabricCore::DFGHost
: 複数の、Canvas 実行コード、バインディング間で共有する全てのオブジェクトを管理します。undo/redo スタックや、プリセットツリー、新しいバインディングの作成インタフェースなどです。FabricCore::DFGBinding
: 実行可能なバインディングです。引数の集まりと実際にCanvas内で行う計算処理へのインタフェースです。バインドされる実行コードはサブグラフを伴う非常に複雑なグラフ1個でもよいが、基本的にはすべての演算はそれぞれのバインディングレベルで行われます。FabricCore::DFGExec
: Canvasの実行コードです。ノードからなるグラフであったり、KL関数であった理します。
これらのオブジェクトの API については詳細を後述します。
Canvas Core API と Python¶
Canvas Core API は全て Python の FabricEngine.Core モジュールを通じて利用可能です。呼び出しはCAPI 呼び出しと完全に 1対1対応しています。Canvas Core へ Python API からアクセスするには $FABRIC_DIR/Test/Core/Canvas
の単体テストのファイルを参照し用例を確認してください。
Canvas Core API Enums¶
enum FabricCore::DFGPortType
Canvas のポートの型. 次のどれか:
DFGPortType_In
DFGPortType_IO
DFGPortType_Out
FabricCore::DFGExecType
Canvas 内の実行コードの型, 次のいずれか:
DFGExecType_Graph
DFGExecType_Func
FabricCore::DFGNodeType
Canvas グラフに存在するノードの型, 次のいずれか:
DFGNodeType_Inst
- 実行されるモノのインスタンスDFGNodeType_Get
- 変数取得ノードDFGNodeType_Set
- 変数設定ノードDFGNodeType_Var
- 変数定義ノードDFGNodeType_User
- ユーザノード
Canvas Core API クラス¶
-
class
FabricCore::
DFGExec
: public FabricCore::Ref¶ -
DFGExec
()¶
-
~DFGExec
()¶
-
DFGExecType
getType
() const¶ 実行コードの型を返す
FabricCore::DFGExecType_Graph
かFabricCore::DFGExecType_Func
のどちらか戻り値: 実行コードの型
-
DFGNodeType
getNodeType
(char const *nodePath) const¶ グラフ中のノードの型を返す, ノードの型については
DFGNodeType
パラメータ: nodeName – グラフ中のノードの名前 戻り値: ノードの型
-
DFGHost
getHost
() const¶ 実行コードが属するホストを返す
戻り値: FabricCore::DFGHost
-
String
getExecPath
() const¶ Returns the canonical rooted path of the executable.
-
DFGExec
getSubExec
(char const *execPath) const¶ ある実行コードパスのサブ実行コードを戻す。サブ実行コードとは,”node.subnode.subnode” 形式のパスにより参照される。このパスは,パスのどの構成要素も実行コードが含むグラフ中のあるノードを示す。
パラメータ: execPath – サブ実行コード(sub-executable)のパス 戻り値: サブ実行コード(sub-executable)
-
String
getErrors
(bool recursive, bool connectedOnly) const¶ 実行コードのエラーを戻す(JSON文字列配列)
-
String
getErrors
(bool recursive) const¶ 実行コードのエラーを戻す(JSON文字列配列)
-
String
getErrors
(bool recursive, bool connectedOnly) const¶ 実行コードのエラーを戻す(JSON文字列配列)
-
String
getErrors
(bool recursive) const¶ 実行コードのエラーを戻す(JSON文字列配列)
-
String
getLoadDiags
() const¶ バインディングの負荷診断(load diagnostic)を戻す(JSON オブジェクト配列)
-
String
getExtDeps
() const¶ 「実行コードのエクステンション依存概要」をJSON形式で取得
戻り値: JSON形式の実行コードのエクステンション依存概要
-
unsigned
getExtDepCount
() const¶ 実行コードの「エクステンション依存の数」を取得. エクステンション依存情報にはインデックスによりアクセス可能;
FabricCore::DFGExec::getExtDepName()
,FabricCore::DFGExec::getExtDepVersion()
も参照戻り値: エクステンション依存の数
-
char const *
getExtDepName
(unsigned index) const¶ 指定したインデックス番目の「エクステンション依存の名前」を取得. エクステンション依存情報にはインデックスによりアクセス可能;
FabricCore::DFGExec::getExtDepCount()
,FabricCore::DFGExec::getExtDepVersion()
も参照パラメータ: index – エクステンション依存のインデックス 戻り値: エクステンションの名前
-
String
getExtDepVersion
(unsigned index) const¶ 指定したインデックス番目の「エクステンション依存のバージョン指定」を取得. エクステンション依存情報にはインデックスによりアクセス可能;
FabricCore::DFGExec::getExtDepCount()
,FabricCore::DFGExec::getExtDepName()
も参照パラメータ: index – エクステンション依存のインデックス 戻り値: エクステンションのバージョン情報名
-
bool
haveExecPort
(char const *portName) const¶ 実行コードが、「指定した名前のポートを持つか」どうか問合せ
パラメータ: portName – 問い合せる名前 戻り値: 問合せた名前が存在する場合 true, 存在しない場合 false
-
unsigned
getExecPortCount
() const¶ 実行コード上の「ポートの数」を取得
戻り値: 実行コードじょうのポートの数
-
unsigned
getExecFixedPortCount
() const¶ Get the number of ExecFixedPorts on the executable.
戻り値: The number of ExecFixedPorts on the executable
-
unsigned
getExecBlockCount
() const¶ Get the number of blocks on the executable.
戻り値: 実行コードじょうのポートの数
-
char const *
getExecBlockName
(unsigned index) const¶ Get the name of the executable block at the given index.
パラメータ: index – ポートのインデックス 戻り値: ポートの名前
-
unsigned
getNodeCount
() const¶ 「グラフ中のノードの数」を取得. 実行コードがグラフでない場合例外が発生.
戻り値: グラフ中のノードの数
-
char const *
getNodeName
(unsigned index) const¶ 指定したインデックス番目のノード名を取得. 実行コードがグラフでない場合例外が発生.
パラメータ: index – ノードのインデックス 戻り値: グラフ中のノードの数
-
DFGNodeType
getNodeType
(unsigned index) const¶ 指定したインデックス番目のノードの型を取得. 実行コードがグラフでない場合例外が発生. ノードの型についての情報は
DFGNodeType
を参照.パラメータ: index – ノードのインデックス 戻り値: ノードの型
-
DFGExec
getInstExec
(unsigned index) const¶ 指定したインデックス番目のノードのインスタンスである実行コードのハンドラを取得. 実行コードがグラフ,あるいはノードでない場合例外が発生.
パラメータ: index – インスタンスノードのインデックス 戻り値: インスタンスノードがその実行コードのインスタンスであるような実行コード
-
String
getDesc
()¶ 実行コードの説明(description)を取得。JSON書式でデバッグに有用。ただし, インスタンスの永続化の目的で使用してはならない,
FabricCore::DFGExec::exportJSON()
を用いること戻り値: JSON書式の実行コードの説明
-
String
getExecPortDesc
(char const *execPortName)¶ 実行コードのポートの説明(description)を取得。JSON書式でデバッグに有用
パラメータ: execPortName – 実行コードのポートの名前 戻り値: JSON書式のポートの説明
-
String
getNodeDesc
(char const *nodeName)¶ 実行コードのノードの説明(description)を取得。JSON書式でデバッグに有用
パラメータ: nodeName – グラフのノードの名前 戻り値: JSON書式のノードの説明
-
String
getNodePortDesc
(char const *nodePortPath)¶ 実行コード中のポートの説明(description)を取得。path は “nodeName.portName” 形式でなければならない。説明はJSON書式でデバッグに有用
パラメータ: nodeName – グラフ中のノードのポートの path 戻り値: JSON書式のポートの説明
-
bool
isExecPortResolvedType
(unsigned index, char const *typeName)¶ 実行コード中のポートの <解決された型> が, 与えた型(もしくはその型へのエイリアス)と一致するかどうか
パラメータ: - index – 実行コードのポートのインデックス
- typeName – 型の名前
戻り値: ポートの解決済の型が,与えた型かどうか
-
char const *
getExecPortResolvedType
(unsigned index)¶ <実行コード中の指定したインデックス番目のポート>の解決された型を取得
注釈
解決された型のエイリアスを戻すことがあリ, 通常,型チェックへの使用には不適。例: この関数はグラフがどのように作成されたかによってInteger
あるいはSInt32
どちらかを返す。パラメータ: index – 実行コードのポートのインデックス 戻り値: ポートの解決された型
-
char const *
getPortResolvedType
(char const *path)¶ Get the resolved type of the port in the executable with a given path.
注釈
解決された型のエイリアスを戻すことがあリ, 通常,型チェックへの使用には不適。例: この関数はグラフがどのように作成されたかによってInteger
あるいはSInt32
どちらかを返す。パラメータ: path – The path to a port in the executable 戻り値: ポートの解決された型
-
char const *
getExecPortResolvedType
(char const *path)¶ An alias for getPortResolvedType for backwards compatibility.
-
char const *
getNodePortResolvedType
(char const *path)¶ An alias for getPortResolvedType for backwards compatibility.
-
String
exportJSON
()¶ 実行コードの,JSONでの表現を作成する。このJSONを
FabricCore::DFGExec::addInstFromJSON()
に与え,同内容の新規の実行コードの作成することができる戻り値: グラフのJSONでの表現
-
char const *
addInstFromPreset
(char const *presetFilePath, char const *desiredName = 0)¶ グラフに新規インスタンスノードを作成, 与えたパスのプリセットのインスタンスのノード。パスにプリセットが無い場合,あるいはグラフ中に実行コードない場合,例外を投げる。作成する新規ノードの名前はプリセットの名前から引き継ぐ, ただしグラフ中ユニークなものへと変換される。
パラメータ: presetFilePath – プリセットツリー上のプリセットパス 戻り値: 作成したノードの名前
-
char const *
addInstWithNewGraph
(char const *title = 0)¶ グラフ中に新規インスタンスノードを作成, ノードは新規(つまり空)のグラフのインスタンス。任意に新規グラフのタイトルを指定可能; 指定した場合,新規ノードの名前はグラフのタイトルを引き継ぐ
パラメータ: title – (任意) 作成するグラフのタイトル 戻り値: 作成したノードの名前
-
char const *
addInstWithNewFunc
(char const *title = 0)¶ グラフ中に新規ノードを作成, ノードは新規(つまり空)関数のインスタンス。任意に新規関数のタイトルを指定可能。 指定した場合, 新規ノードの名前はその関数のタイトルを引き継ぐ
パラメータ: title – (任意) 作成する関数のタイトル 戻り値: 作成したノードの名前
-
char const *
addInstFromJSON
(char const *json)¶ グラフ中に新規ノードを作成, ノードは
FabricCore::DFGExec::exportJSON()
により取得するJSONによって記述された,実行コードの新規インスタンス。ノードの名前はその実行コードのタイトルを引き継ぐパラメータ: json – 実行コードのJSON description 戻り値: 作成したノードの名前
-
char const *
addVar
(char const *desiredName, char const *dataType, char const *extDep = 0)¶ グラフ中に新規の変数宣言ノードを作成, 型(必須)と依存エクステンション(任意)を指定する。ノードの実際の名前は
desiredName
パラメータより引き継ぐパラメータ: - desiredName – 変数のグラフ中での希望名
- dataType – 変数のKLデータ型
- extDep – (任意) 指定した型の依存するエクステンション
{ExtensionName}:{VersionSpec}
形式
戻り値: 作成された変数宣言ノードの実際の名前
-
char const *
addGet
(char const *desiredName, char const *varPath)¶ グラフ中に変数取得ノードを新規作成
パラメータ: - desiredName – 変数取得ノードのグラフ中での希望名
- varPath – 変数へのパス。変数パスは “namespacing” 規則に従い, 該当するものをまずはじめにカレントグラフを検索, つづいて該当するものが見つかるまで一段階親のグラフの検索し続ける
戻り値: 作成された変数取得ノードの実際の名前
-
char const *
addSet
(char const *desiredName, char const *varPath)¶ グラフ中に変数設定ノードを新規作成
パラメータ: - desiredName – 変数取得ノードのグラフ中での希望名
- varPath – 変数へのパス。変数パスは “namespacing” 規則に従い, 該当するものをまずはじめにカレントグラフを検索, つづいて該当するものが見つかるまで一段階親のグラフの検索し続ける
戻り値: 作成された変数設定ノードの実際の名前
-
bool
hasVar
(char const *name)¶ Returns true if a variable with a given name exists.
パラメータ: name – The name of the variable within the graph 戻り値: True if the variable exists
-
char const *
getVarType
(char const *name)¶ Get the current KL type name of a variable within the graph.
パラメータ: name – The name of the variable within the graph 戻り値: The current KL type name of the variable
-
RTVal
getVarValue
(char const *name)¶ グラフ中の変数の現在値を取得
パラメータ: name – 取得する変数のグラフ中での名前 戻り値: 変数の RTVal としての現在値(現在値が存在しない場合 null RTVal)
-
void
setVarValue
(char const *name, RTVal value)¶ グラフ中の変数の現在値を設定
パラメータ: - name – 取得する変数のグラフ中での名前
- value – 変数の新しい値
-
char const *
getRefVarPath
(char const *name)¶ 与えた変数参照ノード(get, setノード)と紐付いた変数パスを取得
パラメータ: name – 変数参照ノードの名前 戻り値: ノードの現在の変数パス
-
void
setRefVarPath
(char const *name, char const *varPath)¶ 与えた変数参照ノード(get, setノード)と紐付いた変数パスを設定
パラメータ: - name – 変数参照ノードの名前
- varPath – 設定する新規変数パス
-
char const *
addUser
(char const *desiredName)¶ グラフ中にユーザノードを新規作成
パラメータ: desiredName – ユーザノードのグラフ中での希望名 戻り値: 作成されたユーザノードの実際の名前
-
void
addExtDep
(char const *extName, char const *versionRange = "")¶ 実行コードにエクステンション依存を追加
パラメータ: - extName – エクステンションの名前
- versionRange – (任意) エクステンションのバージョン範囲
-
void
setExtDeps
(uint32_t nameAndVerCount, char const **nameAndVers)¶ 実行コードの現在のエクステンション依存を新しいもので上書き
パラメータ: - nameAndVerCount – エクステンション依存の新しい数
- nameAndVers – あたらしいエクステンション依存(複数可)。いずれも
{ExtensionName}:{VersionRange}
形式の文字列
-
void
removeExtDep
(char const *extName)¶ 与えた名前のエクステンションを,エクステンション依存から削除
パラメータ: extName – エクステンションの名前
-
char const *
addExecPort
(char const *desiredName, FEC_DFGPortType portType, char const *typeSpec = 0)¶ 実行コードにポートを新規追加
パラメータ: - desiredName – あたらしいポートの希望名
- portType – ポートのタイプ,
DFGPortType
のどれか - typeSpec – ポートの型指定(例
Float32
or$TYPE$
)この型指定は関数のみで機能する, グラフでは機能しない
戻り値: あたらしいポートの実際の名前
-
char const *
addExecBlock
(char const *desiredName)¶ Add a new block to the executable.
パラメータ: desiredName – The desired name for the new block 戻り値: The actual name of the new block
-
bool
isInstExec
()¶ Returns whether the exec is the implementation of an inst.
-
unsigned
getInstBlockCount
(char const *instName)¶ Returns the number of InstBlocks below an Inst.
-
bool
isInstBlock
(char const *path)¶ Returns whether the item is an inst block.
-
bool
isInstBlock
(char const *instName, char const *childName)¶ Returns whether the the child below the Inst is an InstBlock (as opposed to a port).
-
bool
isInstBlockExec
()¶ Returns whether the exec is the implementation of an inst block.
-
bool
isExecBlock
(char const *name)¶ Returns whether the given name in an exec is an exec block.
-
char const *
addExecBlockPort
(char const *blockName, char const *desiredPortName, FEC_DFGPortType portType, char const *typeSpec = 0)¶ Add a new port to the executable block.
パラメータ: - blockName – The name of the executable block
- desiredPortName – あたらしいポートの希望名
- portType – ポートのタイプ,
DFGPortType
のどれか - typeSpec – ポートの型指定(例
Float32
or$TYPE$
)この型指定は関数のみで機能する, グラフでは機能しない
戻り値: あたらしいポートの実際の名前
-
DFGExec
getInstBlockExec
(char const *instName, char const *blockName) const¶ Returns the sub-executable associated with an instance block.
パラメータ: - instName – The name of the instance
- blockName – The name of the block within the instance
戻り値: サブ実行コード(sub-executable)
-
unsigned
getInstBlockPortCount
(char const *instName, char const *blockName) const¶ Returns the number of ports on an inst block.
パラメータ: - instName – The name of the instance
- blockName – The name of the block within the instance
-
char const *
getInstBlockPortName
(char const *instName, char const *blockName, unsigned portIndex) const¶ Returns the name of the give inst block port.
パラメータ: - instName – The name of the instance
- blockName – The name of the block within the instance
- portIndex – The index of the port withing the inst block
-
void
reorderPorts
(char const *itemPath, unsigned newIndCount, unsigned const *newInds)¶ Reorder the ports of the item (Exec or ExecBlock). Takes an array of integers for which the element at index oldIndex is the newIndex for the existing port.
パラメータ: - itemPath – The path to the item.
- newIndCount – インデックスマップの要素の数, ポートの数と同数である必要がある
- newInds – インデックスの要素
-
void
reorderExecPorts
(unsigned newIndCount, unsigned const *newInds)¶ Reorder the ExecPorts of the Exec. Takes an array of integers for which the element at index oldIndex is the newIndex for the existing port.
パラメータ: - newIndCount – インデックスマップの要素の数, ポートの数と同数である必要がある
- newInds – インデックスの要素
-
bool
isConnectedTo
(char const *srcPortPath, char const *dstPortPath) const¶ 接続元ポートが宛先ポートへ接続されているかどうかの問い合わせ。ポートはノードポート,実行ポートどちらでも構わない。ノードポートは “nodeName.portName” 形式のパスで表されるもの, 実行ポートは “portName” 形式のパスで表されるもの
パラメータ: - srcPortPath – 接続を確認する, 接続元ポート
- dstPortPath – 接続を確認する, 宛先ポート
-
bool
hasSrcPorts
(char const *portPath) const¶ 指定したポートが他のポート一つと接続しているかの問い合わせ
パラメータ: portPath – チェックするポート
-
bool
hasDstPorts
(char const *portPath) const¶ 与えたポートが他のポートと一つ以上の接続しているかどうか問い合わせ
パラメータ: portPath – チェックするポート
-
String
canConnectTo
(char const *srcPortPath, char const *dstPortPath, char const *separator) const¶ 与えたポートが, 他のポートと接続可能であるか問い合わせ。可能であれば空の文字列を戻す。不可能であれば, 仮に接続した場合に生じるエラーを,指定の分割文字列で分割されたのエラーのリストを戻す
パラメータ: - srcPortPath – 接続チェックをおこなう接続元ポート
- dstPortPath – 接続チェックをおこなう宛先ポート
- separator – エラーリストの分割文字列
-
void
connectTo
(char const *srcPortPath, char const *dstPortPath)¶ グラフ中の2つのポートを接続
パラメータ: - srcPortPath – 接続元ポート
- dstPortPath – 接続する宛先ポート
-
void
disconnectFrom
(char const *srcPortPath, char const *dstPortPath)¶ グラフ中の2つのポートの接続を解除
パラメータ: - srcPortPath – 解除する接続元ポート
- dstPortPath – 解除する宛先ポート
-
void
disconnectFromAll
(char const *portPath)¶ 与えたポートの接続を全て解除
パラメータ: portPath – 解除するポート
-
char const *
attachPresetFile
(char const *parentPresetDirPath, char const *desiredName, bool replaceExisting)¶ 実行コードをプリセットとして, プリセットツリーの指定した場所に付け加える
パラメータ: - parentPresetDirPath – プリセットを付け加える,プリセットツリーのディレクトリパス
- desiredName – プリセットディレクトリ中でのプリセットの希望名
- replaceExisting – true の場合, 希望名をすでに使用したプリセットがあればそれを上書きする。false の場合あたらしいユニーク名を生成しそれを使用する
戻り値: プリセットディレクリ中でのプリセットの実際の名前
-
char const *
renamePort
(char const *portPath, char const *desiredNewPortName)¶ 実行コードのポートをリネーム
パラメータ: - portPath – The current path to the port (exec, node, exec block or instance block)
- desiredNewPortName – ポートのあたらしい希望名
戻り値: ポートの実際のあたらしい名前
-
char const *
renameExecPort
(char const *oldName, char const *desiredNewName)¶ An alias for renamePort.
-
char const *
renameItem
(char const *oldName, char const *desiredNewName)¶ Rename an item of the executable.
パラメータ: - oldName – ノードの古い名前
- desiredNewName – ノードのあたらしい希望名
戻り値: ノードの実際のあたらしい名前
-
char const *
renameNode
(char const *oldName, char const *desiredNewName)¶ An alias for renameItem
-
char const *
getTitle
()¶ 実行コードのタイトルを取得
戻り値: 実行コードのタイトル
-
void
setTitle
(char const *title)¶ 実行コードのタイトルを設定
パラメータ: title – 実行コードのあたらしいタイトル
-
void
setVersion
(char const *version)¶ 実行コードのバージョンを設定; プリセットをバージョン要件を用い参照する際に使用
パラメータ: version – 実行コードのあたらしいバージョン(”X.Y.Z” 形式)
-
char const *
getInstTitle
(unsigned index)¶ 指定したノードインデックスの, インスタンスノードのタイトルを取得
パラメータ: index – インスタンスノードのインデックス 戻り値: インスタンスノードのタイトル
-
char const *
getInstTitle
(char const *nodeName)¶ 指定した名前のインスタンスノードのタイトルを取得
パラメータ: nodeName – インスタンスノードの名前 戻り値: インスタンスノードのタイトル
-
void
setInstTitle
(unsigned index, char const *title)¶ 指定したインデックス番目のインスタンスノードのタイトルを設定。タイトルに空を渡すと, インスタンス元の実行コードのタイトルを採用
パラメータ: - index – インスタンスノードのインデックス
- title – インスタンスノードのあたらしいタイトル
-
void
setInstTitle
(unsigned index, char const *title)¶ 指定した名前のインスタンスノードのタイトルを設定。タイトルに空を渡すと, インスタンス元の実行コードのタイトルを採用
パラメータ: - nodeName – インスタンスノードの名前
- title – インスタンスノードのあたらしいタイトル
-
DFGPortType
getPortType
(char const *path)¶ Get the port type of a port in the executable.
The port type is the type of the port for connection within the graph. This is the inverse of the executable port type for an executable port; for example, if you have an ‘In’ executable port on a graph, this has a node port type of ‘Out’ because it acts like an ‘Out’ port within the graph, ie. it connects to other ‘In’ and ‘IO’ ports.
パラメータ: path – ポートのパス 戻り値: そのポートの <ノードポートタイプ>
-
DFGPortType
getNodePortType
(char const *path)¶ An alias of getPortType for backwards compatibility.
-
DFGPortType
getOutsidePortType
(char const *portPath)¶ Returns the outside port type for an ExecPort, ExecBlockPort or ExecFixedPort. This is the inverse of the port type; see comments in getPortType.
パラメータ: portPath – The path to the port. 戻り値: The outside port type of the port.
-
DFGPortType
getExecPortType
(char const *name)¶ An alias for getOutsidePortType().
-
DFGPortType
getExecPortType
(unsigned index)¶ Get the executable port type of the port of the executable at the given index. This is the inverse of the port type; see comments in getPortType.
パラメータ: index – 実行コードポートのインデックス 戻り値: そのポートの<実行コードポートタイプ>
-
DFGPortType
getExecFixedPortType
(unsigned index)¶ Get the executable port type of the ExecFixedPort of the executable at the given index. This is the inverse of the port type; see comments in getPortType.
パラメータ: index – The index of the ExecFixedPort 戻り値: そのポートの<実行コードポートタイプ>
-
void
setOutsidePortType
(char const *portPath, DFGPortType portType)¶ Set the outside port type of an ExecPort or ExecBlockPort.
パラメータ: - portPath – The path to the ExecPort or ExecBlockPort.
- portType – The new outside port type for the port.
-
void
setExecPortType
(char const *portName, DFGPortType portType)¶ An alias for setOutsidePortType(portName, portType).
-
char const *
getCode
()¶ 関数実行コードのKLコードを取得。実行コードが関数実行コードではない場合, 例外を投げる
戻り値: 関数実行コードの KLコード
-
void
setCode
(char const *code)¶ 関数実行コードへKLコードを設定。実行コードが関数実行コードではない場合, 例外を投げる
パラメータ: code – 関数実行コードの あたらしいKLコード
-
char const *
getMetadata
(char const *key) const¶ 与えたキーの実行コードのメタデータを取得
パラメータ: key – メタデータのキー 戻り値: キーに対応したメタデータ, 対応するデータが存在しない場合空の文字列
-
char const *
getPortMetadata
(char const *portPath, char const *key)¶ 与えたキーに対応するポートのメタデータを取得
パラメータ: - portPath – The portPath to the port
- key – メタデータのキー
戻り値: キーに対応したメタデータ, 対応するデータが存在しない場合空の文字列
-
char const *
getExecPortMetadata
(char const *path, char const *key)¶ An alias for getPortMetadata for backwards compatibility.
-
char const *
getPortModelMetadata
(char const *portPath, char const *key)¶ For a port that is an instance of another port, get the metadata associated with that other port.
パラメータ: - portPath – The portPath to the port
- key – メタデータのキー
戻り値: キーに対応したメタデータ, 対応するデータが存在しない場合空の文字列
-
char const *
getItemMetadata
(char const *itemName, char const *key)¶ Gets the metadata for an item (node, exec block, exec port) for the given key.
パラメータ: - itemName – ノードの名前
- key – メタデータのキー
戻り値: キーに対応したメタデータ, 対応するデータが存在しない場合空の文字列
-
char const *
getNodeMetadata
(char const *nodeName, char const *key)¶ An alias for getItemMetadata.
-
char const *
getNodePortMetadata
(char const *path, char const *key)¶ An alias for getPortMetadata for backwards compatibility.
-
void
setMetadata
(char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ 与えたキーに対応する実行コードのメタデータを設定
パラメータ: - key – メタデータのキー
- value – メタデータの値
- canUndo – アクションが undo可能 であるかどうか
- shouldSplitFromPreset – 実行コードがプリセットのインスタンスである場合, メタデータの変更がプリセットの split を伴うかどうか
-
void
setExecBlockPortMetadata
(char const *blockName, char const *portName, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ 与えた名前のに対応する実行コードポートのメタデータを設定
パラメータ: - blockName – The name of the block
- portName – The name of the block port
- key – メタデータのキー
- value – メタデータの値
- canUndo – アクションが undo可能 であるかどうか
- shouldSplitFromPreset – 実行コードがプリセットのインスタンスである場合, メタデータの変更がプリセットの split を伴うかどうか
-
void
setExecPortMetadata
(unsigned index, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ 与えた名前のに対応する実行コードポートのメタデータを設定
パラメータ: - index – 実行コードポートのインデックス
- key – メタデータのキー
- value – メタデータの値
- canUndo – アクションが undo可能 であるかどうか
- shouldSplitFromPreset – 実行コードがプリセットのインスタンスである場合, メタデータの変更がプリセットの split を伴うかどうか
-
void
setItemMetadata
(char const *name, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ Sets the metadata for an item (port, node or block, as appropriate) for the given key.
パラメータ: - name – ノードの名前
- key – メタデータのキー
- value – メタデータの値
- canUndo – アクションが undo可能 であるかどうか
- shouldSplitFromPreset – 実行コードがプリセットのインスタンスである場合, メタデータの変更がプリセットの split を伴うかどうか
-
void
setNodeMetadata
(char const *nodeName, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ An alias for setItemMetadata.
-
void
setPortMetadata
(char const *portPath, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ Sets the metadata for a port (exec, node, exec block or inst block) for the given key.
パラメータ: - portPath – The path to the port
- key – メタデータのキー
- value – メタデータの値
- canUndo – アクションが undo可能 であるかどうか
- shouldSplitFromPreset – 実行コードがプリセットのインスタンスである場合, メタデータの変更がプリセットの split を伴うかどうか
-
void
setExecPortMetadata
(char const *portPath, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ An alias for setPortMetadata.
-
void
setNodePortMetadata
(char const *nodePortPath, char const *key, char const *value, bool canUndo = true, bool shouldSplitFromPreset = true)¶ An alias for setPortMetadata.
-
bool
isDepsPort
(char const *portPath)¶ Returns true iff the port is a deps (built in exec) port.
パラメータ: portPath – The path the port (node, exec, exec block or inst block)
-
bool
isDepsExecPort
(unsigned portIndex)¶ Returns true iff the exec port is a deps (built in exec) port.
-
bool
isDepsExecBlockPort
(char const *blockName, unsigned portIndex)¶ Returns true iff the exec block port is a deps (built in exec) port.
-
RTVal
getPortDefaultValue
(char const *portPath, char const *typeName)¶ 与えた型に対するポートの現在のディフォルト値を取得。ディフォルト値は, そのポートが未接続でかつ解決済みの型を持つ場合にそのポートの値として適用される。パスはノードポート ―つまり “nodeName.portName” 形式でも, 実行コードポートの名前そのものであっても良い
パラメータ: - portPath – 実行コードポートあるいはノードポートのパス
- typeName – 現在のディフォルト値として戻すことになる型の名前
戻り値: 与えた型のポートの現在のディフォルト値
-
RTVal
getPortResolvedDefaultValue
(char const *path, char const *typeName)¶ Gets the current resolved default value for a port for a given type. The default value is the value the port has when it is disconnected but resolved to that type. The resolved default value differs from the default value in that it will fall back on the executable port that backs an instance port if there is no default value for the resolved type on the instance port.
パラメータ: - path – The path to the port
- typeName – 現在のディフォルト値として戻すことになる型の名前
戻り値: 与えた型のポートの現在のディフォルト値
-
RTVal
getInstPortResolvedDefaultValue
(char const *path, char const *typeName)¶ An alias for getPortResolvedDefaultValue for backwards compatibility.
-
void
setPortDefaultValue
(char const *portPath, RTVal defaultValue, bool canUndo = true)¶ ポートに現在のディフォルト値を設定。与えた型としてのディフォルト値は, そのポートが未接続であるがその型として解決済である場合にそのポートの値として適用される。この場合, RTVal の型となる。パスはノードポート ―つまり “nodeName.portName” 形式でも, 実行コードポートの名前そのものであっても良い
パラメータ: - portPath – 実行コードポートあるいはノードポートのパス
- defaultValue – ディフォルト値の型としての, そのポートのあたらしいディフォルト値
- canUndo – アクションが undo可能 であるかどうか
-
char const *
getImportPathname
()¶ ある実行コードの現在の importパス名 を取得。importパス名とは, 読み込むプリセットのディスク上のパス名のこと。 実行コードをプリセットとして読み込む際, importパス名は自動的に実行コードに設定される。
戻り値: 実行コードの importパス名
-
void
setImportPathname
(char const *importPathname)¶ 実行コードにあたらしい importパス名を設定
パラメータ: importPathame – 実行コードのあたらしい importパス名
-
DFGBinding
bind
(uint32_t rtValCount = 0, RTVal const *rtVals = 0)¶ 新規バインディングを作成, この実行コードに「ルート実行コード」としてバインドされる。任意で RTVal をバインディングの引数として与えることができる。
パラメータ: - rtValCount – (任意) バインディングにあたえる RTVal引数の 数量
- rtValCount – (任意) バインディングにあたえる RTVal引数
-
void
removePort
(char const *portPath)¶ Remove the ExecPort or ExecBlockPort with the given path.
-
void
removeExecPort
(char const *portName)¶ An alias for removePort().
パラメータ: portName – ポートの名前
-
void
removeExecPort
(unsigned index)¶ 与えたインデックス番目の実行コードポートを削除
パラメータ: index – ポートのインデックス
-
void
removeNode
(char const *nodeName)¶ 与えた名前のノードを削除
パラメータ: nodeName – ノードの名前
-
void
removeElement
(char const *name)¶ Remove the element (port, node or block) with the given name
パラメータ: name – ノードの名前
-
DFGView
createView
(DFGNotificationCallback callback, void *userdata)¶ viewオブジェクトを作成, viewオブジェクトは実行コード中で生じる notifications を受信する
注釈
view は非再帰; つまり <実行コード自身, 内包するポート, 内包するノードとそのポート> の notifications を受信することになるが, サブ実行コードもしくはサブ実行コードのコンポーネントの通知については受信しないパラメータ: - callback – ノーティフィケーションが送信された際,起動するコールバック関数
- userdata – コールバック関数に渡すユーザデータ
-
char const *
getItemPortTypeSpec
(char const *itemPath, unsigned portIndex)¶ Get the current typeSpec for an item port.
-
char const *
getExecPortTypeSpec
(unsigned execPortIndex)¶ 与えたインデックス番目の実行コードのポートの現在の型仕様(typeSpec)を取得
パラメータ: execPortIndex – 実行コードポートのインデックス 戻り値: ポートの現在の型仕様
-
char const *
getPortTypeSpec
(char const *portPath)¶ Get the current typeSpec for the ExecPort or ExecBlockPort with the given path.
-
char const *
getExecPortTypeSpec
(char const *execPortName)¶ An alias for getPortTypeSpec().
-
void
setExecPortTypeSpec
(unsigned execPortIndex, char const *typeSpec)¶ 与えたインデックス番目の実行コードのポートの現在の型仕様(typeSpec)を設定
パラメータ: - execPortIndex – 実行コードポートのインデックス
- typeSpec – 設定するあたらしい型仕様
-
void
setPortTypeSpec
(char const *portPath, char const *typeSpec)¶ Set the current typeSpec for the ExecPort or ExecBlockPort with the given path.
-
void
setExecPortTypeSpec
(char const *execPortName, char const *typeSpec)¶ An alias for setPortTypeSpec().
-
char const *
getExecPortName
(unsigned execPortIndex)¶ 指定したインデックス番目の「実行コードのポートの名前」を取得
パラメータ: execPortIndex – 実行コードポートのインデックス
-
char const *
getExecPortName
(char const *execPortPathCStr)¶ Get the name of the executable port given the port path
パラメータ: execPortPathCStr – ポートのパス
-
char const *
getExecFixedPortName
(unsigned execPortIndex)¶ Get the name of the ExecFixedPort at the given index.
パラメータ: execPortIndex – The index of the ExecFixedPort
-
unsigned
getItemPortCount
(char const *itemName)¶ Get the number of ports on the given item (node or exec block).
パラメータ: itemName – ノードの名前
-
unsigned
getNodePortCount
(char const *nodeName)¶ An alias for getItemPortCount.
-
char const *
getNodePortName
(unsigned nodeIndex, unsigned nodePortIndex)¶ 与えたノード, 与えたポートインデックス番目のノードポートの名前を取得
パラメータ: - nodeIndex – ノードのインデックス
- nodePortIndex – ノードポートのインデックス
-
char const *
getInstBlockName
(char const *instName, unsigned instBlockIndex)¶ Get the name of an inst block.
パラメータ: - instName – The name of the item
- instBlockIndex – The index of the item block
-
char const *
getItemPortName
(char const *itemName, unsigned itemPortIndex)¶ Get the name of an item (node or exec block) port.
パラメータ: - itemName – The name of the item
- itemPortIndex – The index of the item port
-
char const *
getNodePortName
(char const *nodeName, unsigned nodePortIndex)¶ An alias for getItemPortName.
-
String
exportItemsJSON
(uint32_t itemCount, char const *const *itemNames)¶ Export a collection of items (nodes, blocks or ports) as JSON that can later be used by
FabricCore::DFGExec::importItemsJSON()
to recreate the items elsewhere.パラメータ: - itemCount – The number of items to export
- itemNames – The names of the items to export
戻り値: The items encoded as JSON
-
String
exportNodesJSON
(uint32_t nodeCount, char const *const *nodeNames)¶ An alias for
FabricCore::DFGExec::exportItemsJSON()
.
-
String
importItemsJSON
(char const *itemsJSON)¶ Import a collection of nodes from JSON that were exported using
FabricCore::DFGExec::exportItemsJSON()
.パラメータ: itemsJSON – JSONエンコードされたノード 戻り値: 新しく作成されたノードの名前, 文字列のJSON配列
-
String
importNodesJSON
(char const *nodesJSON)¶ An alias for
FabricCore::DFGExec::importItemsJSON()
.
-
char const *
implodeNodes
(char const *desiredName, uint32_t nodeCount, char const *const *nodeNames)¶ ノード一式を, 単一のノードへと畳み込む
注釈
複数のノードを畳み込むと, 畳み込まれるノード間に挟まれ, 接続されているような中間ノードも一緒に内包するパラメータ: - desiredName – 結果としてできるノードの希望名
- nodeCount – 畳み込みノードの数
- nodeNames – 畳み込みノードの名前
戻り値: 結果としてできるノードの実際の名前
-
String
explodeNode
(char const *nodeName)¶ グラフのインスタンスな単一のノードを, 実行コード上に個々のノードとして展開する
パラメータ: nodeName – 展開するノードの名前 戻り値: 結果としてできる複数ノードのそれぞれ名前
-
char const *
getPresetName
() const¶ 実行コードのプリセットパスの コンポート名を取得。実行コードがプリセットインスタンスでない場合,空文字列を戻す。
-
String
getPresetGUID
() const¶ 実行コードのプリセットGUIDを取得。実行コードがプリセットインスタンスでない場合,空文字列を戻す。
-
void
setPresetGUID
(char const *presetGUID) const¶ 実行コードにプリセットGUIDを設定。プリセットGUIDは厳密に 32 hex digitでなければならない
警告
この関数は実行コードをプリセットから splitしない。つまりそのプリセットのインスタンス『全て』のプリセットGUIDを変更することになる
-
String
getOrigPresetGUID
() const¶ 実行コードのオリジナルのプリセットGUIDを取得。なんらかのプリセットのインスタンスであったが, すでにプリセットではない場合に機能する, そうでない場合空の文字列を戻す
-
bool
isPreset
() const¶ あるプリセットが実行コードかどうか問い合わせ
-
bool
instExecIsPreset
(char const *instName) const¶ あるプリセットが実行コードかどうか問い合わせ
-
bool
editWouldSplitFromPreset
() const¶ 実行コードの編集により, その実行コードあるいは内包するグラフがプリセットからの split を引き起こすかどうか問い合わせ
-
unsigned
getExecPortIndex
() const¶ Get the exec port index for the named exec port.
-
void
maybeSplitFromPreset
()¶ 実行コードを,インスタンス元のプリセットから split。実行コードがプリセットのインスタンスでない場合何もなさない
-
void
addPriorPortName
(char const *oldName, char const *newName) const¶ Add a prior port name for a port, so that persisted versions of executable will be able to resolve the old port name.
-
bool
allowsBlocks
() const¶ Returns whether the executable allows blocks to be created within it
-
void
promoteInstBlockExecsToDefault
(char const *instPath)¶ Makes the current implementation of the inst blocks the defaults for their associated exec blocks.
-
class
FabricCore::
DFGBinding
: public FabricCore::Ref¶ -
DFGBinding
()¶
-
DFGBinding
(DFGBinding const &that)¶
-
DFGBinding &
operator=
(DFGBinding const &that)¶
-
~DFGBinding
()¶
-
DFGBinding
getBindingID
()¶ バインディングの バインディングID を取得。このバインディングIDを
FabricCore::DFGHost::getBindingForID()
に使用しバインディングのハンドラを得る。DFGBinding としてそのバインディングを渡せない状況で有用戻り値: DFGBinding のバインディングID
-
RTVal
getArgValue
(unsigned index)¶ 指定したインデックス番目のバインディング引数の,RTVal値 を取得。指定したインデックスが Root実行コードバインディングの
FabricCore::DFGExec::getExecPortCount
を超えてしまう場合例外を投げるパラメータ: index – 取得する引数のポートのインデックス 戻り値: RTVal としての引数の値
-
RTVal
getArgValue
(char const *name)¶ 指定した名前のバインディング引数の,RTVal値を取得。該当する名前のポートが存在しない場合例外を投げる
パラメータ: name – 取得する引数のポートの名前 戻り値: RTVal としての引数の値
-
void
setArgValue
(LockType lockType, unsigned index, RTVal value, bool canUndo = true)¶ 指定したインデックス番目のバインディング引数の, RTVal値を設定。指定した名前のポートが存在しない場合例外を投げる
設定するRTValのKL型は,その引数の現在の値のものと同一であっても異なっていてもよい
パラメータ: - lockType – ロック行う場合のタイプ。これは後に目にすることになるメッセージにも影響する
- index – 設定する引数のポート上でのインデックス
- value – 引数のあたらしい値
- canUndo – 引数の変更が undo可能なアクションであるか
-
void
setArgValue
(unsigned index, RTVal value, bool canUndo = true)¶ FabricCore::DFGBindign::setArgValue(FabricCore::LockType_Exclusive, index, value, canUndo)
へのエイリアス
-
void
setArgValue
(LockType lockType, char const *name, RTVal value, bool canUndo = true)¶ 指定した名前のバインディング引数の, RTVal値を設定。指定した名前のポートが存在しない場合例外を投げる
設定するRTValのKL型は,その引数の現在の値のものと同一であっても異なっていてもよい
パラメータ: - lockType – ロック行う場合のタイプ。これは後に目にすることになるメッセージにも影響する
- name – 設定する引数のポートの名前
- value – 引数のあたらしい値
- canUndo – 引数の変更が undo可能なアクションであるか
-
void
setArgValue
(char const *name, RTVal value, bool canUndo = true)¶ FabricCore::DFGBindign::setArgValue(FabricCore::LockType_Exclusive, name, value, canUndo)
へのエイリアス
-
bool
hasRecursiveConnectedErrors
() const¶
-
String
getErrors
(bool recursive) const¶ バインディングのエラーを戻す(JSON オブジェクト配列)
-
String
getLoadDiags
() const¶ バインディングの負荷診断(load diagnostic)を戻す(JSON オブジェクト配列)
-
void
dismissLoadDiag
(unsigned diagIndex) const¶ 指定の負荷診断を退ける
-
void
setDirty
()¶ Force the binding into the dirty state. A dirty notification for this binding will be emitted.
-
void
suspendDirtyNotifs
()¶ Suspends dirty notifications until resumeDirtyNotifs() is called
-
void
resumeDirtyNotifs
()¶ Suspends dirty notifications after suspectDirtyNotifs() has been called
-
void
execute_lockType
(LockType lockType)¶ バインディングを実行。例: root実行コード(グラフであったり関数であったり)から生成されたKL関数に, ポートの値をバインディングの引数の値としてわたし,実行する
グラフが実行可能でない場合例外を投げる。実行可能でない場合の例: 出力ポートの一部に(不慮の)接続エラーのあるノードがある場合
パラメータ: lockType – 実行している間保持する,ロックタイプ
-
void
execute
()¶ FabricCore::DFGBinding::execute_lockType(FabricCore::LockType_Exclusive)
へのエイリアス
-
void
registerNotificationCallback
(DFGNotificationCallback callback, void *userdata)¶ ノーティフィケーションコールバック関数, 渡されるユーザデータを登録。この関数は以下のシグネチャを持つ必要がある:
void BindingNotificationCallback( void *userdata, char const *jsonCString, uint32_t jsonLength );
registerNotificationCallback
に渡されるuserdata
の値を受信する。jsonCString
andjsonLength
は JSONエンコードされた文字列でノーティフィケーションの内容を示す。ノーティフィケーションに不要になったのであれば, コールバックは
FabricCore::DFGBinding::unregisterNotificationCallback()
により削除しなければならないパラメータ: - callback – ノーティフィケーションのため呼ぶコールバック関数
- userdata – コールバック関数へ渡すユーザデータの値
-
void
setNotificationCallback
(DFGNotificationCallback callback, void *userdata)¶ ノーティフィケーションコールバック関数を設定し, ユーザデータを渡す。この関数には以下のシグネチャを持つ必要がある:
void BindingNotificationCallback( void *userdata, char const *jsonCString, uint32_t jsonLength );
registerNotificationCallback
に渡されるuserdata
の値を受信する。jsonCString
andjsonLength
は JSONエンコードされた文字列でノーティフィケーションの内容を示す。コールバックがすでに登録済である場合この関数は例外を投げる。コールバックが
NULL
である場合は既存のコールバックを削除する。パラメータ: - callback – ノーティフィケーションに呼ばれるコールバック関数, あるいは現在のコールバックを削除するための NULL
- userdata – コールバック関数へ渡すユーザデータの値
-
void
unregisterNotificationCallback
(DFGNotificationCallback callback, void *userdata)¶ FabricCore::DFGBinding::registerNotificationCallback()
によって追加された ノーティフィケーションコールバック関数とユーザデータを登録解除。コールバック,ユーザデータともに登録の際に渡されたものと一致する必要があるパラメータ: - callback – ノーティフィケーションのため呼ぶコールバック関数
- userdata – コールバック関数へ渡すユーザデータの値
-
String
exportJSON
()¶ バインディングをJSONエンコードされた文字列としてエクスポート。この文字列を
FabricCore::DFGHost::createBindingFromJSON()
に使用し同内容のバインディングを作成可能バインディングの中身は再帰的にエンコードされる。プリセットは,プリセットパス and/or GUID を通じ参照となる。対称にローカル定義されたグラフ,関数はインラインにエンコードされる。バインディング引数の値, ポートのディフォルト値も同様エンコードされ, Coreの提供するRTValコーデックへ与えられる。詳細は Coreクライアントコンストラクタを参照
戻り値: エンコードされたバインディング(JSON文字列)
-
void
deallocValues
()¶ このバインディングの使用する一時ストレージを全て破棄。この関数は,使用予定のないバインディングに対し呼び,このバインディングの使用するメモリを解放することができる。
-
char const *
getMetadata
(char const *keyCStr) const¶ このバインディングに紐づく名前付きメタデータの値を取得。key は case-sensitive であり,指定したキーに該当するメタデータが存在しない場合,この関数は空の文字列を戻す。
FabricCore::DFGBinding::setMetdata()
参照パラメータ: key – 取得するメタデータの key 戻り値: メタデータの値, 存在しない場合空の文字列
-
void
setMetadata
(char const *keyCStr, char const *valueCStr, bool canUndo = true)¶ このバインディングに紐づく名前付きメタデータの値を設定。key は case-sensitive。key の現在値は常に上書きされる。canUndo パラメータ(任意)によりアクションが undo可能であるかどうか指定できる; undo不可能にすると, undoアクションとして保存されず,undoを行っても直前のメタデータの値は復元されない
パラメータ: - key – 取得するメタデータの key
- value – メタデータの新しい値
- canUndo – (任意)変更が undo可能か
-
String
getVars
()¶ バインディング中に使用可能な Canvas変数の JSONエンコードされた description を戻す
Result: Canvas変数の JSONエンコードされた description
-
uint32_t
getVersion
()¶ バインディングのバージョンを戻す。バインディングのバージョンとは,バインディングを初めて作成した段階でもゼロとなり,バインディングに変更を加える毎に1ずつインクリメントされる。バインディングバージョンの変更はバインディングがundoされると,共にundoされる。バージョンの主目的は, バインディングが変更されたかをアプリケーションから検知し,それを保存できるようにするためである。<注意:バインディングを永続化させても,バージョンは永続化しない>
Result: バインディングのバージョン
-
-
class
FabricCore::
DFGHost
: public FabricCore::Ref¶ -
DFGHost
()¶
-
Context &
getContext
() const¶ DFGHost の属する Fabric Core コンテクストを取得
-
bool
maybeUndo
()¶ Canvas Core コマンドを1個 undo 試行
戻り値: コマンドが undo できたか
-
bool
maybeRedo
()¶ Canvas Core コマンドを1個 redo 試行
戻り値: コマンドが uredo できたか
-
void
flushUndoRedo
()¶ undo, redoスタックを破棄。undo/redo されるコマンドの専有するメモリをパージするが, 該当コマンドは機能しなくなる
-
char const *
getPresetImportPathname
(char const *nameSpacePath)¶ インポートされたプリセットのファイル名を取得
パラメータ: presetPath – プリセットツリー上のプリセットパス 戻り値: インポート済みプリセットのファイル名, プリセットがファイルよりインポートされていない場合空の文字列
-
FabricCore::String
getPresetDesc
(char const *presetPath)¶ プリセットの JSON description を生成
パラメータ: presetPath – プリセットツリー上のプリセットパス 戻り値: JSON description
-
char const *
getPresetMetadata
(char const *presetPath, char const *key)¶ Get the metadata associated with the given key for the given preset. Returns NULL if there is no metadata for the given key.
パラメータ: - presetPath – プリセットツリー上のプリセットパス
- key – The key for the metadata to be retrieved
-
char const *
addPresetDir
(char const *parentPresetDirPath, char const *desiredName, char const *pathname = 0)¶ あたらしいプリセットディレクトリ(子)を,プリセットツリー上の既存プリセットディレクトリ(親)へ追加
パラメータ: - parentPresetDirPath – あたらしい子プリセットディレクトリを格納する,親プリセットディレクトリのパス
- desiredName – 新規子プリセットディレクトリの希望名
- importPathname – (指定する場合)新規 子プリセットディレクトリに紐づくimportパス名
戻り値: 新規子プリセットディレクトリの実際の名前
-
char const *
importPresetFileJSON
(char const *parentPresetDirPath, char const *desiredName, char const *json, char const *importPathname = 0)¶ JSONエンコードされた新しいプリセット(子)を,既存のプリセットディレクトリ(親)にインポート。JSONエンコードされた表現物は通常
String exportPresetJSON()
により取得するパラメータ: - parentPresetDirPath – 新しい子プリセットを格納する親プリセットディレクトリのパス
- desiredName – 新規子プリセットの希望名
- json – 新規プリセット(JSONエンコード)
戻り値: 新規子プリセットの実際の名前
-
String
exportPresetJSON
(char const *presetPathCStr)¶ JSONとして既存プリセットをエクスポート
パラメータ: presetPath – プリセットのパス 戻り値: JSONにエンコードされたプリセット
-
void
removePreset
(char const *presetPath)¶ プリセットツリー上から既存プリセットを削除
パラメータ: presetPath – プリセットのパス
-
DFGExec
createNewUnboundGraph
()¶ あたらしい DFGExecオブジェクトを作成,空のグラフを参照する。このグラフはバインドされておらず ―― つまり DFGBinding にアタッチされていない,そのため編集は可能だが実行はできない
戻り値: 新しい DFGExec オブジェクト
-
DFGExec
createNewUnboundExecFromJSON
(char const *json)¶ JSONで記述された あたらしい DFGExecオブジェクトを作成。JSONは通常
FabricCore::DFGExec::exportJSON()
により得る。この実行コードはバインドされておらず ―― つまり DFGBinding にアタッチされていない,そのため編集は可能だが実行はできないパラメータ: json – JSONエンコードされた実行コードの description 戻り値: 新しい DFGExec オブジェクト
-
DFGExec
createNewUnboundFunc
()¶ 空の関数を参照するあたらしい DFGExecオブジェクトを作成。この実行コードはバインドされておらず ―― つまり DFGBinding にアタッチされていない,そのため編集は可能だが実行はできない
戻り値: 新しい DFGExec オブジェクト
-
DFGBinding
createBindingToNewGraph
()¶ ルート実行コードとして空のグラフをもつ あたらしい DFGBindingオブジェクトを作成。
戻り値: あたらしいDFGBinding
-
DFGBinding
createBindingToNewFunc
()¶ ルート実行コードとして空の関数をもつ あたらしい DFGBindingオブジェクトを作成。
戻り値: あたらしいDFGBinding
-
DFGBinding
createBindingFromJSON
(char const *json, uint32_t rtValCount = 0, RTVal const *rtVals = 0)¶ JSONで記述されたルート実行コードをもつ,あたらしい DFGBindingオブジェクトを作成。JSONは通常
FabricCore::DFGExec::exportJSON()
により取得パラメータ: - json – ルート実行コードの JSONエンコードされた description
- rtValCount – (指定した場合)新しい DFGBinding の引数にバインドされる RTValの数
- rtVals – (指定した場合)新しい DFGBinding の引数にバインドされる RTVal
戻り値: あたらしいDFGBinding
-
DFGBinding
createBindingToPreset
(char const *presetFile, uint32_t rtValCount = 0, RTVal const *rtVals = 0)¶ ルート実行コードとしてが特定のプリセットのインスタンスである,あたらしい DFGBindingオブジェクトを作成。JSONは通常
FabricCore::DFGExec::exportJSON()
により取得パラメータ: - presetFilePath – ルート実行コードとして使用する,プリセットのプリセットツリー上でのパス
- rtValCount – (指定した場合)新しい DFGBinding の引数にバインドされる RTValの数
- rtVals – (指定した場合)新しい DFGBinding の引数にバインドされる RTVal
戻り値: あたらしいDFGBinding
-
DFGBinding
getBindingForID
(uint32_t bindingID)¶ 指定したバインディングIDの DFGBinding への参照を取得。 バインディングIDは
FabricCore::DFGBinding::getBindingID()
により得るパラメータ: bindingID – バインディングID 戻り値: 指定したバインディングID の DFGBinding
-
void
blockComps
()¶ DFGBinding の再コンパイルを阻害。これは重厚長大グラフを構築する際のパフォーマンス向上に役立つ。 再コンパイル阻害しているのに
FabricCore::DFGBinding::execute()
を呼び出すと例外を投げる
-
void
unblockComps
()¶ DFGBinding の再コンパイルの阻害を解除
-
-