<ProtoInterface> <field accessType="inputOutput" name="translation" type="SFVec3f"/> <field accessType="initializeOnly" name="radius" type="SFFloat"/> <field accessType="inputOutput" name="color" type="SFColor"/> <field accessType="initializeOnly" name="data" type="MFString"/> <field accessType="initializeOnly" name="position_field" type="SFInt32"/> <field accessType="outputOnly" name="data_out" type="MFString"/> <field accessType="outputOnly" name="name_out" type="MFString"/> <field accessType="outputOnly" name="position" type="SFInt32"/> <field accessType="outputOnly" name="button_on" type="SFBool"/> <field accessType="outputOnly" name="touch_out" type="SFBool"/> </ProtoInterface> |
<ProtoBody> <Transform> <IS> <connect nodeField="translation" protoField="translation"/> </IS> <Shape> <Sphere> <IS> <connect nodeField="radius" protoField="radius"/> </IS> </Sphere> <Appearance> <Material> <IS> <connect nodeField="diffuseColor" protoField="color"/> </IS> </Material> </Appearance> </Shape> <TouchSensor DEF="s_touch"> <IS> <connect nodeField="isActive" protoField="touch_out"/> </IS> </TouchSensor> </Transform> <Script DEF="atom_script"> : : </Script> <ROUTE fromField="isActive" fromNode="s_touch" toField="input" toNode="atom_script"/> </ProtoBody> |
<Script DEF="atom_script"> <field accessType="inputOnly" name="input" type="SFBool"/> <field accessType="initializeOnly" name="data" type="MFString"/> <field accessType="initializeOnly" name="position_field" type="SFInt32"/> <field accessType="outputOnly" name="name_out" type="MFString"/> <field accessType="outputOnly" name="data_out" type="MFString"/> <field accessType="outputOnly" name="position" type="SFInt32"/> <field accessType="outputOnly" name="button_on" type="SFBool"/> <IS> <connect nodeField="data" protoField="data"/> <connect nodeField="data_out" protoField="data_out"/> <connect nodeField="name_out" protoField="name_out"/> <connect nodeField="position" protoField="position"/> <connect nodeField="button_on" protoField="button_on"/> <connect nodeField="position_field" protoField="position_field"/> </IS> <![CDATA[javascript: function input(value) { if(value){ position = position_field; button_on = true; name_out[0] = data[9]; data_out[0] = data[0]; data_out[1] = data[1]; data_out[2] = data[2]; data_out[3] = data[3]; data_out[4] = data[4]; data_out[5] = data[5]; data_out[6] = data[6]; data_out[7] = data[7]; data_out[8] = data[8];}} ]]> </Script> |