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='title' content=' FlyingTextExample.x3d '/> |
6 | <meta name='description' content='Prototype definition for a flying text message. Waypoints, time intervals, cycleInterval and text message can be overridden.'/> |
7 | <meta name='creator' content='Murat Onder'/> |
8 | <meta name='created' content='2 June 2004'/> |
9 | <meta name='modified' content='6 June 2020'/> |
10 | <meta name='reference' content=' FlyingTextExample.x3d '/> |
11 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/FlyingTextExample.x3d '/> |
12 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
13 | <meta name='license' content='../../license.html'/> |
14 | </head> |
15 | <Scene> |
16 | <WorldInfo title='FlyingTextExample.x3d'/> |
17 | <ExternProtoDeclare name='DoubleClickTouchSensor' appinfo='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='description' type='SFString' accessType='inputOutput'
appinfo='describe the purpose of this sensor'/> |
19 |
<field name='maxDelayInterval' type='SFTime' accessType='initializeOnly'
appinfo='seconds'/> |
20 | <field name='enabled' type='SFBool' accessType='inputOutput'/> |
21 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
22 | <field name='isOver' type='SFBool' accessType='outputOnly'/> |
23 |
<field name='touchTime' type='SFTime' accessType='outputOnly'
appinfo='seconds'/> |
24 | <field name='hitPoint_changed' type='SFVec3f' accessType='outputOnly'/> |
25 | <field name='hitNormal_changed' type='SFVec3f' accessType='outputOnly'/> |
26 | <field name='hitTexCoord_changed' type='SFVec2f' accessType='outputOnly'/> |
27 |
<field name='metadata' type='SFNode' accessType='initializeOnly'
appinfo='can contain one of Metadata nodes'> |
28 | <!-- initialization node (if any) goes here --> |
29 | </field> |
30 | <field name='traceEnabled' type='SFBool' accessType='initializeOnly'/> |
31 | </ExternProtoDeclare> |
32 | <ProtoInstance name='DoubleClickTouchSensor' DEF='ExampleDoubleClickTouchSensor'> |
33 | <fieldValue name='description' value='double click to initiate time-delayed event'/> |
34 | <fieldValue name='maxDelayInterval' value='1'/> |
35 | <fieldValue name='metadata'> |
36 | <MetadataString name='exampleTerm' value='"exampleValue"'/> |
37 | </fieldValue> |
38 | </ProtoInstance> |
39 | <ExternProtoDeclare name='FlyingText' appinfo='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='waypoints' type='MFVec3f' accessType='initializeOnly'/> |
41 | <field name='set_waypoints' type='MFVec3f' accessType='inputOnly'/> |
42 | <field name='timeIntervals' type='MFTime' accessType='initializeOnly'/> |
43 | <field name='set_timeIntervals' type='MFTime' accessType='inputOnly'/> |
44 | <field name='textMessage' type='MFString' accessType='initializeOnly'/> |
45 | <field name='set_textMessage' type='MFString' accessType='inputOnly'/> |
46 | <field name='visible' type='SFBool' accessType='initializeOnly'/> |
47 | <field name='set_visible' type='SFBool' accessType='inputOnly'/> |
48 | <field name='loop' type='SFBool' accessType='initializeOnly'/> |
49 | <field name='axisOfRotation' type='SFVec3f' accessType='initializeOnly'/> |
50 | <field name='timeSensorEnabled' type='SFBool' accessType='initializeOnly'/> |
51 | <field name='startTime' type='SFTime' accessType='inputOutput'/> |
52 | <field name='set_startTime' type='SFTime' accessType='inputOnly'/> |
53 | <field name='stopTime' type='SFTime' accessType='inputOutput'/> |
54 | <field name='set_stopTime' type='SFTime' accessType='inputOnly'/> |
55 | <field name='traceEnabled' type='SFBool' accessType='initializeOnly'/> |
56 | <field name='textDiffuseColor' type='SFColor' accessType='inputOutput'/> |
57 | <field name='fontStyle' type='SFNode' accessType='inputOutput'/> |
58 | </ExternProtoDeclare> |
59 | <Background groundAngle='1.309 1.570796' groundColor='.1 .1 0 .5 .25 .2 .6 .6 .2' skyAngle='1.309 1.571' skyColor='.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='FlyingText' DEF='FlyingTextInstance'> |
62 | <fieldValue name='waypoints' value='0 0 0 -4 0 0 4 2 -2 0 -2 2 0 0 0'/> |
63 | <fieldValue name='timeIntervals' value='5 4 1 3'/> |
64 | <fieldValue name='textMessage' value='"flying" "text"'/> |
65 | </ProtoInstance> |
66 | </Transform> |
67 | <Group> |
68 |
<!-- ROUTE information for TouchRedSphere node:
[from touchTime to FlyingTextInstance.set_startTime
]
-->
<TouchSensor DEF='TouchRedSphere' description='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 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 |
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. |
<!--
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)
<ProtoInstance name='ProtoName'>
<field
name='fieldName'/> </ProtoInstance>
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->