X3D Model Documentation: CampPendletonRaidWithRez.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            <!-- This visualization was used as part of a demostration to OSD. The demonstration took a USMTF OPORD message in XML applied a XSLT stylesheet and imported the result into an Oracle database using the Generic Hub ontology as the data model. After it had been imported into the database another XSLT stylesheet was applied to convert to and X3D visualization of the marine amphibious raid. -->
  6            <meta name='titlecontent=' CampPendletonRaidWithRez.x3d '/>
  7            <meta name='descriptioncontent='AAAV Amphibious Raid generated from a USMC USMTF Operation Order'/>
  8            <meta name='creatorcontent='Doug Horner and the Savage Group'/>
  9            <meta name='createdcontent='20 November 2001'/>
 10            <meta name='modifiedcontent='23 August 2023'/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Scenarios/AmphibiousRaidCampPendleton/CampPendletonRaidWithRez.x3d '/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 13            <meta name='licensecontent='../../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AAAV, AAAV_1_WaypointInterpolator, AAAV1_Clock, AAAV-2, AAAV-3, AAAV-Location, AAV-2PATH, AAV-3PATH, Helo, Helo_1_WaypointInterpolator, Helo_Clock, Helo-2, Helo-2PATH, Helo-3, Helo-3PATH, Helo-Location, LPD, OtherAAAVs, OtherHelos, Ship_Clock, Ship_WaypointInterpolator, Ship-Location, Sub_Clock, Sub_WaypointInterpolator, Sub-Location, VerticalCorrection

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10

