Difference between revisions of "Script-and-inputOutputField.x3d"
From Web3D.org
Line 12: | Line 12: | ||
<field accessType='inputOutput' name='foo' type='SFFloat' value='5'/> | <field accessType='inputOutput' name='foo' type='SFFloat' value='5'/> | ||
<field accessType='inputOnly' name='readFoo' type='SFTime'/><![CDATA[ecmascript: | <field accessType='inputOnly' name='readFoo' type='SFTime'/><![CDATA[ecmascript: | ||
− | |||
//----------------------------- | //----------------------------- | ||
function initialize (value) { | function initialize (value) { | ||
Line 18: | Line 17: | ||
text.string[0] = line; | text.string[0] = line; | ||
} | } | ||
− | |||
//----------------------------- | //----------------------------- | ||
function readFoo (value) { | function readFoo (value) { | ||
text.string[1] = 'readFoo called: TRUE, value: ' + foo; | text.string[1] = 'readFoo called: TRUE, value: ' + foo; | ||
} | } | ||
− | |||
//----------------------------- | //----------------------------- | ||
function foo (value) { | function foo (value) { | ||
text.string[3] = 'foo function called: TRUE; ' + value; | text.string[3] = 'foo function called: TRUE; ' + value; | ||
} | } | ||
− | |||
//----------------------------- | //----------------------------- | ||
function set_foo (value) { | function set_foo (value) { | ||
text.string[4] = 'set_foo function called: TRUE; ' + value; | text.string[4] = 'set_foo function called: TRUE; ' + value; | ||
} | } | ||
− | |||
//----------------------------- | //----------------------------- | ||
function foo_changed (value) { | function foo_changed (value) { | ||
Line 46: | Line 41: | ||
</field> | </field> | ||
<field accessType='inputOnly' name='fooCatcher' type='SFFloat'/><![CDATA[ecmascript: | <field accessType='inputOnly' name='fooCatcher' type='SFFloat'/><![CDATA[ecmascript: | ||
− | |||
//----------------------- | //----------------------- | ||
function fooCatcher (value) { | function fooCatcher (value) { | ||
text.string[2] = 'Foo value send: TRUE; value: ' + value; | text.string[2] = 'Foo value send: TRUE; value: ' + value; | ||
} | } | ||
− | |||
]]> | ]]> | ||
</Script> | </Script> |
Revision as of 21:06, 6 August 2008
<?xml version="1.0" encoding="UTF-8"?> <X3D profile='Full' >
<Scene DEF='scene'> <Viewpoint position='20 0 40'/> <Shape> <Text DEF='text' string='"Initialize called: FALSE" "readFoo() called: FALSE" "foo value send: FALSE" "foo function called: FALSE" "set_foo function called: FALSE" "foo_changed function called: FALSE"'/> </Shape> <Script DEF='s1' directOutput='true'> <field accessType='initializeOnly' name='text' type='SFNode'> <Text USE='text'/> </field> <field accessType='inputOutput' name='foo' type='SFFloat' value='5'/> <field accessType='inputOnly' name='readFoo' type='SFTime'/><![CDATA[ecmascript: //----------------------------- function initialize (value) { line = 'Initialized called: TRUE; foo value: ' + foo; text.string[0] = line; } //----------------------------- function readFoo (value) { text.string[1] = 'readFoo called: TRUE, value: ' + foo; } //----------------------------- function foo (value) { text.string[3] = 'foo function called: TRUE; ' + value; } //----------------------------- function set_foo (value) { text.string[4] = 'set_foo function called: TRUE; ' + value; } //----------------------------- function foo_changed (value) { text.string[5] = 'foo_changed function called: TRUE; ' + value; } ]]> </Script> <TimeSensor DEF='ts' cycleInterval='3' loop='true'/> <Script DEF='s2' directOutput='true'> <field accessType='initializeOnly' name='text' type='SFNode'> <Text USE='text'/> </field> <field accessType='inputOnly' name='fooCatcher' type='SFFloat'/><![CDATA[ecmascript: //----------------------- function fooCatcher (value) { text.string[2] = 'Foo value send: TRUE; value: ' + value; } ]]> </Script> <ROUTE fromNode='ts' fromField='fraction_changed' toNode='s1' toField='set_foo'/> <ROUTE fromNode='ts' fromField='cycleTime' toNode='s1' toField='readFoo'/> <ROUTE fromNode='s1' fromField='foo_changed' toNode='s2' toField='fooCatcher'/> </Scene>
</X3D>