X3D Model Documentation: RapierMissileSystemPrototype.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='RapierMissileSystemPrototype.x3d'/>
  6            <meta name='creatorcontent='Oliver Tan'/>
  7            <meta name='createdcontent='28 January 2004'/>
  8            <meta name='modifiedcontent='28 November 2019'/>
  9            <meta name=' warning content=' check whether size is to scale '/>
 10            <meta name='descriptioncontent='Rapier missile system prototype.'/>
 11            <meta name='identifiercontent='https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemPrototype.x3d'/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
 13            <meta name='referencecontent='http://www.army-technology.com/projects/jernas/jernas1.html'/>
 14            <meta name='subjectcontent='Rapier, Rapier missile, missile'/>
 15            <meta name='licensecontent='../../license.html'/>
 16       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: BottomMissile, bottomMissileClock, bottomMissilePathInterpolator, LauncherSkin, MissileGrip, MissileGripPair, MissileSystem, MissileSystemRotation, shootBottomMissile, shootTopMissile, TopMissile, topMissileClock, topMissilePathInterpolator, U1

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2

Index for ExternProtoDeclare definition: RapierMissile

Index for ProtoDeclare definition: RapierMissileSystem
-->
 17       <Scene>
 18            <!-- This is only a representational model. It is not created to scale. -->
 19            <WorldInfo title='RapierMissileSystemPrototype.x3d'/>
 20            <ExternProtoDeclare name='RapierMissile'   url=' "RapierMissilePrototype.x3d#RapierMissile" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissilePrototype.x3d#RapierMissile" "RapierMissilePrototype.wrl#RapierMissile" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissilePrototype.wrl#RapierMissile" '>
 21                 <field name='rocketAppearancetype='SFNodeaccessType='initializeOnly'/>
 22            </ExternProtoDeclare>
 23            <ProtoDeclare name='RapierMissileSystem'>
 24                 <!-- This is only a representational model. It is not created to scale. -->
 25                 <ProtoInterface>
 26                      <field name='materialtype='SFNodeaccessType='initializeOnly'>
 27                           <Material diffuseColor='.3 .6 .9'/>
 28                      </field>
 29                      <field name='imageTexturetype='SFNodeaccessType='initializeOnly'>
 30                           <ImageTexture   url=' "cammie1.jpg " "https://savage.nps.edu/Savage/AircraftFixedWing/AV8bHarrierUnitedStates/cammie1.jpg " '/>
 31                      </field>
 32                 </ProtoInterface>
 33                 <ProtoBody>
 34                      <Viewpoint description='Rapier Missile Systemposition='0 0 3'/>
 35                      <Viewpoint description='Rapier Missile System Obliqueorientation='0 1 0 -1.571position='-3 0.5 0'/>
 36                      <Transform rotation='0 1 0 1.57'>
 37                           <Transform rotation='0 0 1 -1.571'>
 38                                <Shape>
 39 
                                   <!-- Appearance LauncherSkin is a DEF node that has 12 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12 -->
                                   <Appearance DEF='LauncherSkin'>
 40                                          <IS>
 41                                               <connect nodeField='materialprotoField='material'/>
 42                                               <connect nodeField='textureprotoField='imageTexture'/>
 43                                          </IS>
 44                                     </Appearance>
 45                                </Shape>
 46 
                              <!-- ROUTE information for MissileSystem node:  [from MissileSystemRotation.rotation_changed to rotation ] -->
                              <Transform DEF='MissileSystem'>
 47                                     <Transform rotation='0 0 1 1.571'>
 48                                          <Transform translation='0 -0.075 0.25'>
 49                                               <Transform scale='0.5 0.5 0.5'>
 50                                                    <Transform rotation='0 0 1 -1.571translation='-0.05 0.1 0'>
 51                                                         <Transform>
 52                                                              <Shape>
 53                                                                   <Appearance USE='LauncherSkin'/>
 54                                                                   <Extrusion creaseAngle='3.14crossSection='-0.2 -1.4 -0.2 -0.3 0.05 0.2 0.1 0.2 0.1 -1.4 -0.2 -1.4solid='falsespine='0 0 0 0 0.1 0'/>
 55                                                              </Shape>
 56                                                              <Transform translation='-0.05 0.05 -0.75'>
 57                                                                   <Shape>
 58                                                                        <Appearance USE='LauncherSkin'/>
 59                                                                        <Cylinder height='0.2radius='0.15'/>
 60                                                                   </Shape>
 61                                                              </Transform>
 62                                                              <Transform translation='-0.05 0.05 -1.4'>
 63                                                                   <Shape>
 64                                                                        <Appearance USE='LauncherSkin'/>
 65                                                                        <Cylinder height='0.2radius='0.15'/>
 66                                                                   </Shape>
 67                                                              </Transform>
 68                                                              <Transform translation='-0.05 0.05 -0.5'>
 69                                                                   <Shape>
 70                                                                        <Appearance USE='LauncherSkin'/>
 71                                                                        <Cylinder height='0.2radius='0.05'/>
 72                                                                   </Shape>
 73                                                              </Transform>
 74                                                         </Transform>
 75                                                    </Transform>
 76                                                    <Transform translation='0 0.1 -0.55'>
 77 
                                                       <!-- Transform MissileGripPair is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                                                       <Transform DEF='MissileGripPair'>
 78                                                              <Transform scale='0.49 1 0.8'>
 79                                                                   <Transform translation='0 0.15 -0.3'>
 80 
                                                                      <!-- Transform MissileGrip is a DEF node that has 1 USE node: USE_1 -->
                                                                      <Transform DEF='MissileGriptranslation='0.2 0 0'>
 81                                                                             <Transform rotation='0 1 0 1.571'>
 82                                                                                  <Transform scale='0.04 0.04 0.04'>
 83                                                                                       <Transform>
 84                                                                                            <Transform rotation='1 0 0 1.571'>
 85 
                                                                                               <!-- Transform U1 is a DEF node that has 1 USE node: USE_1 -->
                                                                                               <Transform DEF='U1'>
 86                                                                                                      <Shape>
 87                                                                                                           <Appearance USE='LauncherSkin'/>
 88                                                                                                           <Cylinder height='8'/>
 89                                                                                                      </Shape>
 90                                                                                                      <Transform translation='0 4 0'>
 91                                                                                                           <Shape>
 92                                                                                                                <Sphere/>
 93                                                                                                                <Appearance USE='LauncherSkin'/>
 94                                                                                                           </Shape>
 95                                                                                                      </Transform>
 96                                                                                                      <Transform translation='0 -4 0'>
 97                                                                                                           <Shape>
 98                                                                                                                <Sphere/>
 99                                                                                                                <Appearance USE='LauncherSkin'/>
