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='https://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://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/RapierMissileSystemPrototype.x3d '/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/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 DEF nodes index: 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://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/RapierMissilePrototype.x3d#RapierMissile" "RapierMissilePrototype.wrl#RapierMissile" "https://www.web3d.org/x3d/content/examples/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://www.web3d.org/x3d/content/examples/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='10enabled='trueloop='false'/>
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='10enabled='trueloop='false'/>
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://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/RapierMissileSystemExample.x3d" "RapierMissileSystemExample.wrl" "https://www.web3d.org/x3d/content/examples/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 DEF nodes index: 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: to top 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 and 3 Anchor, TouchSensor hover hints, showing X3D event-model relationships for this scene.

Each row with a ROUTE statement shows an event cascade that may occur during a single timestamp interval between frame renderings, performed as part of the X3D execution model.

line 164
ProtoInstance
RapierMissile
No direct ROUTE connection found for events to/from this node.
This node is part of the RapierMissileSystem ProtoDeclare prototype declaration.
This ProtoInstance contains SFNode/MFNode fieldValue declaration with
direct access to other nodes, and thus has potential to produce run-time animation. 

topMissileClock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
topMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
topMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
TopMissile
Transform
set_translation
SFVec3f

line 182
ProtoInstance
RapierMissile
No direct ROUTE connection found for events to/from this node.
This node is part of the RapierMissileSystem ProtoDeclare prototype declaration.
This ProtoInstance contains SFNode/MFNode fieldValue declaration with
direct access to other nodes, and thus has potential to produce run-time animation. 

bottomMissileClock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
bottomMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
bottomMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
BottomMissile
Transform
set_translation
SFVec3f

MissileSystemRotation
CylinderSensor
rotation_changed
SFRotation
→
ROUTE
event to
(1)
MissileSystem
Transform
rotation
SFRotation

line 205
Anchor
description='RapierMissileSystemExample' 
No direct ROUTE connection found for events to/from this node. 

shootTopMissile
TouchSensor
touchTime
SFTime
→
ROUTE
event to
(1)
topMissileClock
TimeSensor
set_startTime
SFTime
then
from
same
node
topMissileClock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(2)
topMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
topMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(3)
TopMissile
Transform
set_translation
SFVec3f

shootBottomMissile
TouchSensor
touchTime
SFTime
→
ROUTE
event to
(1)
bottomMissileClock
TimeSensor
set_startTime
SFTime
then
from
same
node
bottomMissileClock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(2)
bottomMissilePathInterpolator
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
bottomMissilePathInterpolator
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(3)
BottomMissile
Transform
set_translation
SFVec3f

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://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/RapierMissileSystemPrototypeIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/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. -->