Index for ExternProtoDeclare definition: WaypointInterpolator
-->
 15       <Scene>
 16            <WorldInfo title='CampPendletonRaidWithRez.x3d'/>
 17            <!-- Prototype and external prototype declarations must precede scene definition -->
 18            <ExternProtoDeclare name='WaypointInterpolatorappinfo='Reads waypoints and legSpeeds/legDurations/defaultSpeed to provide a customizable position/orientation interpolator.'   url=' "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.x3d#WaypointInterpolator" "../../../Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" "https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/WaypointInterpolatorPrototype.wrl#WaypointInterpolator" '>
 19                 <!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) -->
 20                 <field name='descriptiontype='SFStringaccessType='initializeOnly'
                appinfo='Short description of what is animated by this WaypointInterpolator.'/>
 21                 <field name='waypointstype='MFVec3faccessType='initializeOnly'
                appinfo='Waypoints being traversed with interpolation of intermediate positions and orientations.'/>
 22                 <field name='add_waypointtype='SFVec3faccessType='inputOnly'
                appinfo='Add another single waypoint to array of waypoints recalculate interpolator values.'/>
 23                 <field name='set_waypointstype='MFVec3faccessType='inputOnly'
                appinfo='Replace all waypoints recalculate interpolator values.'/>
 24                 <field name='pitchUpDownForVerticalWaypointstype='SFBoolaccessType='initializeOnly'
                appinfo='Whether to pitch child geometry (such as a vehicle) up or down to match vertical slope'/>
 25                 <field name='legSpeedstype='MFFloataccessType='initializeOnly'
                appinfo='Units m/sec. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 26                 <field name='legDurationstype='MFTimeaccessType='initializeOnly'
                appinfo='Units in seconds. If used array lengths for legSpeeds and legDurations must be one less than number of waypoints.'/>
 27                 <field name='defaultSpeedtype='SFFloataccessType='initializeOnly'
                appinfo='Units m/sec.'/>
 28                 <field name='turningRatetype='SFFloataccessType='initializeOnly'
                appinfo='turningRate (degrees/second) also determines standoff distance prior to waypoint where turn commences. If 0 turns are instantaneous.'/>
 29                 <field name='totalDurationtype='SFTimeaccessType='outputOnly'
                appinfo='Output calculation summing all leg durations, useful for setting TimeSensor cycleInterval. Units in seconds.'/>
 30                 <!-- interpolation fields -->
 31                 <field name='set_fractiontype='SFFloataccessType='inputOnly'
                appinfo='exposed PositionInterpolator and OrientationInterpolator setting'/>
 32                 <field name='position_changedtype='SFVec3faccessType='outputOnly'
                appinfo='exposed PositionInterpolator setting'/>
 33                 <field name='orientation_changedtype='SFRotationaccessType='outputOnly'
                appinfo='exposed OrientationInterpolator setting'/>
 34                 <!-- display-related fields -->
 35                 <field name='lineColortype='SFColoraccessType='inputOutput'
                appinfo='default color for non-active line segments'/>
 36                 <field name='highlightSegmentColortype='SFColoraccessType='inputOutput'
                appinfo='active segment highlight color'/>
 37                 <field name='transparencytype='SFFloataccessType='inputOutput'
                appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 38                 <field name='labelDisplayModetype='SFStringaccessType='initializeOnly'
                appinfo='allowed values: none; waypoints (produce labels at each waypoint); or interpolation (produce single moving label at interpolator time course speed location)'/>
 39                 <field name='heightLabeltype='SFStringaccessType='initializeOnly'
                appinfo='allowed values: altitude depth (negate Y value) none'/>
 40                 <field name='labelOffsettype='SFVec3faccessType='initializeOnly'
                appinfo='heightLabel relative location'/>
 41                 <field name='labelFontSizetype='SFFloataccessType='initializeOnly'
                appinfo='heightLabel text size'/>
 42                 <field name='labelColortype='SFColoraccessType='initializeOnly'
                appinfo='heightLabel text color'/>
 43                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'
                appinfo='enable console output to trace script computations and prototype progress'/>
 44                 <field name='outputInitializationComputationstype='SFBoolaccessType='initializeOnly'
                appinfo='Output the number of waypoints totalDistance and totalDuration to console upon initialization'/>
 45                 <field name='verticalDropLineColortype='SFColoraccessType='inputOutput'
                appinfo='default color for vertical drop-line segments'/>
 46                 <field name='verticalDropLineTransparencytype='SFFloataccessType='inputOutput'
                appinfo='1.0 is completely transparent, 0.0 is completely opaque.'/>
 47            </ExternProtoDeclare>
 48            <NavigationInfo avatarSize='200 200 200speed='100visibilityLimit='200000'/>
 49            <Background groundAngle='1.309 1.570796groundColor='0 .2 .4 .05 .25 .6 .1 .2 .4skyAngle='1.309 1.571skyColor='.1 .1 .4 .1 .125 .4 .1 .1 .3'/>
 50            <Viewpoint description='View from aboveorientation='1 0 0 -1.57position='55500 150000 55500'/>
 51            <Viewpoint description='View from South to Northposition='55000 25000 180000'/>
 52            <Viewpoint description='View from the Southeast Cornerorientation='0 1 0 -0.795position='-37000.0 25000 166500.0'/>
 53            <Viewpoint description='Towards the Amphibious Shipsorientation='0 1 0 -1.00position='0 15000 130000'/>
 54            <Viewpoint description='Beach Landing Siteorientation='0 1 0 -1.00position='50000 5000 90000'/>
 55            <Viewpoint description='Airfield Objectiveorientation='1 0 0 -.785position='72000 8000 90000'/>
 56            <Viewpoint description='Over Airfieldorientation='1 0 0 -1.20position='73000 7000 80000'/>
 57            <Switch whichChoice='0'>
 58                 <Group>
 59                      <!-- =======Land Terrain======== -->
 60                      <Transform>
 61                           <Inline   url=' "../../TerrainData/DTED2w118N33/w118w118N33/display.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Scenarios/AmphibiousRaidCampPendleton/../../TerrainData/DTED2w118N33/w118w118N33/display.x3d" "../../TerrainData/DTED2w118N33/w118w118N33/display.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Scenarios/AmphibiousRaidCampPendleton/../../TerrainData/DTED2w118N33/w118w118N33/display.wrl" '/>
 62                      </Transform>
 63                      <!-- =======Ships======= -->
 64                      <Transform DEF='LPDtranslation='46287 10 90687'>
 65                           <Inline   url=' "../../ShipsMilitary/LandingShipTankEnduranceSingapore/EnduranceLST.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingShipTankEnduranceSingapore/EnduranceLST.x3d" "../../ShipsMilitary/LandingShipTankEnduranceSingapore/EnduranceLST.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/LandingShipTankEnduranceSingapore/EnduranceLST.wrl" '/>
 66                      </Transform>
 67                      <!-- ======Vessel Oparea Boundaries ====== -->
 68                      <!-- ======Oparea Boundary for USS Bremerton====== -->
 69                      <Transform>
 70                           <Shape>
 71                                <Appearance>
 72                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
 73                                </Appearance>
 74                                <IndexedLineSet coordIndex='0 1 2 0'>
 75                                     <Coordinate point='21149 25 67247 0 25 78460 0 25 52328 21149 25 67247'/>
 76                                </IndexedLineSet>
 77                           </Shape>
 78                      </Transform>
 79                      <!-- ======Oparea Boundary for USS Stethem====== -->
 80                      <Transform>
 81                           <Shape>
 82                                <Appearance>
 83                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
 84                                </Appearance>
 85                                <IndexedLineSet coordIndex='0 1 2 3 0'>
 86                                     <Coordinate point='18062 25 51504 56689 25 79612 47379 25 82602 9828 25 57042 18062 25 51504'/>
 87                                </IndexedLineSet>
 88                           </Shape>
 89                      </Transform>
 90                      <!-- =======Oparea Boundary for USS Essex====== -->
 91                      <Transform>
 92                           <Shape>
 93                                <Appearance>
 94                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
 95                                </Appearance>
 96                                <IndexedLineSet coordIndex='0 1 2 3 0'>
 97                                     <Coordinate point='0 25 80852 20950 25 69789 32440 25 78460 0 25 96104 0 25 80852'/>
 98                                </IndexedLineSet>
 99                           </Shape>