100                                                                                                           </Shape>
101                                                                                                      </Transform>
102                                                                                                 </Transform>
103                                                                                            </Transform>
104                                                                                            <Transform translation='0 0 4'>
105                                                                                                 <Transform rotation='0 0 1 -0.7'>
106                                                                                                      <Transform translation='0 5 0'>
107                                                                                                           <Transform>
108                                                                                                                <Shape>
109                                                                                                                     <Appearance USE='LauncherSkin'/>
110                                                                                                                     <Cylinder height='10'/>
111                                                                                                                </Shape>
112                                                                                                                <Transform translation='0 5 0'>
113                                                                                                                     <Shape>
114                                                                                                                          <Sphere/>
115                                                                                                                          <Appearance USE='LauncherSkin'/>
116                                                                                                                     </Shape>
117                                                                                                                </Transform>
118                                                                                                                <Transform translation='0 -5 0'>
119                                                                                                                     <Shape>
120                                                                                                                          <Sphere/>
121                                                                                                                          <Appearance USE='LauncherSkin'/>
122                                                                                                                     </Shape>
123                                                                                                                </Transform>
124                                                                                                           </Transform>
125                                                                                                      </Transform>
126                                                                                                      <Transform translation='0 10 0'>
127                                                                                                           <Transform translation='0 0 -4'>
128                                                                                                                <Transform rotation='1 0 0 1.571'>
129                                                                                                                     <Transform scale='1 0.8 1translation='0 0.2 0'>
130                                                                                                                          <Transform USE='U1'/>
131                                                                                                                     </Transform>
132                                                                                                                </Transform>
133                                                                                                           </Transform>
134                                                                                                      </Transform>
135                                                                                                 </Transform>
136                                                                                            </Transform>
137                                                                                       </Transform>
138                                                                                  </Transform>
139                                                                             </Transform>
140                                                                        </Transform>
141                                                                   </Transform>
142                                                                   <Transform rotation='1 0 0 -1.4translation='0 0.15 -0.3'>
143                                                                        <Transform rotation='0 1 0 3.142'>
144                                                                             <Transform USE='MissileGrip'/>
145                                                                        </Transform>
146                                                                   </Transform>
147                                                              </Transform>
148                                                         </Transform>
149                                                    </Transform>
150                                                    <Transform translation='0 0.1 -1.2'>
151                                                         <Transform USE='MissileGripPair'/>
152                                                    </Transform>
153                                                    <Transform rotation='1 0 0 -3.142translation='0 0.2 -0.95'>
154                                                         <Transform USE='MissileGripPair'/>
155                                                    </Transform>
156                                                    <Transform rotation='1 0 0 -3.142translation='0 0.2 -1.6'>
157                                                         <Transform USE='MissileGripPair'/>
158                                                    </Transform>
159                                               </Transform>
160                                               <Transform>
161 
                                                  <!-- ROUTE information for TopMissile node:  [from topMissilePathInterpolator.value_changed to set_translation ] -->
                                                  <Transform DEF='TopMissile'>
