目次
- Arbiterプロキシと関連トピック
- UDPServerプロキシと関連トピック
- 論理演算・比較演算ビヘイビア
- データ変換ビヘイビア
- 計測ビヘイビア
- データ生成ビヘイビア
- コントロール変換ビヘイビア
- ファイル・ネットワークビヘイビア
- 時間ビヘイビア
- サブグラフビヘイビア
- 操作・デバッグビヘイビア
Arbiterプロキシと関連トピック
ArbiterProxy [top]
優先度に基づくデータ送信の調停を行う。受信したデータのうち、送信元のArbiterInputTopicの優先度が最も高いデータをArbiterOutputTopicに送信する。優先度の低いトピックからのデータは、より優先度の高いトピックからのデータ受信が終わり優先時間(2秒)が過ぎた後に、ArbiterProxyが受信すれば送信される。
同じ名前を持つArbiterProxyはサブグラフと共有されるため、複数のグラフで同時にArbiterProxyがデータを受信しても、ArbiterProxyは最も優先度の高いデータだけを送信する。
- 入力トピック
- ArbiterInputTopic
- 出力トピック
- ArbiterOutputTopic
- 設定パラメータ
- 名前(String)
ArbiterInputTopic [top]
ArbiterProxyの入力トピック。受信したデータをArbiterProxyへ設定された優先度で送信する。priorityの値が小さいほど優先度が高くなる。同じArbiterProxyに対して複数のArbiterInputProxyからデータが送信された場合は、最も優先度の高いトピックのデータが受け取られる。受け取られなかったデータはそのまま捨てられる。
ArbiterProxyにのみ接続できる。
- 受信データ
- Object
- 設定パラメータ
- priority(Integer)
ArbiterOutputTopic [top]
ArbiterProxyの出力トピック。ArbiterProxyから受信したデータを送信する。
任意のビヘイビアに接続できる。
- 送信データ
- Object
UDPServerプロキシと関連トピック
UDPServerProxy [top]
UDPサーバーを構築する。openコントロールを受信すると、指定されたポート番号でUDPソケットを作成して接続を待つ。UDPポートから受信したデータは、接続されたSocketTopicに送信される。closeコントロールを受信すると、UDPサーバーを廃棄する。
- 出力トピック
- SocketTopic
- 受信コントロール
- #open, #close
- 設定パラメータ
- ポート番号(Integer)
SocketTopic [top]
UDPServerProxyの出力トピック。UDPServerProxyから受信したデータを送信する。
任意のビヘイビアに接続できる。
- 送信データ
- Object
論理演算・比較演算ビヘイビア
AndBehavior [top]
tickコントロールの受信後、次のtickを受信する前に受け取った真理値データにfalseが1つでも含まれていればfalseを、全てtrueであればtrueを送信する。
- 受信コントロール
- #tick
- 受信データ
- Boolean
- 送信データ
- Boolean
OrBehavior [top]
tickコントロールの受信後、次のtickを受信する前に受け取った真理値データにtrueが1つでも含まれていればtrueを、全てfalseであればfalseを送信する。
- 受信コントロール
- #tick
- 受信データ
- Boolean
- 送信データ
- Boolean
ComparatorBehavior [top]
受信したデータと設定されたデータを条件に従って比べ、結果を真理値として送信する。
- 受信データ
- Object
- 送信データ
- Boolean
- 設定パラメータ
- 条件(デフォルト=イコール), 比較データ(デフォルト=nil)
- 関連ビヘイビア
- FilterBehavior
データ変換ビヘイビア
CosineBehavior [top]
受信したデータの余弦(cos)を求めて送信する。
単位として度またはラジアンを指定する。デフォルトの単位はラジアン。
- 受信データ
- Number
- 送信データ
- Number
- 設定パラメータ
- 単位(デフォルト:ラジアン)
- 関連ビヘイビア
- SineBehavior
SineBehavior [top]
受信したデータの正弦(sin)を求めて送信する。
単位として度またはラジアンを指定する。デフォルトの単位はラジアン。
- 受信データ
- Number
- 送信データ
- Number
- 設定パラメータ
- 単位(デフォルト:ラジアン)
- 関連ビヘイビア
- CosineBehavior
DataConnector [top]
受信したデータをそのまま送信する。
- 受信データ
- Object
- 送信データ
- Object(受信したもの)
DataPackBehavior [top]
受信したデータを結合して送信する。
受信したデータをd、データが流れてきたアークをaとすると、aをキーとしdを値としたAssociation(a->d)が作られ保持される。
一定時間内に他のデータを受信すれば、同様なAssociationを保持し、一定時間内に受信しなければ、保持したAssociationをDictionaryとして送信する。
なお、このビヘイビアへのアークは、必ずラベルがついていなければならない。(ラベルのないアークからのデータ受信はエラーとなる)
- 受信データ
- Object(アークにラベルが必要)
- 送信データ
- Dictonary
- 設定パラメータ
- 待ち時間(デフォルト:200ms)
- 関連ビヘイビア
- DataUnpackBehavior
DataUnpackBehavior [top]
受信したDictionaryデータを分解して送信する。
受信したDictionaryデータをAssociationに分解し、キーをラベルとして持つアークに対して値を送信する。
なお、このビヘイビアからのアークは、必ずラベルがついていなければならない。(ラベルのないアークへは何も送信されない)
- 受信データ
- Dictionary
- 送信データ
- Object(ラベルは、受信するDictionaryのキーでなければならない)
- 関連ビヘイビア
- DataPackBehavior
DataToControl [top]
受信した特定のデータを特定のコントロールに変換する。
デフォルトではtrueデータを受信した時に、tickコントロールを送信する。他のデータを受け取った場合は何もしない。
- 受信データ
- ユーザー指定
- 送信コントロール
- ユーザー指定
- 設定パラメータ
- 受信データ(デフォルト=true), 送信コントロール(デフォルト=#tick)
- 関連ビヘイビア
- ControlToData
Differentiator [top]
直前に受信したデータとの差を送信する。
例えば、直前に受信したデータをx, 新たに受信したデータをyとすると、y-xを送信する。
受信データがDictionaryの場合は、各Association毎の差をとったDictionaryを送信する。
- 受信データ
- NumberまたはDictionary
- 送信データ
- NumberまたはDictionary
ExpressionBehavior [top]
受信データに任意の計算を行った結果を送信する。
任意の計算はSmalltalk式としてパラメータ設定する。式の内部では受信データをdataという名前の変数でアクセスできる。
Smalltalk式をsとすると、[:data|s]というブロックが内部的に格納される。
- 受信データ
- Object
- 送信データ
- Object
- 設定パラメータ
- Smalltalk式
FilterBehavior [top]
受信したデータと設定されたデータを条件に従って比べ、真のときに受信したデータを送信する。
- 受信データ
- Object
- 送信データ
- Object
- 設定パラメータ
- 条件(デフォルト=イコール), 比較データ(デフォルト=nil)
- 関連ビヘイビア
- ComparatorBehavior
MovingAverage [top]
受信したデータの移動平均を求めて送信する。
- 受信データ
- Number
- 送信データ
- Number
- 設定パラメータ
- データ数(デフォルト=3)
DenormalizeBehavior [top]
受信した0から1までの範囲のデータを、最小値から最大値の範囲へ線形補間して送信する。
- 受信データ
- Float(0より小さい値は0へ、1より大きい値は1へ丸められる)
- 送信データ
- Number
- 設定パラメータ
- 最小値(デフォルト=0), 最大値(デフォルト=100)
NormalizeBehavior [top]
受信したデータを0から1の範囲で線形に正規化する。受信したデータを最小値と最大値の範囲に丸めた後、0から1までの小数点数に正規化したデータを送信する。
- 受信データ
- Number(最小値より小さい値は最小値へ、最大値より大きい値は最大値に丸められる)
- 送信データ
- Float(0から1までの範囲)
- 設定パラメータ
- 最小値(デフォルト=0), 最大値(デフォルト=100)
RemoveDuplicatesBehavior [top]
受信データのうち、直前のデータと異なる場合のみ送信する。つまり、同じデータを連続して受信した場合は、最初のデータのみ送信される。
- 受信データ
- Object
- 送信データ
- Object
ScaleBehavior [top]
受信した数値を定数倍して送信する。受信したデータが辞書データの場合は、値のそれぞれを定数倍する。
- 受信データ
- NumberまたはDictionary(値はNumberである必要がある)
- 送信データ
- NumberまたはDictionary
- 設定パラメータ
- 倍率(デフォルト=1.0)
TextConcatBehavior [top]
受信したデータを文字列として結合して送信する。結合する順序はアークに付けられたラベルの文字列順序によって決まる。
受信したデータはアーク毎に保持され、一定時間内に他のアークから受信しなければ、その時点での全てのアークのデータが結合され、送信される。
なお、このビヘイビアへのアークは、必ずラベルがついていなければならない。(ラベルのないアークからのデータ受信はエラーとなる)
- 受信データ
- Object(アークにラベルが必要)
- 送信データ
- String
- 設定パラメータ
- 待ち時間(デフォルト:200ms)
UnaryOperatorBehavior [top]
受信したデータに対して、指定された演算(絶対値、正負の反転、論理の反転)を行って送信する。
- 受信データ
- NumberまたはBoolean
- 送信データ
- NumberまたはBoolean
- 設定パラメータ
- 単項演算
計測ビヘイビア
CounterBehavior [top]
受信したデータを数える。データを受信するたびに、今まで受信したデータの個数を送信する。
tickコントロールを受信するとデータ個数をリセットする。
- 受信データ
- Object
- 受信コントロール
- #tick
- 送信データ
- Integer
IntervalBehavior [top]
受信したデータの時間間隔を計測する。データを受信すると、直前に受信したデータから経過した時間をミリ秒単位で送信する。
- 受信データ
- Object
- 送信データ
- Integer
データ生成ビヘイビア
NumberBehavior [top]
指定された範囲の数値を生成して送信する。tickを受け取ると、minからmaxまでの値をstep刻みで生成して送信する。maxに達したらminに戻って繰り返す。
- 受信コントロール
- #tick
- 送信データ
- Number
RandomBehavior [top]
指定された範囲の乱数を生成して送信する。tickを受け取ると、minからmaxまでのランダムな値を生成して送信する。
- 受信コントロール
- #tick
- 送信データ
- Number
ValueBehavior [top]
受信したデータを保持するとともに送信する。
tickを受け取ったら、保持していたデータを送信する。
メニューにより保持するデータを入力することもできる。
- 受信データ
- Object
- 受信コントロール
- #tick
- 送信データ
- Object
- 設定パラメータ
- データ(Object)
コントロール変換ビヘイビア
ControlToControl [top]
受信した特定のコントロールを別のコントロールに変換する。
デフォルトではonコントロールを受信した時に、tickコントロールを送信する。他のコントロールを受け取った場合は何もしない。
- 受信コントロール
- ユーザー指定
- 送信コントロール
- ユーザー指定
- 設定パラメータ
- 受信コントロール(デフォルト=#on), 送信コントロール(デフォルト=#tick)
ControlToData [top]
受信した特定のコントロールを特定のデータに変換する。
デフォルトではtickコントロールを受信した時に、trueデータを送信する。他のコントロールを受け取った場合は何もしない。
- 受信コントロール
- ユーザー指定
- 送信データ
- ユーザー指定
- 設定パラメータ
- 受信コントロール(デフォルト=#tick), 送信データ(デフォルト=true)
- 関連ビヘイビア
- DataToControl
ファイル・ネットワークビヘイビア
FileGetBehavior [top]
tickコントロールを受信すると、ファイルの内容を送信する。
初めてtickコントロールを受信したときにファイルの内容を読み込んで送信する。以降は読み込まない。
なお、ファイルはあらかじめFluoインストールディレクトリのtextsディレクトリ内に格納されていなければならない。
- 受信コントロール
- #tick
- 送信データ
- String
- 設定パラメータ
- ファイル名(String)
HttpGetBehavior [top]
受信したデータをURLとするウェブページにアクセスし、得られたデータを送信する。
- 受信データ
- String
- 送信データ
- String
JSONReaderBehavior [top]
受信したJSON文字列をDictionaryに変換して送信する。
- 受信データ
- String
- 送信データ
- Dictionary
UDPClientBehavior [top]
設定したホストとポートを持つUDPサーバーに対して、受信したデータを送信する。
受信したデータをURLとするウェブページにアクセスし、得られたデータを送信する。
- 受信データ
- Object(文字列に変換される), ByteArray(そのまま送信される)
時間ビヘイビア
DelayBehavior [top]
受信したデータを設定した時間待ってから送信する。
- 受信データ
- Object
- 送信データ
- Object
- 設定パラメータ
- interval(ミリ秒)
SamplingBehavior [top]
受信データを一定の時間間隔で送信する。時間間隔内にデータを受信しなければ何も送信されず、複数のデータを受信した場合は、最後のデータが送信される。
- 受信データ
- Object
- 送信データ
- Object
- 設定パラメータ
- interval(ミリ秒)
TimerBehavior [top]
一定の時間間隔でtickコントロールを送信する。
- 送信コントロール
- #tick
- 設定パラメータ
- interval(ミリ秒)
サブグラフビヘイビア
GraphBehavior [top]
サブグラフとの送受信を行う。受信したデータは指定したサブグラフのInputBehaviorに送られる。サブグラフ内のOutputBehaviorが受信したデータを送信する。
- 受信データ
- Object(サブグラフのInputBehaviorに送信される)
- 送信データ
- Object(サブグラフのOutputBehaviorが受信したもの)
- 設定パラメータ
- グラフ(FluoGraph)
- open/close
- #openでサブグラフをセットアップし、サブグラフにopenコントロールを送る。
InputBehavior [top]
グラフの外部からデータを受け取るノード。受け取ったデータがそのまま送信される。
- 受信データ
- Object(グラフ外部から受け取る)
- 送信データ
- Object
OutputBehavior [top]
受け取ったデータをグラフの外部にデータを送信するノード。データを受け取ると、事前に登録されたcallbackブロックが受信データを引数として評価される。
callbackを登録するには、OutputBehaviorを含むグラフに対して、Blockを引数にして#callback:メッセージを送る。
- 受信データ
- Object
- 設定パラメータ
- callback(Block)
操作・デバッグビヘイビア
ButtonBehavior [top]
プロパティ上のPushボタンを押すとonコントロールを、離すとoffコントロールを送信する。
- 送信コントロール
- #on, #off
InspectBehavior [top]
受信したデータを保持する。一度データを保持したら、それ以降のデータは保持しない。
プロパティ上のClearボタンを押すと、保持したデータを消去して新たなデータをする。Inspectボタンを押すと、保持したデータをinspectする。
- 受信データ
- Object
JoystickBehavior [top]
tickコントロールを受信したら、物理的に接続されたジョイスティックかジョイスティックモーフの位置(x,y)を送信する。
- 受信コントロール
- #tick
- 送信データ
- Dictionary(キーとしてx, y, buttonsを持つ)
MonitorBehavior [top]
受信したデータをプロパティに表示する。
- 受信データ
- Object
MultiplePlotterBehavior [top]
受信した複数のデータをプロットする。
Dictionaryデータを受信した場合、キーを系列として値をプロットする。ラベル付きアークから受信したNumberデータの場合には、ラベルを系列としてデータをプロットする。
- 受信データ
- DictionaryまたはNumber(ただしアークにラベルが必要)
- 関連ビヘイビア
- SinglePlotterBehavior
SinglePlotterBehavior [top]
受信したデータをプロットする。
- 受信データ
- Number
- 関連ビヘイビア
- MultiplePlotterBehavior
TranscriptBehavior [top]
受信したデータをTranscriptに表示する。
- 受信データ
- Object
TextEntryBehavior [top]
プロパティ上に入力された文字列を送信する。入力した文字列は保持され、tickコントロールを受け取った時も送信される。
- 受信コントロール
- #tick
- 送信データ
- String
- 設定パラメータ
- テキスト(文字列)
AndBehavior ButtonBehavior ComparatorBehavior ControlToControl ControlToData CosineBehavior CounterBehavior DataConnector DataPackBehavior DataToControl DataUnpackBehavior DelayBehavior DenormalizeBehavior Differentiator ExpressionBehavior FileGetBehavior FilterBehavior GraphBehavior HttpGetBehavior InputBehavior InspectBehavior IntervalBehavior JSONReaderBehavior JoystickBehavior MonitorBehavior MovingAverage MultiplePlotterBehavior NormalizeBehavior NumberBehavior OrBehavior OutputBehavior RandomBehavior RemoveDuplicatesBehavior SamplingBehavior ScaleBehavior SineBehavior SinglePlotterBehavior TextConcatBehavior TextEntryBehavior TimerBehavior TranscriptBehavior UDPClientBehavior UnaryOperatorBehavior ValueBehavior