100                      </Transform>
101                      <!-- ======Oparea Boundary for USS Denver======= -->
102                      <Transform>
103                           <Shape>
104                                <Appearance>
105                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
106                                </Appearance>
107                                <IndexedLineSet coordIndex='0 1 2 3 4 5 0'>
108                                     <Coordinate point='0 25 98645 0 25 105972 5500 25 111000 12828 25 111000 50267 25 91767 34222 25 79507 0 25 98645'/>
109                                </IndexedLineSet>
110                           </Shape>
111                      </Transform>
112                      <!-- =======Oparea Boundary for USS Pearl Harbor======= -->
113                      <Transform>
114                           <Shape>
115                                <Appearance>
116                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
117                                </Appearance>
118                                <IndexedLineSet coordIndex='0 1 2 3 0'>
119                                     <Coordinate point='52249 25 93860 59379 25 107915 53436 25 111000 18970 25 111000 52249 25 93860'/>
120                                </IndexedLineSet>
121                           </Shape>
122                      </Transform>
123                      <!-- ======Oparea for USS Higgins======= -->
124                      <Transform>
125                           <Shape>
126                                <Appearance>
127                                     <Material diffuseColor='1 0 0emissiveColor='1 0 0'/>
128                                </Appearance>
129                                <IndexedLineSet coordIndex='0 1 2 3 0'>
130                                     <Coordinate point='62915 25 86450 55982 25 89892 63424 25 111000 74009 25 111000 62915 25 86450'/>
131                                </IndexedLineSet>
132                           </Shape>
133                      </Transform>
134                      <!-- ======Submarine====== -->
135 
                    <!-- ROUTE information for Sub_Clock node:  [from Sub_WaypointInterpolator.totalDuration to cycleInterval ] [from fraction_changed to Sub_WaypointInterpolator.fraction ] -->
                    <TimeSensor DEF='Sub_Clockloop='true'/>
136 
                    <!-- ROUTE information for Sub_WaypointInterpolator node:  [from Sub_Clock.fraction_changed to fraction ] [from totalDuration to Sub_Clock.cycleInterval ] [from position_changed to Sub-Location.set_translation ] [from orientation_changed to Sub-Location.set_rotation ] -->
                    <ProtoInstance name='WaypointInterpolatorDEF='Sub_WaypointInterpolator'>
137                           <fieldValue name='descriptionvalue='Sub_WaypointInterpolator'/>
138                           <fieldValue name='waypointsvalue='21149 -30 67247 0 -30 78460 0 -30 52328 21149 -30 67247'/>
139                           <fieldValue name='pitchUpDownForVerticalWaypointsvalue='false'/>
140                           <!-- Priority of use: legSpeeds (m/sec), legDurations (seconds), defaultSpeed (m/sec) -->
141                           <!-- 1 knot = 0.5144 meters/second -->
142                           <fieldValue name='defaultSpeedvalue='50'/>
143                           <fieldValue name='turningRatevalue='90'/>
144                           <fieldValue name='lineColorvalue='1 0 0'/>
145                           <fieldValue name='highlightSegmentColorvalue='0.2 0.2 1'/>
146                           <fieldValue name='transparencyvalue='0'/>
147                           <fieldValue name='labelDisplayModevalue='interpolation'/>
148                           <fieldValue name='heightLabelvalue='altitude'/>
149                           <fieldValue name='labelOffsetvalue='0 -0.8 0'/>
150                           <fieldValue name='labelFontSizevalue='0.5'/>
151                           <fieldValue name='labelColorvalue='0.3 0.9 0.3'/>
152                           <fieldValue name='traceEnabledvalue='false'/>
153                      </ProtoInstance>
154                      < ROUTE  fromNode='Sub_Clock' fromField='fraction_changed' toNode='Sub_WaypointInterpolator' toField='fraction'/>
155                      < ROUTE  fromNode='Sub_WaypointInterpolator' fromField='totalDuration' toNode='Sub_Clock' toField='cycleInterval'/>
156 
                    <!-- ROUTE information for Sub-Location node:  [from Sub_WaypointInterpolator.position_changed to set_translation ] [from Sub_WaypointInterpolator.orientation_changed to set_rotation ] -->
                    <Transform DEF='Sub-Locationtranslation='2351 -30 57491'>
