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=' CarrierGuns.x3d '/> |
6 | <meta name='description' content='Simple guns for carrier'/> |
7 | <meta name='creator' content='Chun Hock Sng'/> |
8 | <meta name='created' content='1 February 2001'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/CarrierSaratogaUnitedStates/CarrierGuns.x3d '/> |
11 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
12 | <meta name='license' content='../../license.html'/> |
13 | </head> |
14 | <Scene> |
15 | <WorldInfo title='CarrierGuns.x3d'/> |
16 | <Group DEF='Guns'> |
17 |
<!-- ROUTE information for Rotate_Gun1 node:
[from Gun_1.value_changed to set_rotation
]
-->
<Transform DEF='Rotate_Gun1' center='16 0 0'> |
18 | <Shape DEF='Gun1'> |
19 | <Extrusion creaseAngle='3.14' crossSection='15 1 18 1 18.5 0.5 19 0 18.5 -0.5 18 -1 15 -1 15 1' scale='0.90 0.90 0.90 0.90' spine='0 -2.5 0 0 -0.1 0'/> |
20 | <Appearance> |
21 | <Material diffuseColor='0.3 0.3 0.3'/> |
22 | </Appearance> |
23 | </Shape> |
24 | <Transform rotation='0 0 1 1.57079' translation='13.25 -1.5 0'> |
25 | <Shape DEF='Gun_barrel1'> |
26 | <Cylinder height='3.5' radius='0.1'/> |
27 | <Appearance> |
28 | <Material diffuseColor='0.4 0.4 0.4'/> |
29 | </Appearance> |
30 | </Shape> |
31 | </Transform> |
32 |
<!-- ROUTE information for TouchSensor1 node:
[from isOver to CLOCK1.set_enabled
]
-->
<TouchSensor DEF='TouchSensor1' enabled='false'/> |
33 |
<!-- ROUTE information for CLOCK1 node:
[from TouchSensor1.isOver to set_enabled
]
[from fraction_changed to Gun_1.set_fraction
]
-->
<TimeSensor DEF='CLOCK1' cycleInterval='10' loop='true'/> |
34 |
<!-- ROUTE information for Gun_1 node:
[from CLOCK1.fraction_changed to set_fraction
]
[from value_changed to Rotate_Gun1.set_rotation
]
-->
<OrientationInterpolator DEF='Gun_1' key='0.0 0.25 0.5 0.75 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.78 0.0 1.0 0.0 1.57079 0.0 1 0 0.78 0 1 0 0'/> |
35 | </Transform> |
36 |
<!-- ROUTE information for Rotate_Gun2 node:
[from Gun_2.value_changed to set_rotation
]
-->
<Transform DEF='Rotate_Gun2' center='27 0 0'> |
37 | <Shape DEF='Gun2'> |
38 | <Extrusion creaseAngle='3.14' crossSection='27.5 0 30.5 0 31 -0.5 31.5 -1 31 -1.5 30.5 -2 27.5 -2 27.5 0' scale='0.90 0.90 0.90 0.90' spine='0 -2.5 0 0 -0.1 0'/> |
39 | <Appearance> |
40 | <Material diffuseColor='0.3 0.3 0.3'/> |
41 | </Appearance> |
42 | </Shape> |
43 | <Transform rotation='0 0 1 1.57079' translation='24.25 -1.5 -1'> |
44 | <Shape DEF='Gun_barrel2'> |
45 | <Cylinder height='3.5' radius='0.1'/> |
46 | <Appearance> |
47 | <Material diffuseColor='0.4 0.4 0.4'/> |
48 | </Appearance> |
49 | </Shape> |
50 | </Transform> |
51 |
<!-- ROUTE information for TouchSensor2 node:
[from isOver to CLOCK2.set_enabled
]
-->
<TouchSensor DEF='TouchSensor2'/> |
52 |
<!-- ROUTE information for CLOCK2 node:
[from TouchSensor2.isOver to set_enabled
]
[from fraction_changed to Gun_2.set_fraction
]
-->
<TimeSensor DEF='CLOCK2' cycleInterval='10' enabled='false' loop='true'/> |
53 |
<!-- ROUTE information for Gun_2 node:
[from CLOCK2.fraction_changed to set_fraction
]
[from value_changed to Rotate_Gun2.set_rotation
]
-->
<OrientationInterpolator DEF='Gun_2' key='0.0 0.25 0.5 0.75 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.78 0.0 1.0 0.0 1.57079 0.0 1 0 0.78 0 1 0 0'/> |
54 | </Transform> |
55 |
<!-- ROUTE information for Rotate_Gun3 node:
[from Gun_3.value_changed to set_rotation
]
-->
<Transform DEF='Rotate_Gun3' center='16 0 -34'> |
56 | <Shape DEF='Gun3'> |
57 | <Extrusion creaseAngle='3.14' crossSection='15 -36.5 18 -36.5 18.5 -37 19 -37.5 18.5 -38 18 -38.5 15 -38.5 15 -36.5' scale='0.90 0.90 0.90 0.90' spine='0 -2.5 0 0 -0.1 0'/> |
58 | <Appearance> |
59 | <Material diffuseColor='0.3 0.3 0.3'/> |
60 | </Appearance> |
61 | </Shape> |
62 | <Transform rotation='0 0 1 1.57079' translation='13.25 -1.5 -33.6'> |
63 | <Shape DEF='Gun_barrel3'> |
64 | <Cylinder height='3.5' radius='0.1'/> |
65 | <Appearance> |
66 | <Material diffuseColor='0.4 0.4 0.4'/> |
67 | </Appearance> |
68 | </Shape> |
69 | </Transform> |
70 |
<!-- ROUTE information for TouchSensor3 node:
[from isOver to CLOCK3.set_enabled
]
-->
<TouchSensor DEF='TouchSensor3' enabled='false'/> |
71 |
<!-- ROUTE information for CLOCK3 node:
[from TouchSensor3.isOver to set_enabled
]
[from fraction_changed to Gun_3.set_fraction
]
-->
<TimeSensor DEF='CLOCK3' cycleInterval='10' loop='true'/> |
72 |
<!-- ROUTE information for Gun_3 node:
[from CLOCK3.fraction_changed to set_fraction
]
[from value_changed to Rotate_Gun3.set_rotation
]
-->
<OrientationInterpolator DEF='Gun_3' key='0.0 0.25 0.5 0.75 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.78 0.0 1.0 0.0 -1.57079 0.0 1 0 -0.78 0 1 0 0'/> |
73 | </Transform> |
74 |
<!-- ROUTE information for Rotate_Gun4 node:
[from Gun_4.value_changed to set_rotation
]
-->
<Transform DEF='Rotate_Gun4' center='27 0 -33'> |
75 | <Shape DEF='Gun4'> |
76 | <Extrusion creaseAngle='3.14' crossSection='27.5 -35.5 30.5 -35.5 31 -36 31.5 -36.5 31 -37 30.5 -37.5 27.5 -37.5 27.5 -35.5' scale='0.90 0.90 0.90 0.90' spine='0 -2.5 0 0 -0.1 0'/> |
77 | <Appearance> |
78 | <Material diffuseColor='0.3 0.3 0.3'/> |
79 | </Appearance> |
80 | </Shape> |
81 | <Transform rotation='0 0 1 1.57079' translation='24.25 -1.5 -32.6'> |
82 | <Shape DEF='Gun_barrel4'> |
83 | <Cylinder height='3.5' radius='0.1'/> |
84 | <Appearance> |
85 | <Material diffuseColor='0.4 0.4 0.4'/> |
86 | </Appearance> |
87 | </Shape> |
88 | </Transform> |
89 |
<!-- ROUTE information for TouchSensor4 node:
[from isOver to CLOCK4.set_enabled
]
-->
<TouchSensor DEF='TouchSensor4'/> |
90 |
<!-- ROUTE information for Gun_4 node:
[from CLOCK4.fraction_changed to set_fraction
]
[from value_changed to Rotate_Gun4.set_rotation
]
-->
<OrientationInterpolator DEF='Gun_4' key='0.0 0.25 0.5 0.75 1.0' keyValue='0.0 1.0 0.0 0.0 0.0 1.0 0.0 -0.78 0.0 1.0 0.0 -1.57079 0.0 1 0 -0.78 0 1 0 0'/> |
91 |
<!-- ROUTE information for CLOCK4 node:
[from TouchSensor4.isOver to set_enabled
]
[from fraction_changed to Gun_4.set_fraction
]
-->
<TimeSensor DEF='CLOCK4' cycleInterval='10' enabled='false' loop='true'/> |
92 | </Transform> |
93 | <Viewpoint description='CarrierGuns' position='18 5 25'/> |
94 | </Group> |
95 | < ROUTE fromNode='TouchSensor1' fromField='isOver' toNode='CLOCK1' toField='set_enabled'/> |
96 | < ROUTE fromNode='CLOCK1' fromField='fraction_changed' toNode='Gun_1' toField='set_fraction'/> |
97 | < ROUTE fromNode='Gun_1' fromField='value_changed' toNode='Rotate_Gun1' toField='set_rotation'/> |
98 | < ROUTE fromNode='TouchSensor2' fromField='isOver' toNode='CLOCK2' toField='set_enabled'/> |
99 | < ROUTE fromNode='CLOCK2' fromField='fraction_changed' toNode='Gun_2' toField='set_fraction'/> |
100 | < ROUTE fromNode='Gun_2' fromField='value_changed' toNode='Rotate_Gun2' toField='set_rotation'/> |
101 | < ROUTE fromNode='TouchSensor3' fromField='isOver' toNode='CLOCK3' toField='set_enabled'/> |
102 | < ROUTE fromNode='TouchSensor4' fromField='isOver' toNode='CLOCK4' toField='set_enabled'/> |
103 | < ROUTE fromNode='CLOCK3' fromField='fraction_changed' toNode='Gun_3' toField='set_fraction'/> |
104 | < ROUTE fromNode='CLOCK4' fromField='fraction_changed' toNode='Gun_4' toField='set_fraction'/> |
105 | < ROUTE fromNode='Gun_3' fromField='value_changed' toNode='Rotate_Gun3' toField='set_rotation'/> |
106 | < ROUTE fromNode='Gun_4' fromField='value_changed' toNode='Rotate_Gun4' toField='set_rotation'/> |
107 | </Scene> |
108 | </X3D> |
Event Graph ROUTE Table entries with 12 ROUTE connections 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.
TouchSensor1
TouchSensor isOver SFBool |
CLOCK1
TimeSensor set_enabled SFBool |
then
|
CLOCK1
TimeSensor fraction_changed SFFloat |
Gun_1
OrientationInterpolator set_fraction SFFloat |
then
|
Gun_1
OrientationInterpolator value_changed SFRotation |
Rotate_Gun1
Transform set_rotation SFRotation |
TouchSensor2
TouchSensor isOver SFBool |
CLOCK2
TimeSensor set_enabled SFBool |
then
|
CLOCK2
TimeSensor fraction_changed SFFloat |
Gun_2
OrientationInterpolator set_fraction SFFloat |
then
|
Gun_2
OrientationInterpolator value_changed SFRotation |
Rotate_Gun2
Transform set_rotation SFRotation |
TouchSensor3
TouchSensor isOver SFBool |
CLOCK3
TimeSensor set_enabled SFBool |
then
|
CLOCK3
TimeSensor fraction_changed SFFloat |
Gun_3
OrientationInterpolator set_fraction SFFloat |
then
|
Gun_3
OrientationInterpolator value_changed SFRotation |
Rotate_Gun3
Transform set_rotation SFRotation |
TouchSensor4
TouchSensor isOver SFBool |
CLOCK4
TimeSensor set_enabled SFBool |
then
|
CLOCK4
TimeSensor fraction_changed SFFloat |
Gun_4
OrientationInterpolator set_fraction SFFloat |
then
|
Gun_4
OrientationInterpolator value_changed SFRotation |
Rotate_Gun4
Transform set_rotation SFRotation |
<!--
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.
-->