Reference manuals of the GPhys library(http://ruby.gfd-dennou.org/products/gphys/doc/)の日本語訳です。

タイル上に規則正しく並んだ複数のVArrayから成るVArrayです(多次元も可能)。コンストラクタ"new"とattr_updateを除き、このクラスとVArrayクラスの使用法は同じです。

VArrayCompositenの名前と属性はそれを構成するVArrayのうちの一つから取ってきていることに注意してください(実際は一番最初のものが使われます)。現在のところ、名前と属性がそれらのVArrayのものと同じかどうかについて確認を行っていません。VArrayCompositeの名前を変更する場合、その変更は構成するVArrayに対して行われます。ただし、現在のところ、属性の変更は一番初めのVArrayのみにしか反映されません。attr_updateを別々に呼び出す必要があります。

クラスメソッド

VArrayComposite.new(varrays)

コンストラクタ。

引数

  • varrays (NArray of VArray) : VArrayCompositeを構成するVArray。NArray内で規則正しく格子状に並んでいる

返り値

  • VArrayComposite

va00, va01, va10, va11というVArrayがあり、va00とva10が同じ0次元の長さ,va01とva11も同じ0次元の長さを持つとする。さらに、va00とva01は同じ1次元の長さを持つ。

varrays = NArray[ [ va00, va01 ],
                  [ va10, va11 ] ]
vac = VArrayComposite.new(varrays)
これは2次元に敷き詰められたVArrayの合成物を生成する。

形状が明らかである限り、1つ以上のVArrayが不足したVArrayを作ることもできる。つまり、

vac = VArrayComposite.new(  NArray[ [ va00, va01 ],
                                    [ va10, nil ] ] )
は許容される。しかし、
vac = VArrayComposite.new(  NArray[ [ va00, nil ],
                                    [ va10, nil ] ] )
は禁じられる。
注意: 現在のところ、この様なnilを含むVArrayCompositeの操作は非常に制限されており、多くのメソッドは機能しない。

3次元VArrayva0、va1、va2、va3があり、 これらを3次元目で連結したいとする。

varrays = NArray[ va0,va1,va2,va3 ].newdim(0,0)
これは[1,1,4]という形状の3次元のNArrayを生成する。その後、次のように合成物を作ることができる。
vac = VArrayComposite.new(varrays)
他の全てのクラスメソッドはVArrayと同じです。

管理人/副管理人のみ編集できます