X3D Model Documentation: Mk48Torpedo.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=' Mk48Torpedo.x3d '/>
  6            <meta name='descriptioncontent="US Navy's Mk48 torpedo. Originally written in VRML by Haruna R. Isa."/>
  7            <meta name='createdcontent='1 June 1997'/>
  8            <meta name='createdcontent='29 April 2021'/>
  9            <meta name='creatorcontent='Haruna R. Isa'/>
 10            <meta name='translatorcontent='Jeffrey Weekley'/>
 11            <meta name='translatorcontent='Don Brutzman'/>
 12            <meta name='Imagecontent='diagram01Mk48TorpedoFAS.gif'/>
 13            <meta name='Imagecontent='https://www.fas.org/man/dod-101/sys/ship/weaps/torpedo_comp.gif'/>
 14            <meta name='photocontent=' http://www.chinfo.navy.mil/navpalib/factfile/weapons/wep-torp.html '/>
 15            <meta name='photocontent='Phot01Mk48TorpedoFASOrg.jpeg'/>
 16            <meta name='photocontent='https://www.fas.org/man/dod-101/sys/ship/weaps/731-p05-s.jpg'/>
 17            <meta name='referencecontent=' https://www.fas.org/man/dod-101/sys/ship/weaps/mk-48.htm '/>
 18            <meta name='slidesetcontent='HmasFarncombMk48SinkexDestroyerEscort.pps'/>
 19            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Weapons/Torpedoes/Mk48Torpedo.x3d '/>
 20            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 21            <meta name='licensecontent='../../license.html'/>
 22       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: Clock, ControlFin1, ControlFin2, ControlFin3, ControlFin4, controlfins, propeller, PropSpin, stabilizerfin1, stabilizerfin2, stabilizerfin3, stabilizerfin4, stabilzerfins, statorblade1, statorblade2, statorblade3, statorbladeshaft, statorcrankshaft, TailSection, torpedo, torpedoband1, torpedoband2, torpedoband3, torpedoband4, torpedobody1, torpedobody2, torpedobody3, torpedobody4, torpedonose, torpedoshroud, torpedostator, torpedostatorblade1, torpedostatorblade1A, torpedotail
-->
 23       <Scene>
 24            <WorldInfo title='Mk48Torpedo.x3d'/>
 25            <WorldInfo info='"Only unclassified open resources were used to create this model."'/>
 26            <Group>
 27                 <Transform DEF='torpedorotation='0.0 0.0 1.0 1.57079translation='4.0 0.0 0.0'>
 28 
                    <!-- Transform torpedoband1 is a DEF node that has 1 USE node: USE_1 -->
                    <Transform DEF='torpedoband1translation='0.0 1.465 0.0'>
 29                           <Shape>
 30                                <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 31                                <Appearance>
 32                                     <Material diffuseColor='1.0 1.0 1.0'/>
 33                                </Appearance>
 34                           </Shape>
 35                      </Transform>
 36 
                    <!-- Transform torpedobody1 is a DEF node that has 1 USE node: USE_1 -->
                    <Transform DEF='torpedobody1translation='0.0 2.1 0.0'>
 37                           <Shape>
 38                                <Cylinder bottom='falseheight='1.2radius='.267top='false'/>
 39                                <Appearance>
 40                                     <Material diffuseColor='1.0 1.0 1.0'/>
 41                                </Appearance>
 42                           </Shape>
 43                      </Transform>
 44                      <Transform DEF='torpedoband2translation='0.0 2.735 0.0'>
 45                           <Shape>
 46                                <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 47                                <Appearance>
 48                                     <Material diffuseColor='1.0 1.0 1.0'/>
 49                                </Appearance>
 50                           </Shape>
 51                      </Transform>
 52                      <Transform DEF='torpedobody2translation='0.0 3.37 0.0'>
 53                           <Shape>
 54                                <Cylinder bottom='falseheight='1.2radius='0.267top='false'/>
 55                                <Appearance>
 56                                     <Material diffuseColor='1.0 1.0 1.0'/>
 57                                </Appearance>
 58                           </Shape>
 59                      </Transform>
 60                      <Transform DEF='torpedoband3translation='0.0 4.005 0.0'>
 61                           <Shape>
 62                                <Cylinder bottom='falseheight='.07radius='.267top='false'/>
 63                                <Appearance>
 64                                     <Material diffuseColor='1.0 1.0 1.0'/>
 65                                </Appearance>
 66                           </Shape>
 67                      </Transform>
 68                      <Transform DEF='torpedobody3translation='0.0 4.638 0.0'>
 69                           <Shape>
 70                                <Cylinder bottom='falseheight='1.2radius='0.267top='false'/>
 71                                <Appearance>
 72                                     <Material diffuseColor='1.0 1.0 1.0'/>
 73                                </Appearance>
 74                           </Shape>
 75                      </Transform>
 76                      <Transform DEF='torpedoband4translation='0.0 3.8075 0.0'>
 77                           <Transform USE='torpedoband1'/>
 78                      </Transform>
 79                      <Transform DEF='torpedobody4translation='0.0 3.8075 0.0'>
 80                           <Transform USE='torpedobody1'/>
 81                      </Transform>
 82                      <Transform DEF='torpedonoserotation='1.0 0.0 0.0 3.1416translation='0.0 1.4285 0.0'>
 83                           <Shape>
 84                                <Appearance>
 85                                     <Material diffuseColor='1.0 1.0 1.0'/>
 86                                </Appearance>
 87                                <Extrusion creaseAngle='1.785crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0scale='1.00 1.00 0.95 0.95 0.88 0.88 0.76 0.76 0.48 0.48spine='0.00 0.00 0.00 0.00 0.10 0.00 0.00 0.20 0.00 0.00 0.30 0.00 0.00 0.40 0.00'/>
 88                           </Shape>
 89                      </Transform>
 90                      <Group DEF='controlfins'>
 91                           <Transform rotation='0 -1 0 5.27translation='0.0 0.125 0.0'>
 92 
                              <!-- Transform ControlFin1 is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                              <Transform DEF='ControlFin1'>
 93                                     <Transform translation='0.19 7.81 0.0'>
 94                                          <Shape>
 95                                               <Box size='0.16 .2 0.02'/>
 96                                               <Appearance>
 97                                                    <Material diffuseColor='0.0 1.0 0.0'/>
 98                                                    <!-- green -->
 99                                               </Appearance>