157                           <Group>
158                                <Transform translation='0 -4 0'>
159                                     <Inline   url=' "../../Submarines/SsnLosAngelesUnitedStates/688.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/688.x3d" "../../Submarines/SsnLosAngelesUnitedStates/688.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Submarines/SsnLosAngelesUnitedStates/688.wrl" '/>
160                                </Transform>
161                           </Group>
162                      </Transform>
163                      < ROUTE  fromNode='Sub_WaypointInterpolator' fromField='position_changed' toNode='Sub-Location' toField='set_translation'/>
164                      < ROUTE  fromNode='Sub_WaypointInterpolator' fromField='orientation_changed' toNode='Sub-Location' toField='set_rotation'/>
165                      <!-- ======Ships====== -->
166 
                    <!-- ROUTE information for Ship_Clock node:  [from Ship_WaypointInterpolator.totalDuration to cycleInterval ] [from fraction_changed to Ship_WaypointInterpolator.fraction ] -->
                    <TimeSensor DEF='Ship_Clockloop='true'/>
167 
                    <!-- ROUTE information for Ship_WaypointInterpolator node:  [from Ship_Clock.fraction_changed to fraction ] [from totalDuration to Ship_Clock.cycleInterval ] [from position_changed to Ship-Location.set_translation ] [from orientation_changed to Ship-Location.set_rotation ] -->
                    <ProtoInstance name='WaypointInterpolatorDEF='Ship_WaypointInterpolator'>
168                           <fieldValue name='descriptionvalue='Ship_WaypointInterpolator'/>
169                           <fieldValue name='waypointsvalue='12948 3 56743 48009 3 80538 53258 3 79042 17801 3 53450 12948 3 56743'/>
170                           <fieldValue name='pitchUpDownForVerticalWaypointsvalue='false'/>
171                           <fieldValue name='defaultSpeedvalue='50'/>
172                           <fieldValue name='turningRatevalue='90'/>
173                           <fieldValue name='lineColorvalue='1 0 0'/>
174                           <fieldValue name='highlightSegmentColorvalue='0.2 0.2 1'/>
175                           <fieldValue name='transparencyvalue='0'/>
176                           <fieldValue name='labelDisplayModevalue='interpolation'/>
177                           <fieldValue name='heightLabelvalue='altitude'/>
178                           <fieldValue name='labelOffsetvalue='0 -0.8 0'/>
179                           <fieldValue name='labelFontSizevalue='0.5'/>
180                           <fieldValue name='labelColorvalue='0.3 0.9 0.3'/>
181                           <fieldValue name='traceEnabledvalue='false'/>
182                      </ProtoInstance>
183                      < ROUTE  fromNode='Ship_Clock' fromField='fraction_changed' toNode='Ship_WaypointInterpolator' toField='fraction'/>
184                      < ROUTE  fromNode='Ship_WaypointInterpolator' fromField='totalDuration' toNode='Ship_Clock' toField='cycleInterval'/>
185 
                    <!-- ROUTE information for Ship-Location node:  [from Ship_WaypointInterpolator.position_changed to set_translation ] [from Ship_WaypointInterpolator.orientation_changed to set_rotation ] -->
                    <Transform DEF='Ship-Locationtranslation='12948 10 56743'>
