| 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd"> | 
| 3 | <X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'> | 
| 4 | <head> | 
| 5 | <meta name='title' content=' ProxyShapeExample.x3d '/> | 
| 6 | <meta name='creator' content='Don Brutzman'/> | 
| 7 | <meta name='created' content='14 January 2000'/> | 
| 8 | <meta name='modified' content='20 October 2019'/> | 
| 9 | <meta name='description' content='Collision node, child test case: can reorder children nodes as Shape Proxy Shape or other variations without problems in XML encoding, but reordering difficulties can occur in other programming language bindings.'/> | 
| 10 | <meta name='reference' content='https://www.web3d.org/technicalinfo/specifications/vrml97/part1/nodesRef.html#Collision'/> | 
| 11 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Basic/development/ProxyShapeExample.x3d '/> | 
| 12 | <meta name='generator' content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/> | 
| 13 | <meta name='license' content='../license.html'/> | 
| 14 | </head> | 
 DEF nodes index: 
               
               MyCollision,
MyNodeProducer,
RedAppearance
               
               
                  DEF nodes index: 
               
               MyCollision,
MyNodeProducer,
RedAppearance
            | 15 | <Scene> | 
| 16 | <WorldInfo title='ProxyShapeExample.x3d'/> | 
| 17 | 
          <!-- ROUTE information for MyCollision node: 
[from MyNodeProducer.outputNode to children
                        ]
 --> <Collision DEF='MyCollision'> | 
| 18 | <!-- can experiment with order of proxy and children nodes without error in XML encoding, but reordering difficulties can occur in other programming language bindings. --> | 
| 19 | <Shape containerField='proxy'> | 
| 20 | <Box size='16 16 16'/> | 
| 21 | </Shape> | 
| 22 | <Shape> | 
| 23 | <Sphere/> | 
| 24 | 
                    <!-- Appearance
                                    RedAppearance is a DEF node that has 1 USE node: USE_1 --> <Appearance DEF='RedAppearance'> | 
| 25 | <Material diffuseColor='1 0 0'/> | 
| 26 | </Appearance> | 
| 27 | </Shape> | 
| 28 | <Shape> | 
| 29 | <Cone/> | 
| 30 | <Appearance USE='RedAppearance'/> | 
| 31 | </Shape> | 
| 32 | </Collision> | 
| 33 | 
          <!-- ROUTE information for MyNodeProducer node: 
[from outputNode to MyCollision.children
                        ]
 --> <Script DEF='MyNodeProducer' directOutput='true'> | 
| 34 | <field name='outputNode' type='MFNode' accessType='outputOnly'/> | 
| 
                                 <![CDATA[
                              
      
ecmascript:
function initialize ()
{
	nodesString ='Group { children [ Shape {' +
	'geometry Text {' + 
		 'string [ \"proxy is\" \"any-order child\" \"of Collision\" ]' +
		 'fontStyle FontStyle { justify [ \"MIDDLE\" \"MIDDLE\" ] } }' +
	'appearance Appearance {' +
		 'material Material { diffuseColor 0.1  0.4 0.8 }' + 
	'} } ] }';
	Browser.println (nodesString);
	outputNode = Browser.createVrmlFromString (nodesString);
}
    
                                 ]]>
                               | |
| 36 | </Script> | 
| 37 | < ROUTE fromNode='MyNodeProducer' fromField='outputNode' toNode='MyCollision' toField='children'/> | 
| 38 | </Scene> | 
| 39 | </X3D> | 
 DEF nodes index: 
         
         MyCollision,
MyNodeProducer,
RedAppearance
         
         
            DEF nodes index: 
         
         MyCollision,
MyNodeProducer,
RedAppearance
      Event Graph ROUTE Table with 1 ROUTE connection total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
| MyNodeProducer Script outputNode MFNode | MyCollision Collision children MFNode | 
         <!--
Color-coding legend: X3D terminology 
<X3dNode
          DEF='idName' field='value'/> 
 matches XML terminology 
<XmlElement
          DEF='idName' attribute='value'/> 
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
          -->
      
         
             <!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->
         
         <!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->