100                                          </Shape>
101                                     </Transform>
102                                </Transform>
103                                <Transform DEF='ControlFin2rotation='0 1 0 3.17'>
104                                     <Transform USE='ControlFin1'/>
105                                </Transform>
106                                <Transform DEF='ControlFin3rotation='0 1 0 1.57'>
107                                     <Transform USE='ControlFin1'/>
108                                </Transform>
109                                <Transform DEF='ControlFin4rotation='0.0 1.0 0.0 4.74'>
110                                     <Transform USE='ControlFin1'/>
111                                </Transform>
112                           </Transform>
113                      </Group>
114                      <Group DEF='stabilzerfins'>
115                           <Transform translation='0.0 8.15 0.0'>
116 
                              <!-- Transform stabilizerfin1 is a DEF node that has 1 USE node: USE_1 -->
                              <Transform DEF='stabilizerfin1translation='0.19 -0.5 0.0'>
117                                     <Shape>
118                                          <Box size='0.08 0.75 0.02'/>
119                                          <Appearance>
120                                               <Material diffuseColor='0.0 0.0 0.8'/>
121                                          </Appearance>
122                                     </Shape>
123                                </Transform>
124 
                              <!-- Transform stabilizerfin2 is a DEF node that has 1 USE node: USE_1 -->
                              <Transform DEF='stabilizerfin2rotation='0.0 1.0 0.0 1.57translation='0.0 -0.5 0.19'>
125                                     <Shape>
126                                          <Box size='0.08 0.75 0.02'/>
127                                          <Appearance>
128                                               <Material diffuseColor='0.5 1.0 0.5'/>
129                                               <!-- light green -->
130                                          </Appearance>
131                                     </Shape>
132                                </Transform>
133                                <Transform DEF='stabilizerfin3rotation='0.0 1.0 0.0 3.1416'>
134                                     <Transform USE='stabilizerfin1'/>
135                                </Transform>
136                                <Transform DEF='stabilizerfin4rotation='0.0 1.0 0.0 3.1416'>
137                                     <Transform USE='stabilizerfin2'/>
138                                </Transform>
139                           </Transform>
140                      </Group>
141                      <Group DEF='TailSection'>
142                           <Transform DEF='torpedotailrotation='1.0 0.0 0.0 3.1416translation='0.0 7.9375 0.0'>
143                                <Shape>
144                                     <Appearance>
145                                          <Material diffuseColor='1.0 1.0 1.0'/>
146                                     </Appearance>
147                                     <Extrusion creaseAngle='2.0crossSection='0.267 0.000 0.231 -0.134 0.134 -0.231 0.0 -0.267 -0.134 -0.231 -0.231 -0.134 -0.267 0.000 -0.231 0.134 -0.134 0.231 0.0 0.267 0.134 0.231 0.231 0.134 0.267 0.0endCap='falsescale='0.342 0.342 0.500 0.500 0.643 0.643 0.766 0.766 0.866 0.866 0.940 0.940 0.985 0.985 1.0 1.0spine='0.0 0.0 0.000 0.0 0.114 0.000 0.0 0.266 0.000 0.0 0.453 0.000 0.0 0.670 0.000 0.0 0.910 0.000 0.0 1.166 0.000 0.0 1.431 0.0'/>
148                                </Shape>
149                                <Shape DEF='torpedoshroud'>
150                                     <Appearance>
151                                          <Material diffuseColor='1.0 1.0 1.0'/>
152                                     </Appearance>
153                                     <Extrusion creaseAngle='.785crossSection='0.00 0.00 -0.02 0.00 -0.02 -0.10 -0.06 -0.20 -0.04 -0.20 0.00 -0.10 0.00 0.00solid='falsespine='0.20 0.00 0.00 0.19 0.00 -0.07 0.15 0.00 -0.13 0.10 0.00 -0.17 0.03 0.00 -0.20 -0.03 0.00 -0.20 -0.10 0.00 -0.17 -0.15 0.00 -0.13 -0.19 0.00 -0.07 -0.20 0.00 0.00 -0.19 0.00 0.07 -0.15 0.00 0.13 -0.10 0.00 0.17 -0.03 0.00 0.20 0.03 0.00 0.20 0.10 0.00 0.17 0.15 0.00 0.13 0.19 0.00 0.07 0.20 0.00 0.00'/>
154                                </Shape>
155                                <Group DEF='torpedostator'>
156 
                                   <!-- ROUTE information for propeller node:  [from PropSpin.value_changed to rotation ] -->
                                   <Transform DEF='propellertranslation='0.0 -0.15 0.0'>