186                           <Group>
187                                <Transform rotation='0 1 0 -1.57translation='0 10 0'>
188                                     <Inline   url=' "../../ShipsMilitary/DDGArleighBurkeUnitedStates/ArleighBurkeGeneric.x3d" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/ArleighBurkeGeneric.x3d" "../../ShipsMilitary/DDGArleighBurkeUnitedStates/ArleighBurkeGeneric.wrl" "https://www.web3d.org/x3d/content/examples/Savage/ShipsMilitary/DDGArleighBurkeUnitedStates/ArleighBurkeGeneric.wrl" '/>
189                                </Transform>
190                           </Group>
191                      </Transform>
192                      < ROUTE  fromNode='Ship_WaypointInterpolator' fromField='position_changed' toNode='Ship-Location' toField='set_translation'/>
193                      < ROUTE  fromNode='Ship_WaypointInterpolator' fromField='orientation_changed' toNode='Ship-Location' toField='set_rotation'/>
194                      <!-- ======Amphibious Vehicles====== -->
195 
                    <!-- ROUTE information for AAAV1_Clock node:  [from AAAV_1_WaypointInterpolator.totalDuration to cycleInterval ] [from fraction_changed to AAAV_1_WaypointInterpolator.fraction ] -->
                    <TimeSensor DEF='AAAV1_Clockloop='true'/>
196 
                    <!-- ROUTE information for AAAV_1_WaypointInterpolator node:  [from AAAV1_Clock.fraction_changed to fraction ] [from totalDuration to AAAV1_Clock.cycleInterval ] [from position_changed to AAAV-Location.set_translation ] [from orientation_changed to AAAV-Location.set_rotation ] -->
                    <ProtoInstance name='WaypointInterpolatorDEF='AAAV_1_WaypointInterpolator'>
197                           <!-- need to improve elevations on beach (final waypoint) -->
198                           <fieldValue name='descriptionvalue='AAAV_1_WaypointInterpolator'/>
199                           <fieldValue name='waypointsvalue='46287 10 90687 63492 30 83472 65490 50 82140 67710 50 85470 69930 50 78810 71928 50 77922 69930 50 78810 67710 40 85470 65490 30 82140 63492 30 83472 46287 10 90687'/>
200                           <fieldValue name='pitchUpDownForVerticalWaypointsvalue='false'/>
201                           <fieldValue name='defaultSpeedvalue='50'/>
202                           <fieldValue name='turningRatevalue='90'/>
203                           <fieldValue name='lineColorvalue='1 0 0'/>
204                           <fieldValue name='highlightSegmentColorvalue='0.2 0.2 1'/>
205                           <fieldValue name='transparencyvalue='0'/>
206                           <fieldValue name='labelDisplayModevalue='interpolation'/>
207                           <fieldValue name='heightLabelvalue='altitude'/>
208                           <fieldValue name='labelOffsetvalue='0 -0.8 0'/>
209                           <fieldValue name='labelFontSizevalue='0.5'/>
210                           <fieldValue name='labelColorvalue='0.3 0.9 0.3'/>
211                           <fieldValue name='traceEnabledvalue='false'/>
212                      </ProtoInstance>
213                      < ROUTE  fromNode='AAAV1_Clock' fromField='fraction_changed' toNode='AAAV_1_WaypointInterpolator' toField='fraction'/>
214                      < ROUTE  fromNode='AAAV_1_WaypointInterpolator' fromField='totalDuration' toNode='AAAV1_Clock' toField='cycleInterval'/>
215 
                    <!-- ROUTE information for AAAV-Location node:  [from AAAV_1_WaypointInterpolator.position_changed to set_translation ] [from AAAV_1_WaypointInterpolator.orientation_changed to set_rotation ] -->
                    <Transform DEF='AAAV-Locationtranslation='46287 10 90687'>
216                           <Group>
217                                <Viewpoint description='AAAV raid from behindorientation='0 1 0 -1.57position='-200 50 0'/>
218                                <Transform DEF='VerticalCorrectiontranslation='0 -4 0'>
219 
                                   <!-- Inline AAAV is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                   <Inline DEF='AAAV'   url=' "../../AmphibiousVehicles/AAAV/AAAV.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AmphibiousVehicles/AAAV/AAAV.x3d" "../../AmphibiousVehicles/AAAV/AAAV.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AmphibiousVehicles/AAAV/AAAV.wrl" '/>
220                                </Transform>
221                                <Group DEF='OtherAAAVs'>
222                                     <Transform translation='-15 -4 15'>
223 
                                        <!-- ROUTE information for AAAV-2 node:  [from AAV-2PATH.value_changed to set_translation ] -->
                                        <Transform DEF='AAAV-2'>
