[ VRMLaboR Home | Script | Prototype | Advanced ]

外部プロトタイプ

外部プロトタイプ(extern prototype)とは、プロトタイプを外部のwrlファイル内に まとめて定義する機能である。これによって自分の定義したノードのライブラリファ イルを作っておくことができる。

何かシリーズとなる作品を作っていて、いつも同様の操作パネルを使っている場合な ど、その操作パネルをプロトタイプで定義しておき、部品として呼び出して使えばよ いのである。
自分が長年作ってきた有用なものを部品としてどんどん蓄積して行き使い回す、とい う概念はプログラミングではあたりまえだが、有効な考え方であろう。
また、データやスクリプトの内部を忘れてしまっても、部品の使い方だけ覚えていれ ばいいのである。

外部プロトタイプの形式は:


   EXTERNPROTO Name [
  eventIn type name
  eventOut type name
  field type name
  ..................
  ] 
  "URL" または ["URL", "URL" ...... ]

ここで注意が必要なのは、EXTERNPROTOの場合フィールドのデフォルト値は必要がな いということである。この値はURLで呼び出しているファイル内で定義されるはずで ある。
たとえば、外部プロトタイプのライブラリとして、ext.wrlを定義する。


 #VRML V2.0 utf8

 PROTO Cat [.....]{......}
 PROTO Dog [.....]{......}
 ..............

このライブラリを使用するメインのwrlファイルは、たとえば


  #VRML V2.0 utf8

  EXTERNPROTO  Cat [....] "ext.wrl#Cat"
  EXTERNPROTO  Dog [....] "ext.wrl#Dog"
  .................

  DEF COPY1 Cat{......}
  DEF COPY2 Dog{......}


"URL"の中の#nameは、ライブラリファイル内のnameというPROTOを参照しているとい うことである。
PROTOと同様に、COPY1,COPY2というCat,Dogタイプのノードを具体化している。