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=' CH46.x3d '/> |
6 | <meta name='description' content='Simplistic model of a CH-46 helicopter, which is a medium-lift rotary-wing aircraft used for carrying troops.'/> |
7 | <meta name='creator' content='Capt Allen A. Harper'/> |
8 | <meta name='created' content='2 August 2001'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='reference' content=' https://www.fas.org/man/dod-101/sys/ac/ch-46.htm '/> |
11 | <meta name='subject' content='military aircraft CH-46 CH46 rotary wing helicopter'/> |
12 | <meta name='reference' content=' https://www.web3d.org/x3d/content/examples/Basic/UniversalMediaPanoramas/ocean3.x3d '/> |
13 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/AircraftHelicopters/CH46eSeaKnightUnitedStates/CH46.x3d '/> |
14 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
15 | <meta name='license' content='../../license.html'/> |
16 | </head> |
17 | <Scene> |
18 | <!-- Universal Media background --> |
19 | <WorldInfo title='CH46.x3d'/> |
20 |
<Background groundAngle='0.1 1.309 1.570796' groundColor='0 0 0 0 0.1 0.3 0 0.2 0.5 0 0.3 0.8' skyAngle='0.1 0.15 1.309 1.57079' skyColor='0.4 0.4 0.1 0.4 0.4 0.1 0 0.1 0.3 0 0.2 0.6 0.8 0.8 0.8'
backUrl=' "urn:web3d:media:textures/panoramas/ocean_3_back.jpg" "../../../Basic/UniversalMediaPanoramas/ocean_3_back.jpg![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
21 | <!-- Viewpoint choices --> |
22 | <Viewpoint description='CH-46 Front, level' position='0 0 30'/> |
23 | <Viewpoint description='CH-46 Front, angle down' orientation='1 0 0 -0.78' position='0 30 30'/> |
24 | <Viewpoint description='CH-46 Right wing, level' orientation='0 1 0 1.57' position='30 0 0'/> |
25 | <Viewpoint description='CH-46 Rear, level' orientation='0 1 0 3.14' position='0 0 -30'/> |
26 | <Viewpoint description='CH-46 Left wing, level' orientation='0 1 0 -1.57' position='-30 0 0'/> |
27 | <Viewpoint description='CH-46 Bottom, up' orientation='1 0 0 1.57' position='0 -30 0'/> |
28 | <Viewpoint description='CH-46 Top, down' orientation='1 0 0 -1.57' position='0 30 0'/> |
29 | <!-- Front Set of Blades --> |
30 | <Transform DEF='Front_Rotors' rotation='1 0 0 -1.60' translation='0 2 -1'> |
31 |
<!-- ROUTE information for Rotor node:
[from RotorPath.value_changed to set_rotation
]
-->
<Transform DEF='Rotor' translation='0 -6 1.0'> |
32 | <Transform rotation='1 0 0 1.57'> |
33 | <Shape> |
34 | <Cylinder height='0.1' radius='0.6'/> |
35 | <Appearance> |
36 | <Material diffuseColor='0 0 0' shininess='.3'/> |
37 | </Appearance> |
38 | </Shape> |
39 | </Transform> |
40 | <Transform center='5.0 0 0' rotation='0 0 1 1.043' translation='-5.0 0 0'> |
41 | <Shape> |
42 | <Box size='8 0.8 0.2'/> |
43 | <Appearance> |
44 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
45 | </Appearance> |
46 | </Shape> |
47 | </Transform> |
48 | <Transform translation='5.0 0 0'> |
49 | <Shape> |
50 | <Box size='8 0.8 0.2'/> |
51 | <Appearance> |
52 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
53 | </Appearance> |
54 | </Shape> |
55 | </Transform> |
56 | <Transform center='-5.0 0 0' rotation='0 0 1 2.086' translation='5.0 0 0'> |
57 | <Shape> |
58 | <Box size='8 0.8 0.2'/> |
59 | <Appearance> |
60 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
61 | </Appearance> |
62 | </Shape> |
63 | </Transform> |
64 | </Transform> |
65 | <!-- Propeller sensor and interpolator --> |
66 |
<!-- ROUTE information for Clock node:
[from fraction_changed to RotorPath.set_fraction
]
-->
<TimeSensor DEF='Clock' loop='true'/> |
67 |
<!-- ROUTE information for RotorPath node:
[from Clock.fraction_changed to set_fraction
]
[from value_changed to Rotor.set_rotation
]
-->
<OrientationInterpolator DEF='RotorPath' key='0.0 0.50 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 3.14 0.0 0.0 1.0 6.28'/> |
68 | </Transform> |
69 | < ROUTE fromNode='Clock' fromField='fraction_changed' toNode='RotorPath' toField='set_fraction'/> |
70 | < ROUTE fromNode='RotorPath' fromField='value_changed' toNode='Rotor' toField='set_rotation'/> |
71 | <!-- Rear Set of Blades --> |
72 | <Transform DEF='Rear_Rotors' rotation='1 0 0 -1.50' translation='0 2.1 -1'> |
73 |
<!-- ROUTE information for Rotor2 node:
[from RotorPath2.value_changed to set_rotation
]
-->
<Transform DEF='Rotor2' translation='0 6 1.0'> |
74 | <Transform rotation='1 0 0 1.57'> |
75 | <Shape> |
76 | <Cylinder height='0.1' radius='0.6'/> |
77 | <Appearance> |
78 | <Material diffuseColor='0 0 0' shininess='.3'/> |
79 | </Appearance> |
80 | </Shape> |
81 | </Transform> |
82 | <Transform center='-5 0 0' rotation='0 0 1 1.043' translation='5 0 0'> |
83 | <Shape> |
84 | <Box size='8 0.8 0.2'/> |
85 | <Appearance> |
86 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
87 | </Appearance> |
88 | </Shape> |
89 | </Transform> |
90 | <Transform translation='-5 0 0'> |
91 | <Shape> |
92 | <Box size='8 0.8 0.2'/> |
93 | <Appearance> |
94 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
95 | </Appearance> |
96 | </Shape> |
97 | </Transform> |
98 | <Transform center='5 0 0' rotation='0 0 1 2.086' translation='-5 0 0'> |
99 | <Shape> |
100 | <Box size='8 0.8 0.2'/> |
101 | <Appearance> |
102 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
103 | </Appearance> |
104 | </Shape> |
105 | </Transform> |
106 | </Transform> |
107 | <!-- Propeller sensor and interpolator --> |
108 |
<!-- ROUTE information for Clock2 node:
[from fraction_changed to RotorPath2.set_fraction
]
-->
<TimeSensor DEF='Clock2' loop='true'/> |
109 |
<!-- ROUTE information for RotorPath2 node:
[from Clock2.fraction_changed to set_fraction
]
[from value_changed to Rotor2.set_rotation
]
-->
<OrientationInterpolator DEF='RotorPath2' key='0.0 0.50 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 -3.14 0.0 0.0 1.0 -6.28'/> |
110 | </Transform> |
111 | < ROUTE fromNode='Clock2' fromField='fraction_changed' toNode='RotorPath2' toField='set_fraction'/> |
112 | < ROUTE fromNode='RotorPath2' fromField='value_changed' toNode='Rotor2' toField='set_rotation'/> |
113 | <!-- Body of Aircraft --> |
114 | <Group> |
115 | <Transform rotation='-1 0 0 1.57' translation='0 0 -0.6'> |
116 | <!-- Plane Main Body --> |
117 | <Shape> |
118 | <Cylinder height='13' radius='2'/> |
119 | <Appearance> |
120 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
121 |
<!-- ImageTexture
camo-wood2 is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <ImageTexture DEF='camo-wood2' url=' "camo-wood2.jpg ![]() ![]() |
122 | </Appearance> |
123 | </Shape> |
124 | </Transform> |
125 | <Transform scale='2.2 1.4 2.8' translation='0 -0.65 6.5'> |
126 | <!-- Lower Nose Bubble --> |
127 | <Shape> |
128 | <Sphere/> |
129 | <Appearance> |
130 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
131 |
<ImageTexture DEF='camo-wood3'
url=' "camo-wood3.jpg![]() ![]() |
132 | <TextureTransform/> |
133 | </Appearance> |
134 | </Shape> |
135 | </Transform> |
136 | <Transform scale='2.2 2 3' translation='0 0.5 5.0'> |
137 | <!-- Upper Nose Bubble --> |
138 | <Shape> |
139 | <Sphere/> |
140 | <Appearance> |
141 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
142 |
<ImageTexture DEF='camo-wood4'
url=' "camo-wood4.jpg![]() ![]() |
143 | </Appearance> |
144 | </Shape> |
145 | </Transform> |
146 | <Transform rotation='1 0 0 0.4' scale='2.2 2.5 4' translation='0 0.45 -6.7'> |
147 | <!-- Rear Upper Bubble (Cowling) --> |
148 | <Shape> |
149 | <Sphere/> |
150 | <Appearance> |
151 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
152 | <ImageTexture USE='camo-wood2'/> |
153 | </Appearance> |
154 | </Shape> |
155 | </Transform> |
156 | <Transform rotation='0 0 1 1.57' scale='0.5 1.5 2' translation='0 -0.8 -3.5'> |
157 | <!-- Stabilizer Wing --> |
158 | <Shape> |
159 | <Cylinder height='5'/> |
160 | <Appearance> |
161 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
162 | <ImageTexture USE='camo-wood2'/> |
163 | </Appearance> |
164 | </Shape> |
165 | </Transform> |
166 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 0.7'> |
167 | <!-- Side Bubble window --> |
168 | <Shape> |
169 | <Sphere radius='0.6'/> |
170 | <Appearance> |
171 | <Material diffuseColor='0 0 0' shininess='.5'/> |
172 | </Appearance> |
173 | </Shape> |
174 | </Transform> |
175 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 -0.7'> |
176 | <!-- Side Bubble window --> |
177 | <Shape> |
178 | <Sphere radius='0.6'/> |
179 | <Appearance> |
180 | <Material diffuseColor='0 0 0' shininess='.5'/> |
181 | </Appearance> |
182 | </Shape> |
183 | </Transform> |
184 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 -3'> |
185 | <!-- Side Bubble window --> |
186 | <Shape> |
187 | <Sphere radius='0.6'/> |
188 | <Appearance> |
189 | <Material diffuseColor='0 0 0' shininess='.5'/> |
190 | </Appearance> |
191 | </Shape> |
192 | </Transform> |
193 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 3'> |
194 | <!-- Side Bubble window --> |
195 | <Shape> |
196 | <Sphere radius='0.6'/> |
197 | <Appearance> |
198 | <Material diffuseColor='0 0 0' shininess='.5'/> |
199 | </Appearance> |
200 | </Shape> |
201 | </Transform> |
202 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 0.7'> |
203 | <!-- Side Bubble window --> |
204 | <Shape> |
205 | <Sphere radius='0.6'/> |
206 | <Appearance> |
207 | <Material diffuseColor='0 0 0' shininess='.5'/> |
208 | </Appearance> |
209 | </Shape> |
210 | </Transform> |
211 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 -0.7'> |
212 | <!-- Side Bubble window --> |
213 | <Shape> |
214 | <Sphere radius='0.6'/> |
215 | <Appearance> |
216 | <Material diffuseColor='0 0 0' shininess='.5'/> |
217 | </Appearance> |
218 | </Shape> |
219 | </Transform> |
220 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 -3'> |
221 | <!-- Side Bubble window --> |
222 | <Shape> |
223 | <Sphere radius='0.6'/> |
224 | <Appearance> |
225 | <Material diffuseColor='0 0 0' shininess='.5'/> |
226 | </Appearance> |
227 | </Shape> |
228 | </Transform> |
229 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 3'> |
230 | <!-- Side Bubble window --> |
231 | <Shape> |
232 | <Sphere radius='0.6'/> |
233 | <Appearance> |
234 | <Material diffuseColor='0 0 0' shininess='.5'/> |
235 | </Appearance> |
236 | </Shape> |
237 | </Transform> |
238 | <!-- Model of wheel --> |
239 | <Transform rotation='1 0 0 1.57' translation='0 -1.01 0'> |
240 | |
241 | <Transform rotation='0 0 1 1.57' scale='0.15 0.15 0.15'> |
242 | <Shape> |
243 | <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00' endCap='false' spine='2.00 0.0 0.00 1.85 0.0 0.77 1.41 0.0 1.41 0.77 0.0 1.85 0.00 0.0 2.00 -0.77 0.0 1.85 -1.41 0.0 1.41 -1.85 0.0 0.77 -2.00 0.0 0.00 -1.85 0.0 -0.77 -1.41 0.0 -1.41 -0.77 0.0 -1.85 0.00 0.0 -2.00 0.77 0.0 -1.85 1.41 0.0 -1.41 1.85 0.0 -0.77 2.00 0.0 0.00'/> |
244 | <Appearance> |
245 | <Material diffuseColor='0.1 0.1 0.1'/> |
246 | </Appearance> |
247 | </Shape> |
248 | </Transform> |
249 | <Transform rotation='0 0 1 1.57'> |
250 | <Shape> |
251 | <Cylinder height='.2' radius='.15'/> |
252 | <Appearance> |
253 | <Material diffuseColor='.8 .8 .8'/> |
254 | </Appearance> |
255 | </Shape> |
256 | </Transform> |
257 | </Transform> |
258 | </Transform> |
259 | <!-- Front Wheel and axle --> |
260 | <Transform DEF='BackWheel' center='0 1 0' translation='0 -2 5'> |
261 | <Shape> |
262 | <Cylinder radius='.07'/> |
263 | <Appearance> |
264 | <Material diffuseColor='0.9 .9 .9'/> |
265 | </Appearance> |
266 | </Shape> |
267 | <Transform translation='0 -1.01 0'> |
268 | <Transform rotation='0 0 1 1.57'> |
269 | <Shape> |
270 | <Cylinder height='.5' radius='.07'/> |
271 | <Appearance> |
272 | <Material diffuseColor='.8 .8 .8'/> |
273 | </Appearance> |
274 | </Shape> |
275 | </Transform> |
276 | </Transform> |
277 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
278 | <Transform USE='BigWheel'/> |
279 | </Transform> |
280 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
281 | <Transform USE='BigWheel'/> |
282 | </Transform> |
283 | </Transform> |
284 | <!-- Rear Left Wheel and axle --> |
285 | <Transform DEF='RearLeftWheel' center='0 1 0' translation='3 -1.5 -4'> |
286 | <Shape> |
287 | <Cylinder radius='.07'/> |
288 | <Appearance> |
289 | <Material diffuseColor='0.9 .9 .9'/> |
290 | </Appearance> |
291 | </Shape> |
292 | <Transform translation='0 -1.01 0'> |
293 | <Transform rotation='0 0 1 1.57'> |
294 | <Shape> |
295 | <Cylinder height='.5' radius='.07'/> |
296 | <Appearance> |
297 | <Material diffuseColor='.8 .8 .8'/> |
298 | </Appearance> |
299 | </Shape> |
300 | </Transform> |
301 | </Transform> |
302 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
303 | <Transform USE='BigWheel'/> |
304 | </Transform> |
305 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
306 | <Transform USE='BigWheel'/> |
307 | </Transform> |
308 | </Transform> |
309 | <!-- Rear Right Wheel and axle --> |
310 | <Transform DEF='RearRightWheel' center='0 1 0' translation='-3 -1.5 -4'> |
311 | <Shape> |
312 | <Cylinder radius='.07'/> |
313 | <Appearance> |
314 | <Material diffuseColor='0.9 .9 .9'/> |
315 | </Appearance> |
316 | </Shape> |
317 | <Transform translation='0 -1.01 0'> |
318 | <Transform rotation='0 0 1 1.57'> |
319 | <Shape> |
320 | <Cylinder height='.5' radius='.07'/> |
321 | <Appearance> |
322 | <Material diffuseColor='.8 .8 .8'/> |
323 | </Appearance> |
324 | </Shape> |
325 | </Transform> |
326 | </Transform> |
327 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
328 | <Transform USE='BigWheel'/> |
329 | </Transform> |
330 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
331 | <Transform USE='BigWheel'/> |
332 | </Transform> |
333 | </Transform> |
334 | </Group> |
335 | </Scene> |
336 | </X3D> |
Event Graph ROUTE Table entries with 4 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.
Clock
TimeSensor fraction_changed SFFloat |
RotorPath
OrientationInterpolator set_fraction SFFloat |
then
|
RotorPath
OrientationInterpolator value_changed SFRotation |
Rotor
Transform set_rotation SFRotation |
Clock2
TimeSensor fraction_changed SFFloat |
RotorPath2
OrientationInterpolator set_fraction SFFloat |
then
|
RotorPath2
OrientationInterpolator value_changed SFRotation |
Rotor2
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.
-->