224                                               <Inline USE='AAAV'/>
225 
                                             <!-- ROUTE information for AAV-2PATH node:  [from value_changed to AAAV-2.set_translation ] -->
                                             <PositionInterpolator DEF='AAV-2PATHkey='0.00 0.11 0.17 0.22 0.33 0.44 0.50 0.55 0.66 0.77 0.83 0.88 0.99keyValue='0.0 0.0 0.0 1.0 0.96 1.0 1.5 0.21 1.5 2.0 0.96 2.0 3.0 0.0 3.0 2.5 0.96 3.0 1.75 0.41 3.0 1.0 0.96 3.0 3.0 0.0 3.0 2.0 0.46 2.0 1.0 0.4 1.5 0.0 0.46 1.0 0.0 0.0 0.0'/>
226                                               < ROUTE  fromNode='AAV-2PATH' fromField='value_changed' toNode='AAAV-2' toField='set_translation'/>
227                                          </Transform>
228                                     </Transform>
229                                     <Transform translation='-15 -4 -17.5'>
230 
                                        <!-- ROUTE information for AAAV-3 node:  [from AAV-3PATH.value_changed to set_translation ] -->
                                        <Transform DEF='AAAV-3'>
231                                               <Inline USE='AAAV'/>
232 
                                             <!-- ROUTE information for AAV-3PATH node:  [from value_changed to AAAV-3.set_translation ] -->
                                             <PositionInterpolator DEF='AAV-3PATHkey='0.00 0.07 0.13 0.22 0.36 0.47 0.55 0.625 0.66 0.72 0.80 0.85 0.99keyValue='0.0 0.0 0.0 1.0 0.96 1.0 1.5 0.21 2.25 2.0 0.46 2.66 3.0 -0.25 3.0 2.5 0.96 3.0 1.75 0.41 3.0 1.0 0.96 3.0 3.0 0.0 3.0 2.0 0.46 2.0 1.0 0.4 1.5 0.0 0.46 1.0 0.0 0.0 0.0'/>
233                                               < ROUTE  fromNode='AAV-3PATH' fromField='value_changed' toNode='AAAV-3' toField='set_translation'/>
234                                          </Transform>
235                                     </Transform>
236                                </Group>
237                           </Group>
238                      </Transform>
239                      < ROUTE  fromNode='AAAV_1_WaypointInterpolator' fromField='position_changed' toNode='AAAV-Location' toField='set_translation'/>
240                      < ROUTE  fromNode='AAAV_1_WaypointInterpolator' fromField='orientation_changed' toNode='AAAV-Location' toField='set_rotation'/>
241                      <!-- ======Helicopter Gunships====== -->
242 
                    <!-- ROUTE information for Helo_Clock node:  [from Helo_1_WaypointInterpolator.totalDuration to cycleInterval ] [from fraction_changed to Helo_1_WaypointInterpolator.fraction ] -->
                    <TimeSensor DEF='Helo_Clockloop='true'/>
243 
                    <!-- ROUTE information for Helo_1_WaypointInterpolator node:  [from Helo_Clock.fraction_changed to fraction ] [from totalDuration to Helo_Clock.cycleInterval ] [from position_changed to Helo-Location.set_translation ] [from orientation_changed to Helo-Location.set_rotation ] -->
                    <ProtoInstance name='WaypointInterpolatorDEF='Helo_1_WaypointInterpolator'>
244                           <fieldValue name='descriptionvalue='Helo_1_WaypointInterpolator'/>
245                           <fieldValue name='waypointsvalue='46287 10000 90687 63492 10000 83472 65490 10000 82140 67710 10000 85470 69930 10000 78810 71928 10000 77922 69930 10000 78810 67710 10000 85470 65490 10000 82140 63492 10000 83472 46287 10000 90687'/>
246                           <fieldValue name='pitchUpDownForVerticalWaypointsvalue='false'/>
247                           <fieldValue name='defaultSpeedvalue='50'/>
248                           <fieldValue name='turningRatevalue='90'/>
249                           <fieldValue name='lineColorvalue='1 0 0'/>
250                           <fieldValue name='highlightSegmentColorvalue='0.2 0.2 1'/>
251                           <fieldValue name='transparencyvalue='0'/>
252                           <fieldValue name='labelDisplayModevalue='interpolation'/>
253                           <fieldValue name='heightLabelvalue='altitude'/>
254                           <fieldValue name='labelOffsetvalue='0 -0.8 0'/>
255                           <fieldValue name='labelFontSizevalue='0.5'/>
256                           <fieldValue name='labelColorvalue='0.3 0.9 0.3'/>
257                           <fieldValue name='traceEnabledvalue='false'/>
258                      </ProtoInstance>
259                      < ROUTE  fromNode='Helo_Clock' fromField='fraction_changed' toNode='Helo_1_WaypointInterpolator' toField='fraction'/>
260                      < ROUTE  fromNode='Helo_1_WaypointInterpolator' fromField='totalDuration' toNode='Helo_Clock' toField='cycleInterval'/>
261 
                    <!-- ROUTE information for Helo-Location node:  [from Helo_1_WaypointInterpolator.position_changed to set_translation ] [from Helo_1_WaypointInterpolator.orientation_changed to set_rotation ] -->
                    <Transform DEF='Helo-Locationtranslation='46287 10000 90687'>