162                                                         <Transform rotation='0 1 0 -1.57scale='0.1 0.1 0.1translation='0 0.2 -0.2'>
163                                                              <Transform>
164                                                                   <ProtoInstance name='RapierMissile'>
165                                                                        <fieldValue name='rocketAppearance'>
166                                                                             <Appearance USE='LauncherSkin'/>
167                                                                        </fieldValue>
168                                                                   </ProtoInstance>
169                                                              </Transform>
170                                                         </Transform>
171 
                                                       <!-- ROUTE information for shootTopMissile node:  [from touchTime to topMissileClock.set_startTime ] -->
                                                       <TouchSensor DEF='shootTopMissiledescription='touch missile to launch it'/>
172 
                                                       <!-- ROUTE information for topMissilePathInterpolator node:  [from topMissileClock.fraction_changed to set_fraction ] [from value_changed to TopMissile.set_translation ] -->
                                                       <PositionInterpolator DEF='topMissilePathInterpolatorkey='0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1keyValue='0 0 1 0 0.05 2 0 0.1 3 0 0.15 4 0 0.2 5 0 0.25 6 0 0.3 7 0 0.35 8 0 0.4 9 0 0.45 10 0 0.5 11'/>
173 
                                                       <!-- ROUTE information for topMissileClock node:  [from shootTopMissile.touchTime to set_startTime ] [from fraction_changed to topMissilePathInterpolator.set_fraction ] -->
                                                       <TimeSensor DEF='topMissileClockcycleInterval='10'/>
174                                                         < ROUTE  fromNode='topMissileClock' fromField='fraction_changed' toNode='topMissilePathInterpolator' toField='set_fraction'/>
175                                                         < ROUTE  fromNode='topMissilePathInterpolator' fromField='value_changed' toNode='TopMissile' toField='set_translation'/>
176                                                         < ROUTE  fromNode='shootTopMissile' fromField='touchTime' toNode='topMissileClock' toField='set_startTime'/>
177                                                    </Transform>
178                                               </Transform>
179 
                                             <!-- ROUTE information for BottomMissile node:  [from bottomMissilePathInterpolator.value_changed to set_translation ] -->
                                             <Transform DEF='BottomMissile'>
180                                                    <Transform rotation='0 1 0 -1.57scale='0.1 0.1 0.1translation='0 -0.05 -0.15'>
181                                                         <Transform>
182                                                              <ProtoInstance name='RapierMissile'>
183                                                                   <fieldValue name='rocketAppearance'>
184                                                                        <Appearance USE='LauncherSkin'/>
185                                                                   </fieldValue>
186                                                              </ProtoInstance>
187                                                         </Transform>
188                                                    </Transform>
189 
                                                  <!-- ROUTE information for shootBottomMissile node:  [from touchTime to bottomMissileClock.set_startTime ] -->
                                                  <TouchSensor DEF='shootBottomMissiledescription='touch missile to launch it'/>
190 
                                                  <!-- ROUTE information for bottomMissilePathInterpolator node:  [from bottomMissileClock.fraction_changed to set_fraction ] [from value_changed to BottomMissile.set_translation ] -->
                                                  <PositionInterpolator DEF='bottomMissilePathInterpolatorkey='0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1keyValue='0 0 1 0 0.05 2 0 0.1 3 0 0.15 4 0 0.2 5 0 0.25 6 0 0.3 7 0 0.35 8 0 0.4 9 0 0.45 10 0 0.5 11'/>
