Original Spec| Sample

定義

Switch { 
  exposedField    MFNode  choice      []
  exposedField    SFInt32 whichChoice -1    # [-1,)
}
表示するノードを切り替えるのに用います。
choice
選択されるノードを定義
whichChoice
何番目を選択するか指定、-1は何も表示しない。

サンプル

クリックするたび箱と円錐が切り替わります。
#VRML V2.0 utf8
DEF SW Switch {
  whichChoice 0
  choice [ 
    Shape { geometry Box {}}
    Shape { geometry Cone {}}
  ]
}
#TouchSensor
DEF TS TouchSensor {}
#クリックするたびに1と0を交互に出力
DEF SC Script {
  eventOut SFInt32 choice
  eventIn SFTime clicked
  field SFInt32 current 0
  url "javascript:function clicked(value, time){
        current = 1 -current;
        choice = current;
  }"
}
#イベントの配送
ROUTE TS.touchTime TO SC.clicked
ROUTE SC.choice TO SW.set_whichChoice