262                           <Group>
263                                <Viewpoint description='Helo raid from behindorientation='0 1 0 -1.57position='-180 20 0'/>
264                                <Transform rotation='0 1 0 -1.57'>
265                                     <Viewpoint description='Helo raid from aboveorientation='1 0 0 -1.1position='0 130 60'/>
266                                </Transform>
267                                <Transform translation='0 -4 0'>
268 
269                                </Transform>
270                                <Group DEF='OtherHelos'>
271                                     <Transform translation='-15 -4 15'>
272 
                                        <!-- ROUTE information for Helo-2 node:  [from Helo-2PATH.value_changed to set_translation ] -->
                                        <Transform DEF='Helo-2'>
273                                               <Inline USE='Helo'/>
274 
                                             <!-- ROUTE information for Helo-2PATH node:  [from value_changed to Helo-2.set_translation ] -->
                                             <PositionInterpolator DEF='Helo-2PATHkey='0.00 0.11 0.17 0.22 0.33 0.44 0.50 0.55 0.66 0.77 0.83 0.88 0.99keyValue='0.0 0.0 0.0 1.0 0.96 1.0 1.5 0.21 1.5 2.0 0.96 2.0 3.0 0.0 3.0 2.5 0.96 3.0 1.75 0.41 3.0 1.0 0.96 3.0 3.0 0.0 3.0 2.0 0.46 2.0 1.0 0.4 1.5 0.0 0.46 1.0 0.0 0.0 0.0'/>
275                                               < ROUTE  fromNode='Helo-2PATH' fromField='value_changed' toNode='Helo-2' toField='set_translation'/>
276                                          </Transform>
277                                     </Transform>
278                                     <Transform translation='-15 -4 -17.5'>
279 
                                        <!-- ROUTE information for Helo-3 node:  [from Helo-3PATH.value_changed to set_translation ] -->
                                        <Transform DEF='Helo-3'>
280                                               <Inline USE='Helo'/>
281 
                                             <!-- ROUTE information for Helo-3PATH node:  [from value_changed to Helo-3.set_translation ] -->
                                             <PositionInterpolator DEF='Helo-3PATHkey='0.00 0.07 0.13 0.22 0.36 0.47 0.55 0.625 0.66 0.72 0.80 0.85 0.99keyValue='0.0 0.0 0.0 1.0 0.96 1.0 1.5 0.21 2.25 2.0 0.46 2.66 3.0 -0.25 3.0 2.5 0.96 3.0 1.75 0.41 3.0 1.0 0.96 3.0 3.0 0.0 3.0 2.0 0.46 2.0 1.0 0.4 1.5 0.0 0.46 1.0 0.0 0.0 0.0'/>
282                                               < ROUTE  fromNode='Helo-3PATH' fromField='value_changed' toNode='Helo-3' toField='set_translation'/>
283                                          </Transform>
284                                     </Transform>
285                                </Group>
286                           </Group>
287                      </Transform>
288                      < ROUTE  fromNode='Helo_1_WaypointInterpolator' fromField='position_changed' toNode='Helo-Location' toField='set_translation'/>
289                      < ROUTE  fromNode='Helo_1_WaypointInterpolator' fromField='orientation_changed' toNode='Helo-Location' toField='set_rotation'/>
290                 </Group>
291            </Switch>
292       </Scene>
293  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: AAAV, AAAV_1_WaypointInterpolator, AAAV1_Clock, AAAV-2, AAAV-3, AAAV-Location, AAV-2PATH, AAV-3PATH, Helo, Helo_1_WaypointInterpolator, Helo_Clock, Helo-2, Helo-2PATH, Helo-3, Helo-3PATH, Helo-Location, LPD, OtherAAAVs, OtherHelos, Ship_Clock, Ship_WaypointInterpolator, Ship-Location, Sub_Clock, Sub_WaypointInterpolator, Sub-Location, VerticalCorrection

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6, Viewpoint_7, Viewpoint_8, Viewpoint_9, Viewpoint_10

