X3D Model Documentation: FlyingTextExample.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  4       <head>
  5            <meta name='titlecontent=' FlyingTextExample.x3d '/>
  6            <meta name='descriptioncontent='Prototype definition for a flying text message. Waypoints, time intervals, cycleInterval and text message can be overridden.'/>
  7            <meta name='creatorcontent='Murat Onder'/>
  8            <meta name='createdcontent='2 June 2004'/>
  9            <meta name='modifiedcontent='6 June 2020'/>
 10            <meta name='referencecontent=' FlyingTextExample.x3d '/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextExample.x3d '/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 13            <meta name='licensecontent='../../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: ExampleDoubleClickTouchSensor, FlyingTextInstance, ProtoInstanceTransform, TouchRedSphere

Index for ExternProtoDeclare definitions: DoubleClickTouchSensor, FlyingText
-->
 15       <Scene>
 16            <WorldInfo title='FlyingTextExample.x3d'/>
 17            <ExternProtoDeclare name='DoubleClickTouchSensorappinfo='DoubleClickTouchSensor functionality activates when user double clicks (or double selects) within maxDelayInterval'   url=' "../../Savage/Tools/Animation/DoubleClickTouchSensorPrototype.x3d#DoubleClickTouchSensor" "../../../Savage/Tools/Animation/DoubleClickTouchSensorPrototype.x3d#DoubleClickTouchSensor" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/DoubleClickTouchSensorPrototype.x3d#DoubleClickTouchSensor" "../../../Savage/Tools/Animation/DoubleClickTouchSensorPrototype.wrl#DoubleClickTouchSensor" "../../Savage/Tools/Animation/DoubleClickTouchSensorPrototype.wrl#DoubleClickTouchSensor" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/DoubleClickTouchSensorPrototype.wrl#DoubleClickTouchSensor" '>
 18                 <field name='descriptiontype='SFStringaccessType='inputOutput'
                appinfo='describe the purpose of this sensor'/>
 19                 <field name='maxDelayIntervaltype='SFTimeaccessType='initializeOnly'
                appinfo='seconds'/>
 20                 <field name='enabledtype='SFBoolaccessType='inputOutput'/>
 21                 <field name='isActivetype='SFBoolaccessType='outputOnly'/>
 22                 <field name='isOvertype='SFBoolaccessType='outputOnly'/>
 23                 <field name='touchTimetype='SFTimeaccessType='outputOnly'
                appinfo='seconds'/>
 24                 <field name='hitPoint_changedtype='SFVec3faccessType='outputOnly'/>
 25                 <field name='hitNormal_changedtype='SFVec3faccessType='outputOnly'/>
 26                 <field name='hitTexCoord_changedtype='SFVec2faccessType='outputOnly'/>
 27                 <field name='metadatatype='SFNodeaccessType='initializeOnly'
                appinfo='can contain one of Metadata nodes'>
 28                      <!-- initialization node (if any) goes here -->
 29                 </field>
 30                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'/>
 31            </ExternProtoDeclare>
 32            <ProtoInstance name='DoubleClickTouchSensorDEF='ExampleDoubleClickTouchSensor'>
 33                 <fieldValue name='descriptionvalue='double click to initiate time-delayed event'/>
 34                 <fieldValue name='maxDelayIntervalvalue='1'/>
 35                 <fieldValue name='metadata'>
 36                      <MetadataString name='exampleTermvalue='"exampleValue"'/>
 37                 </fieldValue>
 38            </ProtoInstance>
 39            <ExternProtoDeclare name='FlyingTextappinfo='Visualize message transfer between two points as flying text'   url=' "../../../Savage/Tools/Animation/FlyingTextPrototype.x3d#FlyingText" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextPrototype.x3d#FlyingText" "../../../Savage/Tools/Animation/FlyingTextPrototype.wrl#FlyingText" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextPrototype.wrl#FlyingText" '>
 40                 <field name='waypointstype='MFVec3faccessType='initializeOnly'/>
 41                 <field name='set_waypointstype='MFVec3faccessType='inputOnly'/>
 42                 <field name='timeIntervalstype='MFTimeaccessType='initializeOnly'/>
 43                 <field name='set_timeIntervalstype='MFTimeaccessType='inputOnly'/>
 44                 <field name='textMessagetype='MFStringaccessType='initializeOnly'/>
 45                 <field name='set_textMessagetype='MFStringaccessType='inputOnly'/>
 46                 <field name='visibletype='SFBoolaccessType='initializeOnly'/>
 47                 <field name='set_visibletype='SFBoolaccessType='inputOnly'/>
 48                 <field name='looptype='SFBoolaccessType='initializeOnly'/>
 49                 <field name='axisOfRotationtype='SFVec3faccessType='initializeOnly'/>
 50                 <field name='timeSensorEnabledtype='SFBoolaccessType='initializeOnly'/>
 51                 <field name='startTimetype='SFTimeaccessType='inputOutput'/>
 52                 <field name='set_startTimetype='SFTimeaccessType='inputOnly'/>
 53                 <field name='stopTimetype='SFTimeaccessType='inputOutput'/>
 54                 <field name='set_stopTimetype='SFTimeaccessType='inputOnly'/>
 55                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'/>
 56                 <field name='textDiffuseColortype='SFColoraccessType='inputOutput'/>
 57                 <field name='fontStyletype='SFNodeaccessType='inputOutput'/>
 58            </ExternProtoDeclare>
 59            <Background groundAngle='1.309 1.570796groundColor='.1 .1 0 .5 .25 .2 .6 .6 .2skyAngle='1.309 1.571skyColor='.7 .3 0 .6 .4 0 1 1 0'/>
 60            <Transform DEF='ProtoInstanceTransform'>
 61 
               <!-- ROUTE information for FlyingTextInstance node:  [from TouchRedSphere.touchTime to set_startTime ] -->
               <ProtoInstance name='FlyingTextDEF='FlyingTextInstance'>
 62                      <fieldValue name='waypointsvalue='0 0 0 -4 0 0 4 2 -2 0 -2 2 0 0 0'/>
 63                      <fieldValue name='timeIntervalsvalue='5 4 1 3'/>
 64                      <fieldValue name='textMessagevalue='"flying" "text"'/>
 65                 </ProtoInstance>
 66            </Transform>
 67            <Group>
 68 
               <!-- ROUTE information for TouchRedSphere node:  [from touchTime to FlyingTextInstance.set_startTime ] -->
               <TouchSensor DEF='TouchRedSpheredescription='touch to start animation'/>
 69                 < ROUTE  fromNode='TouchRedSphere' fromField='touchTime' toNode='FlyingTextInstance' toField='set_startTime'/>
 70                 <Transform translation='-4 0 0'>
 71                      <Shape>
 72                           <Sphere radius='.2'/>
 73                           <Appearance>
 74                                <Material diffuseColor='1 0 0'/>
 75                           </Appearance>
 76                      </Shape>
 77                 </Transform>
 78                 <Transform translation='4 2 -2'>
 79                      <Shape>
 80                           <Sphere radius='.2'/>
 81                           <Appearance>
 82                                <Material diffuseColor='0 1 0'/>
 83                           </Appearance>
 84                      </Shape>
 85                 </Transform>
 86                 <Transform translation='0 -2 2'>
 87                      <Shape>
 88                           <Sphere radius='.2'/>
 89                           <Appearance>
 90                                <Material diffuseColor='0 0 1'/>
 91                           </Appearance>
 92                      </Shape>
 93                 </Transform>
 94            </Group>
 95       </Scene>
 96  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: ExampleDoubleClickTouchSensor, FlyingTextInstance, ProtoInstanceTransform, TouchRedSphere

Index for ExternProtoDeclare definitions: DoubleClickTouchSensor, FlyingText
-->
X3D Tooltips element index: Appearance, Background, ExternProtoDeclare, field, fieldValue, Group, head, Material, meta, MetadataString, ProtoInstance, ROUTE, Scene, Shape, Sphere, TouchSensor, Transform, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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.

TouchRedSphere
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
FlyingTextInstance
ProtoInstance
set_startTime
SFTime

ExampleDoubleClickTouchSensor
ProtoInstance
DoubleClickTouchSensor
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declaration with
direct access to other nodes, and thus has potential to produce run-time animation. 

      FlyingTextInstance
ProtoInstance
FlyingText
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextExampleIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextExample.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->