X3D Model Documentation: CanopyPrototype.x3d

  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='titlecontent='CanopyPrototype.x3d'/>
  6            <meta name='descriptioncontent='This prototype performs canopy opening and closing.'/>
  7            <meta name='creatorcontent='Etsuko Lippi'/>
  8            <meta name='createdcontent='18 October 2001'/>
  9            <meta name='modifiedcontent='28 November 2019'/>
 10            <meta name='referencecontent='https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelCanopy.jpg'/>
 11            <meta name='referencecontent='http://www.military.com/Content/MoreContent1?file=aboutba'/>
 12            <meta name='identifiercontent='https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.x3d'/>
 13            <meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
 14            <meta name='subjectcontent='canopy opening and closing, Prototype'/>
 15            <meta name='licensecontent='../../license.html'/>
 16       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: CanopyColor, CanopyInterpolator, CanopyScript, CanopyTransform, Clock, CockpitFront

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: Canopy
-->
 17       <Scene>
 18            <WorldInfo title='CanopyPrototype.x3d'/>
 19            <ProtoDeclare name='Canopy'>
 20                 <ProtoInterface>
 21                      <field name='canopyOpentype='SFBoolaccessType='inputOnly'
                     appinfo='boolean eventIn: true = canopy open false = canopy close.'/>
 22                      <field name='animationStartTimetype='SFTimeaccessType='inputOnly'/>
 23                      <field name='canopyOuttype='SFBoolaccessType='outputOnly'/>
 24                      <field name='traceEnabledtype='SFBoolvalue='falseaccessType='initializeOnly'/>
 25                 </ProtoInterface>
 26                 <ProtoBody>
 27                      <Transform scale='1.4 1 1'>
 28                           <Viewpoint description='Canopy (click back to open, click front to close)orientation='0 1 0 -1.57position='0 0 -4'/>
 29                           <Transform DEF='CockpitFronttranslation='3 0 0'>
 30                                <Shape>
 31 
                                   <!-- Appearance CanopyColor is a DEF node that has 1 USE node: USE_1 -->
                                   <Appearance DEF='CanopyColor'>
 32                                          <Material diffuseColor='0.3 0.4 0.8transparency='0.85'/>
 33                                     </Appearance>
 34                                     <IndexedFaceSet creaseAngle='1.8solid='falsecoordIndex='9 300 10 -1 10 300 301 -1 301 306 10 -1 2 308 309 -1'>
 35                                          <Coordinate point='-0.35 -0.32 -6.71 -0.44 -0.17 -5.91 0 0.25 -5.9 0 0 -6.7 -0.35 -0.5 -6.7 -0.45 -0.5 -5.9 -0.44 -0.17 -5.91 -0.35 -0.32 -6.71 -0.44 0.11 -5.01 -0.32 0.23 -5 0 0.25 -5.9 -0.45 -0.5 -5 -0.45 -0.5 -4.55 -0.44 0.25 -4.56 -0.45 -0.5 -3.93 -0.44 0.31 -4.05 -0.34 0.36 -4.55 -0.26 0.57 -3.55 0.6 0.54 0.65 0.62 0.53 1.09 0.7 0.5 2.05 4.62 0.05 2.42 4.62 0.08 1.58 3.79 0.18 0.71 0.69 0.59 -0.95 0.64 0.57 -0.27 0.64 0.57 0 2.78 0.32 0 1.45 0.49 -0.92 0.19 0.79 4.91 0 0.85 6.5 0.11 0.79 6.5 -0.33 -0.54 -6.7 -0.34 -0.68 -5.9 0 -0.7 -6.7 0 -0.85 -5.9 -0.3 -0.8 -5 0 -0.95 -5 -0.3 -0.8 -4.55 0 -0.95 -4.55 -0.3 -0.8 -3.9 0 -0.95 -3.55 -0.3 -0.8 -3.55 0 -0.43 -7.22 0 -0.43 -7.22 0 -0.7 -6.7 -0.33 -0.54 -6.7 -0.69 0.28 -4.03 -0.83 0.5 -3.58 -0.89 -0.64 -3.91 -0.93 -0.63 -3.54 -1.1 0 -3.55 -1 -0.25 -3.95 0.75 0.6 -1.6 -0.65 -0.7 -2.6 0 -0.95 -1.8 -1.13 -0.35 -2.63 -1.13 0.25 -2.62 -1.13 -0.35 -2.63 -1.15 -0.35 -1.6 -1.15 0.25 -1.6 -1.13 0.25 -2.62 -0.96 0.25 -3.57 -0.8 0.6 -2.6 -0.8 0.25 -1.6 -0.8 0.6 -2.6 -0.85 0.25 -0.95 -0.85 -0.35 -0.95 -0.9 -0.35 0.65 -0.9 0.25 0.65 -0.87 0.25 0 0.03 0.45 7.14 0.22 0.57 7.14 0.22 0.68 7.14 0.03 0.8 7.14 -0.65 -0.35 0.65 -0.65 -0.35 1.1 -0.46 -0.85 -1.8 -0.5 -0.85 -1.6 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 0 -0.95 -1.6 -0.55 -0.84 -0.95 -0.85 -0.35 -0.95 0 -0.95 -0.95 -0.33 -0.88 0.65 -0.65 -0.35 0.65 0 -0.95 0.65 -0.33 -0.88 1.1 -0.65 -0.35 1.1 0 -0.95 1.1 -0.69 0.68 -2.61 -0.41 0.84 -1.6 0 0.95 -1.6 0 0.85 -2.65 -0.75 0.6 -1.6 -0.41 0.84 -1.6 -0.69 0.68 -2.61 -0.36 0.86 -0.95 0 0.95 -0.95 -0.75 0.6 -1.6 -0.67 0.64 -0.95 -0.34 0.85 0 0 0.92 0 -0.55 0.7 0 -0.31 0.78 2.05 0 0.85 2.05 0 0.85 -3.55 -0.26 0.74 -3.55 0 0.85 -2.65 0 0.4 6.87 0.25 0.55 6.87 -0.26 0.74 -3.55 -0.69 0.59 -0.95 -0.67 0.64 -0.95 -0.64 0.57 -0.27 -0.55 0.7 0 -0.65 0.35 3.45 -0.55 0.35 4 -0.4 0.74 4.01 -0.49 0.72 3.51 -0.2 0.8 4 -0.2 0.8 4.55 -0.19 0.79 4.91 0 0.85 4.9 0 0.85 4 -0.35 0.35 4.9 -0.19 0.79 4.91 -0.53 -0.23 3.52 -0.45 -0.18 4.02 0 -0.6 3.55 0 -0.5 4 -0.45 -0.18 4.02 -0.53 -0.23 3.52 -0.26 -0.16 4.92 0 -0.35 4.9 -0.26 -0.16 4.92 0 0.4 6.5 -0.35 0.35 4.9 0 0 6.4 -0.25 0.7 6.5 -0.25 0.55 6.5 0 0.4 6.5 -0.11 0.79 6.5 -0.65 0.25 1.1 -0.65 0.25 0.65 -0.66 0.54 0.48 -0.6 0.54 0.65 -0.59 0.64 0.65 0 -0.6 3.55 -0.65 0.25 1.1 0 0.85 3.55 -0.49 0.72 3.51 0 0.85 3.55 -0.31 0.78 2.05 -0.7 0.5 2.05 -0.7 0.5 2.05 -0.62 0.6 1.09 -0.62 0.53 1.09 0 0.85 6.5 -0.25 0.7 6.87 0 0.85 6.87 -0.25 0.55 6.87 -0.22 0.68 7.14 -0.03 0.8 7.14 -0.22 0.57 7.14 -0.03 0.45 7.14 -1.45 0.49 -0.92 -0.11 0.79 6.5 -0.64 0.57 0 -2.78 0.32 0 -4.62 0.05 2.42 -4.62 0.08 1.58 -3.79 0.18 0.71 0 0 -6.7 0.44 -0.17 -5.91 0.35 -0.32 -6.71 0.45 -0.5 -5.9 0.35 -0.5 -6.7 0.32 0.23 -5 0.44 0.11 -5.01 0.45 -0.5 -5 0.44 0.25 -4.56 0.45 -0.5 -4.55 0.44 0.31 -4.05 0.45 -0.5 -3.93 0.34 0.36 -4.55 0.26 0.57 -3.55 0.22 0.68 7.14 0.22 0.57 7.14 0.25 0.55 6.87 0.25 0.7 6.87 0.25 0.7 6.87 0 0.4 6.87 0.25 0.55 6.5 0.25 0.55 6.5 0.25 0.7 6.5 0.11 0.79 6.5 0.65 0.35 3.45 0.65 0.25 1.1 0.7 0.5 2.05 0.34 -0.68 -5.9 0.33 -0.54 -6.7 0.3 -0.8 -5 0.3 -0.8 -4.55 0.3 -0.8 -3.9 0.3 -0.8 -3.55 0.35 -0.32 -6.71 0.35 -0.5 -6.7 0.33 -0.54 -6.7 0.83 0.5 -3.58 0.69 0.28 -4.03 1 -0.25 -3.95 1.1 0 -3.55 0.93 -0.63 -3.54 0.89 -0.64 -3.91 0.65 0.25 1.1 0.62 0.6 1.09 0.65 -0.7 -2.6 1.13 -0.35 -2.63 1.15 0.25 -1.6 1.15 -0.35 -1.6 1.13 -0.35 -2.63 1.13 0.25 -2.62 1.13 0.25 -2.62 0.96 0.25 -3.57 0.8 0.25 -1.6 0.8 0.6 -2.6 0.8 0.6 -2.6 0.49 0.72 3.51 0.85 0.25 -0.95 0.87 0.25 0 0.9 0.25 0.65 0.9 -0.35 0.65 0.85 -0.35 -0.95 0.31 0.78 2.05 0.9 -0.35 0.65 0.65 -0.35 1.1 0.65 -0.35 0.65 0.85 -0.35 -0.95 0.75 -0.35 -1.8 0.8 -0.35 -1.6 0.5 -0.85 -1.6 0.46 -0.85 -1.8 0.55 -0.84 -0.95 0.33 -0.88 0.65 0.33 -0.88 1.1 0.41 0.84 -1.6 0.69 0.68 -2.61 0.69 0.68 -2.61 0.41 0.84 -1.6 0.36 0.86 -0.95 0.67 0.64 -0.95 0.75 0.6 -1.6 0.34 0.85 0 0.55 0.7 0 0.26 0.74 -3.55 0.26 0.74 -3.55 0.67 0.64 -0.95 0.55 0.7 0 0.59 0.64 0.65 0.66 0.54 0.48 0.4 0.74 4.01 0.55 0.35 4 0.2 0.8 4.55 0.2 0.8 4 0.19 0.79 4.91 0.35 0.35 4.9 0.45 -0.18 4.02 0.53 -0.23 3.52 0 -0.5 4 0.55 0.35 4 0.35 0.35 4.9 0.26 -0.16 4.92 0.45 -0.18 4.02 0.65 0.25 0.65 0.33 -0.88 1.1 0.65 -0.35 1.1 0 -0.6 5.95 0 -0.45 6.2 0.2 0.8 4 0.34 0.85 0 0.31 0.78 2.05 0.8 -0.35 -1.6 0.75 -0.35 -1.8 2.2 0.15 6.7 2.2 0.15 6.35 0.2 0.8 4.55 0 1.7 4.9 0 2.4 5.65 0 2.75 6.15 0 2.85 6.7 0 0.95 4 0 0.95 3.55 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 -0.34 0.85 0 -0.4 0.74 4.01 -2.2 0.15 6.7 -2.2 0.15 6.35 -0.33 0.52 -5 0 0.85 -4.85 -0.34 0.68 -4.55 0 0.91 -3.44 0 0.98 -4.4 0.34 0.68 -4.55 0.33 0.52 -5 0 0.91 -3.44 0.33 0.52 -5 0.32 0.23 -5 0 0.25 5.9'/>
 36                                     </IndexedFaceSet>
 37                                </Shape>
 38                           </Transform>
 39                           <Group>
 40 
                              <!-- ROUTE information for CanopyTransform node:  [from CanopyInterpolator.value_changed to set_rotation ] -->
                              <Transform DEF='CanopyTransformcenter='0 0 -3.5'>
 41                                     <Transform translation='3 0 0'>
 42                                          <Shape>
 43                                               <Appearance USE='CanopyColor'/>
 44                                               <IndexedFaceSet creaseAngle='1.8solid='falsecoordIndex='16 17 112 302 -1 301 304 305 306 -1 306 305 186 179 -1 304 307 257 305 -1 305 257 187 186 -1 302 112 307 304 -1 9 16 302 300 -1 300 302 304 301 -1 17 112 310 -1 112 307 310 -1 307 257 310 -1 257 187 310 -1'>
 45                                                    <Coordinate point='-0.35 -0.32 -6.71 -0.44 -0.17 -5.91 0 0.25 -5.9 0 0 -6.7 -0.35 -0.5 -6.7 -0.45 -0.5 -5.9 -0.44 -0.17 -5.91 -0.35 -0.32 -6.71 -0.44 0.11 -5.01 -0.32 0.23 -5 0 0.25 -5.9 -0.45 -0.5 -5 -0.45 -0.5 -4.55 -0.44 0.25 -4.56 -0.45 -0.5 -3.93 -0.44 0.31 -4.05 -0.34 0.36 -4.55 -0.26 0.57 -3.55 0.6 0.54 0.65 0.62 0.53 1.09 0.7 0.5 2.05 4.62 0.05 2.42 4.62 0.08 1.58 3.79 0.18 0.71 0.69 0.59 -0.95 0.64 0.57 -0.27 0.64 0.57 0 2.78 0.32 0 1.45 0.49 -0.92 0.19 0.79 4.91 0 0.85 6.5 0.11 0.79 6.5 -0.33 -0.54 -6.7 -0.34 -0.68 -5.9 0 -0.7 -6.7 0 -0.85 -5.9 -0.3 -0.8 -5 0 -0.95 -5 -0.3 -0.8 -4.55 0 -0.95 -4.55 -0.3 -0.8 -3.9 0 -0.95 -3.55 -0.3 -0.8 -3.55 0 -0.43 -7.22 0 -0.43 -7.22 0 -0.7 -6.7 -0.33 -0.54 -6.7 -0.69 0.28 -4.03 -0.83 0.5 -3.58 -0.89 -0.64 -3.91 -0.93 -0.63 -3.54 -1.1 0 -3.55 -1 -0.25 -3.95 0.75 0.6 -1.6 -0.65 -0.7 -2.6 0 -0.95 -1.8 -1.13 -0.35 -2.63 -1.13 0.25 -2.62 -1.13 -0.35 -2.63 -1.15 -0.35 -1.6 -1.15 0.25 -1.6 -1.13 0.25 -2.62 -0.96 0.25 -3.57 -0.8 0.6 -2.6 -0.8 0.25 -1.6 -0.8 0.6 -2.6 -0.85 0.25 -0.95 -0.85 -0.35 -0.95 -0.9 -0.35 0.65 -0.9 0.25 0.65 -0.87 0.25 0 0.03 0.45 7.14 0.22 0.57 7.14 0.22 0.68 7.14 0.03 0.8 7.14 -0.65 -0.35 0.65 -0.65 -0.35 1.1 -0.46 -0.85 -1.8 -0.5 -0.85 -1.6 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 0 -0.95 -1.6 -0.55 -0.84 -0.95 -0.85 -0.35 -0.95 0 -0.95 -0.95 -0.33 -0.88 0.65 -0.65 -0.35 0.65 0 -0.95 0.65 -0.33 -0.88 1.1 -0.65 -0.35 1.1 0 -0.95 1.1 -0.69 0.68 -2.61 -0.41 0.84 -1.6 0 0.95 -1.6 0 0.85 -2.65 -0.75 0.6 -1.6 -0.41 0.84 -1.6 -0.69 0.68 -2.61 -0.36 0.86 -0.95 0 0.95 -0.95 -0.75 0.6 -1.6 -0.67 0.64 -0.95 -0.34 0.85 0 0 0.92 0 -0.55 0.7 0 -0.31 0.78 2.05 0 0.85 2.05 0 0.85 -3.55 -0.26 0.74 -3.55 0 0.85 -2.65 0 0.4 6.87 0.25 0.55 6.87 -0.26 0.74 -3.55 -0.69 0.59 -0.95 -0.67 0.64 -0.95 -0.64 0.57 -0.27 -0.55 0.7 0 -0.65 0.35 3.45 -0.55 0.35 4 -0.4 0.74 4.01 -0.49 0.72 3.51 -0.2 0.8 4 -0.2 0.8 4.55 -0.19 0.79 4.91 0 0.85 4.9 0 0.85 4 -0.35 0.35 4.9 -0.19 0.79 4.91 -0.53 -0.23 3.52 -0.45 -0.18 4.02 0 -0.6 3.55 0 -0.5 4 -0.45 -0.18 4.02 -0.53 -0.23 3.52 -0.26 -0.16 4.92 0 -0.35 4.9 -0.26 -0.16 4.92 0 0.4 6.5 -0.35 0.35 4.9 0 0 6.4 -0.25 0.7 6.5 -0.25 0.55 6.5 0 0.4 6.5 -0.11 0.79 6.5 -0.65 0.25 1.1 -0.65 0.25 0.65 -0.66 0.54 0.48 -0.6 0.54 0.65 -0.59 0.64 0.65 0 -0.6 3.55 -0.65 0.25 1.1 0 0.85 3.55 -0.49 0.72 3.51 0 0.85 3.55 -0.31 0.78 2.05 -0.7 0.5 2.05 -0.7 0.5 2.05 -0.62 0.6 1.09 -0.62 0.53 1.09 0 0.85 6.5 -0.25 0.7 6.87 0 0.85 6.87 -0.25 0.55 6.87 -0.22 0.68 7.14 -0.03 0.8 7.14 -0.22 0.57 7.14 -0.03 0.45 7.14 -1.45 0.49 -0.92 -0.11 0.79 6.5 -0.64 0.57 0 -2.78 0.32 0 -4.62 0.05 2.42 -4.62 0.08 1.58 -3.79 0.18 0.71 0 0 -6.7 0.44 -0.17 -5.91 0.35 -0.32 -6.71 0.45 -0.5 -5.9 0.35 -0.5 -6.7 0.32 0.23 -5 0.44 0.11 -5.01 0.45 -0.5 -5 0.44 0.25 -4.56 0.45 -0.5 -4.55 0.44 0.31 -4.05 0.45 -0.5 -3.93 0.34 0.36 -4.55 0.26 0.57 -3.55 0.22 0.68 7.14 0.22 0.57 7.14 0.25 0.55 6.87 0.25 0.7 6.87 0.25 0.7 6.87 0 0.4 6.87 0.25 0.55 6.5 0.25 0.55 6.5 0.25 0.7 6.5 0.11 0.79 6.5 0.65 0.35 3.45 0.65 0.25 1.1 0.7 0.5 2.05 0.34 -0.68 -5.9 0.33 -0.54 -6.7 0.3 -0.8 -5 0.3 -0.8 -4.55 0.3 -0.8 -3.9 0.3 -0.8 -3.55 0.35 -0.32 -6.71 0.35 -0.5 -6.7 0.33 -0.54 -6.7 0.83 0.5 -3.58 0.69 0.28 -4.03 1 -0.25 -3.95 1.1 0 -3.55 0.93 -0.63 -3.54 0.89 -0.64 -3.91 0.65 0.25 1.1 0.62 0.6 1.09 0.65 -0.7 -2.6 1.13 -0.35 -2.63 1.15 0.25 -1.6 1.15 -0.35 -1.6 1.13 -0.35 -2.63 1.13 0.25 -2.62 1.13 0.25 -2.62 0.96 0.25 -3.57 0.8 0.25 -1.6 0.8 0.6 -2.6 0.8 0.6 -2.6 0.49 0.72 3.51 0.85 0.25 -0.95 0.87 0.25 0 0.9 0.25 0.65 0.9 -0.35 0.65 0.85 -0.35 -0.95 0.31 0.78 2.05 0.9 -0.35 0.65 0.65 -0.35 1.1 0.65 -0.35 0.65 0.85 -0.35 -0.95 0.75 -0.35 -1.8 0.8 -0.35 -1.6 0.5 -0.85 -1.6 0.46 -0.85 -1.8 0.55 -0.84 -0.95 0.33 -0.88 0.65 0.33 -0.88 1.1 0.41 0.84 -1.6 0.69 0.68 -2.61 0.69 0.68 -2.61 0.41 0.84 -1.6 0.36 0.86 -0.95 0.67 0.64 -0.95 0.75 0.6 -1.6 0.34 0.85 0 0.55 0.7 0 0.26 0.74 -3.55 0.26 0.74 -3.55 0.67 0.64 -0.95 0.55 0.7 0 0.59 0.64 0.65 0.66 0.54 0.48 0.4 0.74 4.01 0.55 0.35 4 0.2 0.8 4.55 0.2 0.8 4 0.19 0.79 4.91 0.35 0.35 4.9 0.45 -0.18 4.02 0.53 -0.23 3.52 0 -0.5 4 0.55 0.35 4 0.35 0.35 4.9 0.26 -0.16 4.92 0.45 -0.18 4.02 0.65 0.25 0.65 0.33 -0.88 1.1 0.65 -0.35 1.1 0 -0.6 5.95 0 -0.45 6.2 0.2 0.8 4 0.34 0.85 0 0.31 0.78 2.05 0.8 -0.35 -1.6 0.75 -0.35 -1.8 2.2 0.15 6.7 2.2 0.15 6.35 0.2 0.8 4.55 0 1.7 4.9 0 2.4 5.65 0 2.75 6.15 0 2.85 6.7 0 0.95 4 0 0.95 3.55 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 -0.34 0.85 0 -0.4 0.74 4.01 -2.2 0.15 6.7 -2.2 0.15 6.35 -0.33 0.52 -5 0 0.85 -4.85 -0.34 0.68 -4.55 0 0.91 -3.44 0 0.98 -4.4 0.34 0.68 -4.55 0.33 0.52 -5 0 0.91 -3.44 0.33 0.52 -5 0.32 0.23 -5 0 0.57 -2.5'/>
 46                                               </IndexedFaceSet>
 47                                          </Shape>
 48                                     </Transform>
 49                                </Transform>
 50 
                              <!-- ROUTE information for CanopyScript node:  [from Clock.fraction_changed to set_fraction ] [from clockStartTime to Clock.set_startTime ] [from canopyOut to Clock.set_enabled ] [from keyValue to CanopyInterpolator.set_keyValue ] -->
                              <Script DEF='CanopyScript'>
 51                                     <field name='canopyOpentype='SFBoolaccessType='inputOnly'
                                    appinfo='eventIn: boolean true: canopy open false: canopy close'/>
 52                                     <field name='canopyOuttype='SFBoolaccessType='outputOnly'/>
 53                                     <field name='keyValuetype='MFRotationaccessType='outputOnly'/>
 54                                     <field name='kV1type='SFRotationvalue='0 1 0 0accessType='initializeOnly'/>
 55                                     <field name='kV2type='SFRotationvalue='0 1 0 0accessType='initializeOnly'/>
 56                                     <field name='kV3type='SFRotationvalue='0 1 0 0accessType='initializeOnly'/>
 57                                     <field name='set_fractiontype='SFFloataccessType='inputOnly'/>
 58                                     <field name='animationStartTimetype='SFTimeaccessType='inputOnly'/>
 59                                     <field name='clockStartTimetype='SFTimeaccessType='outputOnly'/>
 60                                     <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'/>
 61                                     <IS>
 62                                          <connect nodeField='canopyOpenprotoField='canopyOpen'/>
 63                                          <connect nodeField='animationStartTimeprotoField='animationStartTime'/>
 64                                          <connect nodeField='canopyOutprotoField='canopyOut'/>
 65                                          <connect nodeField='traceEnabledprotoField='traceEnabled'/>
 66                                     </IS>
  <![CDATA[
              
ecmascript:

function canopyOpen(value, timeStamp) {
  
 if (value == true)       //Canopy Open
 {
      	tracePrint ('[Canopy Open] ' );
      	tracePrint ('value = ' + value);
      	canapyOut = true;    	
      
      	kV1 = new SFRotation (new SFVec3f (1, 0, 0), 0.0);  
     	kV2 = new SFRotation (new SFVec3f (1, 0, 0), 0.52);
      	kV3 = new SFRotation(new SFVec3f (1, 0, 0), 0.79);
      	keyValue = new MFRotation(kV1, kV2, kV3);  
      	//tracePrint ('[keyValue = ]' + keyValue);      
  
 }
 else        //Canopy Close
 {
      	tracePrint ('[Canopy Close] ' );
      	tracePrint ('value = ' + value);
      	canopyOut = true;
     	
      	keyValue = new MFRotation(kV3, kV2, kV1);  
      	//tracePrint ('[keyValue = ]' + keyValue);             
 }
 
}

function set_fraction (value, timeStamp)
{
	//tracePrint('time fraction = ' + value);
}

function animationStartTime(value, timeStamp)
{	
	tracePrint('The Start Time is: ' + value);
	clockStartTime = value;
}

function tracePrint (outputString)
{
	if (traceEnabled) Browser.println ('[CanopyPrototype] ' + outputString);
}

            
]]>
 68                                </Script>
 69 
                              <!-- ROUTE information for CanopyInterpolator node:  [from CanopyScript.keyValue to set_keyValue ] [from Clock.fraction_changed to set_fraction ] [from value_changed to CanopyTransform.set_rotation ] -->
                              <OrientationInterpolator DEF='CanopyInterpolatorkey='0 0.5 1.0keyValue='1 0 0 0.0 1 0 0 0.52 1 0 0 0.79'/>
 70 
                              <!-- ROUTE information for Clock node:  [from CanopyScript.clockStartTime to set_startTime ] [from CanopyScript.canopyOut to set_enabled ] [from fraction_changed to CanopyInterpolator.set_fraction ] [from fraction_changed to CanopyScript.set_fraction ] -->
                              <TimeSensor DEF='ClockcycleInterval='4'/>
 71                                < ROUTE  fromNode='CanopyScript' fromField='clockStartTime' toNode='Clock' toField='set_startTime'/>
 72                                < ROUTE  fromNode='CanopyScript' fromField='canopyOut' toNode='Clock' toField='set_enabled'/>
 73                                < ROUTE  fromNode='CanopyScript' fromField='keyValue' toNode='CanopyInterpolator' toField='set_keyValue'/>
 74                                < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='CanopyInterpolator' toField='set_fraction'/>
 75                                < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='CanopyScript' toField='set_fraction'/>
 76                                < ROUTE  fromNode='CanopyInterpolator' fromField='value_changed' toNode='CanopyTransform' toField='set_rotation'/>
 77                           </Group>
 78                      </Transform>
 79                 </ProtoBody>
 80            </ProtoDeclare>
 81            <Background skyColor='0.6 0.6 0.6'/>
 82            <Anchor description='Canopy Exampleparameter='"target=_blank"'   url=' "CanopyExample.wrl" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.wrl" "CanopyExample.x3d" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.x3d" '>
 83                 <Shape>
 84                      <Text string='"CanopyPrototype" "is a prototype definition file" "" "To see an example scene" "click on this text and view" "CanopyExample"'>
 85                           <FontStyle justify='"MIDDLE" "MIDDLE"'/>
 86                      </Text>
 87                      <Appearance/>
 88                 </Shape>
 89            </Anchor>
 90       </Scene>
 91  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: CanopyColor, CanopyInterpolator, CanopyScript, CanopyTransform, Clock, CockpitFront

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: Canopy
-->
X3D Tooltips element index: Anchor, Appearance, Background, connect, Coordinate, field, FontStyle, Group, head, IndexedFaceSet, IS, Material, meta, OrientationInterpolator, ProtoBody, ProtoDeclare, ProtoInterface, ROUTE, Scene, Script, Shape, Text, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 6 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.

line 82
Anchor
description='Canopy Example' 
User-interaction hint for this node. 

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://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototypeIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.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)
    <ProtoDeclare name='ProtoName'> <field name='fieldName'/> </ProtoDeclare> -->

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