Index for ExternProtoDeclare definition: WaypointInterpolator
-->
X3D Tooltips element index: Appearance, Background, Coordinate, ExternProtoDeclare, field, fieldValue, Group, head, IndexedLineSet, Inline, Material, meta, NavigationInfo, PositionInterpolator, ProtoInstance, ROUTE, Scene, Shape, Switch, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

     
The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE AAAV_1_WaypointInterpolator.totalDuration TO AAAV1_Clock.cycleInterval
AAAV_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(1)
AAAV1_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
AAAV1_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
AAAV_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(3)
AAAV-Location
Transform
set_rotation
SFRotation
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(3)
AAAV-Location
Transform
set_translation
SFVec3f
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(3)
AAAV1_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
AAAV1_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
AAAV_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(5)
AAAV-Location
Transform
set_rotation
SFRotation
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(5)
AAAV-Location
Transform
set_translation
SFVec3f
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(5)
AAAV1_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
AAAV1_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(6)
AAAV_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(7)
AAAV-Location
Transform
set_rotation
SFRotation
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(7)
AAAV-Location
Transform
set_translation
SFVec3f
  then
 
 
 
AAAV_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(7)
AAAV1_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
AAAV1_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(8)
AAAV_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
AAAV_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(1)
AAAV-Location
Transform
set_translation
SFVec3f
AAAV_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(1)
AAAV-Location
Transform
set_rotation
SFRotation

     
The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE Helo_1_WaypointInterpolator.totalDuration TO Helo_Clock.cycleInterval
Helo_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(1)
Helo_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Helo_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
Helo_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(3)
Helo-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(3)
Helo-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(3)
Helo_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Helo_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
Helo_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(5)
Helo-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(5)
Helo-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(5)
Helo_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Helo_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(6)
Helo_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(7)
Helo-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(7)
Helo-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Helo_1_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(7)
Helo_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Helo_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(8)
Helo_1_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
Helo_1_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(1)
Helo-Location
Transform
set_translation
SFVec3f
Helo_1_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(1)
Helo-Location
Transform
set_rotation
SFRotation

     
The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE Ship_WaypointInterpolator.totalDuration TO Ship_Clock.cycleInterval
Ship_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(1)
Ship_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Ship_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
Ship_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(3)
Ship-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(3)
Ship-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(3)
Ship_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Ship_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
Ship_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(5)
Ship-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(5)
Ship-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(5)
Ship_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Ship_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(6)
Ship_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(7)
Ship-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(7)
Ship-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Ship_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(7)
Ship_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Ship_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(8)
Ship_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
Ship_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(1)
Ship-Location
Transform
set_translation
SFVec3f
Ship_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(1)
Ship-Location
Transform
set_rotation
SFRotation

     
The following ROUTE chain begins an event-routing loop! Loop occurs at nodeDepth=3.
 
ROUTE Sub_WaypointInterpolator.totalDuration TO Sub_Clock.cycleInterval
Sub_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(1)
Sub_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Sub_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(2)
Sub_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(3)
Sub-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(3)
Sub-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(3)
Sub_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Sub_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(4)
Sub_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(5)
Sub-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(5)
Sub-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(5)
Sub_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Sub_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(6)
Sub_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(7)
Sub-Location
Transform
set_rotation
SFRotation
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(7)
Sub-Location
Transform
set_translation
SFVec3f
  then
 
 
 
Sub_WaypointInterpolator
ProtoInstance
totalDuration
SFTime

ROUTE
event to
(7)
Sub_Clock
TimeSensor
cycleInterval
SFTime
then
 
 
 
Sub_Clock
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(8)
Sub_WaypointInterpolator
ProtoInstance
fraction
UnknownFieldType
Sub_WaypointInterpolator
ProtoInstance
position_changed
SFVec3f

ROUTE
event to
(1)
Sub-Location
Transform
set_translation
SFVec3f
Sub_WaypointInterpolator
ProtoInstance
orientation_changed
SFRotation

ROUTE
event to
(1)
Sub-Location
Transform
set_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/Scenarios/AmphibiousRaidCampPendleton/CampPendletonRaidWithRezIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Scenarios/AmphibiousRaidCampPendleton/CampPendletonRaidWithRez.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. -->