Difference between revisions of "Script-and-inputOutputField.x3d"

From Web3D.org
Jump to: navigation, search
(Browser Results)
Line 64: Line 64:
 
| 7.107
 
| 7.107
 
| Not Expected
 
| Not Expected
| No objects showing, global not supported
+
| Follows the X3D-Spec: read on foo gives you the field value,
|-
+
but foo() as function gets also called. Breaks the ECMAScript spec.
 +
|-
 
| FreeWRL
 
| FreeWRL
 
|  
 
|  
| Untested
+
| Not Expected
|
+
| No support for inputOutput
  
 
|-
 
|-
 
| Octaga
 
| Octaga
 
| 2.2.0.12
 
| 2.2.0.12
| Expected
+
| Not Expected
|
+
| same as bscontact but addition initialize() is not called. Breaks the ECMAScript spec
 
|-
 
|-
 
| Instant Reality
 
| Instant Reality
 
| 2.0.0_beta4
 
| 2.0.0_beta4
 
| Not Expected  
 
| Not Expected  
| Both spheres the same intensity, expect attenuation not supported
+
| reading foo returns the function not the field value.
 +
foo() funciton gets called. Does not break X3D or ECMA spec
 +
but field value is not accessible.
 
|  
 
|  
 
|-
 
|-

Revision as of 14:14, 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>

Browser Results

Browser Version Result Notes
BS Contact 7.107 Not Expected Follows the X3D-Spec: read on foo gives you the field value,

but foo() as function gets also called. Breaks the ECMAScript spec.

FreeWRL Not Expected No support for inputOutput
Octaga 2.2.0.12 Not Expected same as bscontact but addition initialize() is not called. Breaks the ECMAScript spec
Instant Reality 2.0.0_beta4 Not Expected reading foo returns the function not the field value.

foo() funciton gets called. Does not break X3D or ECMA spec but field value is not accessible.

Vivaty 2.1 Expected
Xj3D 2_M1_DEV_2008-06_02 Expected