191 
                                                  <!-- ROUTE information for bottomMissileClock node:  [from shootBottomMissile.touchTime to set_startTime ] [from fraction_changed to bottomMissilePathInterpolator.set_fraction ] -->
                                                  <TimeSensor DEF='bottomMissileClockcycleInterval='10'/>
192                                                    < ROUTE  fromNode='bottomMissileClock' fromField='fraction_changed' toNode='bottomMissilePathInterpolator' toField='set_fraction'/>
193                                                    < ROUTE  fromNode='bottomMissilePathInterpolator' fromField='value_changed' toNode='BottomMissile' toField='set_translation'/>
194                                                    < ROUTE  fromNode='shootBottomMissile' fromField='touchTime' toNode='bottomMissileClock' toField='set_startTime'/>
195                                               </Transform>
196                                          </Transform>
197                                     </Transform>
198 
                                   <!-- ROUTE information for MissileSystemRotation node:  [from rotation_changed to MissileSystem.rotation ] -->
                                   <CylinderSensor DEF='MissileSystemRotationdescription='Rotate the missile system.maxAngle='0minAngle='-1.3'/>
199                                     < ROUTE  fromNode='MissileSystemRotation' fromField='rotation_changed' toNode='MissileSystem' toField='rotation'/>
200                                </Transform>
201                           </Transform>
202                      </Transform>
203                 </ProtoBody>
204            </ProtoDeclare>
205            <Anchor description='RapierMissileSystemExample'   url=' "RapierMissileSystemExample.x3d" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemExample.x3d" "RapierMissileSystemExample.wrl" "https://savage.nps.edu/Savage/Weapons/Missiles/RapierMissileSystemExample.wrl" '>
206                 <Shape>
207                      <Text string='"Rapier Missile System Prototype" "contains prototype definitions" "" "Click on text to see these Appearances in" "RapierMissileSystemExample"'>
208                           <FontStyle justify='"MIDDLE" "MIDDLE"size='0.5'/>
209                      </Text>
210                      <Appearance>
211                           <Material diffuseColor='0 0.6 0.6'/>
212                      </Appearance>
213                 </Shape>
214            </Anchor>
215       </Scene>
216  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: BottomMissile, bottomMissileClock, bottomMissilePathInterpolator, LauncherSkin, MissileGrip, MissileGripPair, MissileSystem, MissileSystemRotation, shootBottomMissile, shootTopMissile, TopMissile, topMissileClock, topMissilePathInterpolator, U1

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2

Index for ExternProtoDeclare definition: RapierMissile

Index for ProtoDeclare definition: RapierMissileSystem
-->
X3D Tooltips element index: Anchor, Appearance, connect, Cylinder, CylinderSensor, ExternProtoDeclare, Extrusion, field, fieldValue, FontStyle, head, ImageTexture, IS, Material, meta, PositionInterpolator, ProtoBody, ProtoDeclare, ProtoInstance, ProtoInterface, ROUTE, Scene, Shape, Sphere, Text, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

shootBottomMissile
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
bottomMissileClock
TimeSensor
set_startTime
SFTime
then
 
 
 
bottomMissileClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
bottomMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
bottomMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
BottomMissile
Transform
set_translation
SFVec3f

shootTopMissile
TouchSensor
touchTime
SFTime

ROUTE
event to
(1)
topMissileClock
TimeSensor
set_startTime
SFTime
then
 
 
 
topMissileClock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
topMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
 
 
 
topMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f

ROUTE
event to
(3)
TopMissile
Transform
set_translation
SFVec3f

line 164
ProtoInstance
RapierMissile
No ROUTE connection found for output events 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. 

line 182
ProtoInstance
RapierMissile
No ROUTE connection found for output events 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. 

MissileSystemRotation
CylinderSensor
rotation_changed
SFRotation

ROUTE
event to
(1)
MissileSystem
Transform
rotation
SFRotation

line 205
Anchor
description='RapierMissileSystemExample' 
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/Weapons/Missiles/RapierMissileSystemPrototypeIndex.html -->
<!-- Version control at
https://gitlab.nps.edu/Savage/Savage/Weapons/Missiles/RapierMissileSystemPrototype.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. -->