157 
                                        <!-- Group statorblade1 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                        <Group DEF='statorblade1'>
158                                               <Transform DEF='torpedostatorblade1'>
159                                                    <Transform rotation='-1.0 0.0 0.0 3.43translation='0.075 0.0 0.0'>
160                                                         <Shape>
161                                                              <Box size='0.125 0.09 0.015'/>
162                                                              <Appearance>
163                                                                   <Material diffuseColor='1.0 1.0 1.0'/>
164                                                              </Appearance>
165                                                         </Shape>
166                                                    </Transform>
167                                               </Transform>
168                                               <Transform DEF='torpedostatorblade1A'>
169                                                    <Transform rotation='1 0 0 3.43translation='-0.075 0.0 0.0'>
170                                                         <Shape>
171                                                              <Box size='0.125 0.09 0.015'/>
172                                                              <Appearance>
173                                                                   <Material diffuseColor='1.0 1.0 1.0'/>
174                                                              </Appearance>
175                                                         </Shape>
176                                                    </Transform>
177                                               </Transform>
178                                          </Group>
179                                          <Group DEF='statorblade2'>
180                                               <Transform rotation='0 1 0 2.04'>
181                                                    <Group USE='statorblade1'/>
182                                               </Transform>
183                                          </Group>
184                                          <Group DEF='statorblade3'>
185                                               <Transform rotation='0 -1 0 5.27'>
186                                                    <Group USE='statorblade1'/>
187                                               </Transform>
188                                          </Group>
189                                          <Transform DEF='statorbladeshafttranslation='0.0 0 0.0'>
190                                               <Shape>
191                                                    <Appearance>
192                                                         <Material diffuseColor='0.0 0.0 0.5'/>
193                                                    </Appearance>
194                                                    <Cylinder height='0.1radius='0.05'/>
195                                               </Shape>
196                                          </Transform>
197                                          <Transform DEF='statorcrankshafttranslation='0.0 0.1 0.0'>
198                                               <Shape>
199                                                    <Cylinder height='.125radius='.025'/>
200                                                    <Appearance>
201                                                         <Material diffuseColor='0.0 0.0 0.75'/>
202                                                    </Appearance>
203                                               </Shape>
204                                          </Transform>
205                                     </Transform>
206 
                                   <!-- ROUTE information for PropSpin node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to propeller.rotation ] -->
                                   <OrientationInterpolator DEF='PropSpinkey='0.0 0.5 1.0keyValue='0.0 1.0 0.0 0.00 0.0 1.0 0.0 3.14 0.0 1.0 0.0 6.28'/>
207 
                                   <!-- ROUTE information for Clock node:  [from fraction_changed to PropSpin.set_fraction ] -->
                                   <TimeSensor DEF='ClockcycleInterval='0.5loop='true'/>
208                                     <!-- Spins the propellor and stator once every 4 seconds -->
209                                </Group>
210                           </Transform>
211                      </Group>
212                 </Transform>
213            </Group>
214            < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='PropSpin' toField='set_fraction'/>
215            < ROUTE  fromNode='PropSpin' fromField='value_changed' toNode='propeller' toField='rotation'/>
216       </Scene>
217  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: Clock, ControlFin1, ControlFin2, ControlFin3, ControlFin4, controlfins, propeller, PropSpin, stabilizerfin1, stabilizerfin2, stabilizerfin3, stabilizerfin4, stabilzerfins, statorblade1, statorblade2, statorblade3, statorbladeshaft, statorcrankshaft, TailSection, torpedo, torpedoband1, torpedoband2, torpedoband3, torpedoband4, torpedobody1, torpedobody2, torpedobody3, torpedobody4, torpedonose, torpedoshroud, torpedostator, torpedostatorblade1, torpedostatorblade1A, torpedotail
-->
X3D Tooltips element index: Appearance, Box, Cylinder, Extrusion, Group, head, Material, meta, OrientationInterpolator, ROUTE, Scene, Shape, TimeSensor, Transform, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

ROUTE
event to
(1)
PropSpin
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
PropSpin
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
propeller
Transform
rotation
SFRotation

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/Torpedoes/Mk48TorpedoIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Weapons/Torpedoes/Mk48Torpedo.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)
-->

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