USS SanAntonio Naval Postgraduate School SAVAGE project, Vivian Meazza, Heiko Schulz early-production LPD17.ac var self = cmdarg(); print("Model load San Antonio ", self.getPath()); var pathc = self.getPath(); # register the dialog setprop(pathc~"/dlg-name", "SanAntonio"); setprop("/controls/sanantonio/turn-to-launch-hdg", 0); setprop("/controls/sanantonio/turn-to-recovery-hdg", 0); setprop("/controls/sanantonio/turn-to-base-course", 1); var wind_node = props.globals.getNode("/environment/wind-speed-kt"); var time_node = props.globals.getNode("/sim/time/elapsed-sec"); var roll_node = props.globals.getNode("/ai/models/LPD17-boats/roll"); var pitch_node = props.globals.getNode("/ai/models/LPD17-boats/pitch"); var loopid = 1; var loop = func(id) { if (id != loopid) return; var rollcyclesec = 40.55; var pitchcyclesec = 40.08; var rolltimer = time_node.getValue()/rollcyclesec - int(time_node.getValue()/rollcyclesec); var rollwave = math.sin(2*math.pi*rolltimer); roll_node.setValue(rollwave*(wind_node.getValue()+1)); var pitchtimer = (time_node.getValue()+1)/pitchcyclesec - int((time_node.getValue()+1)/pitchcyclesec); var pitchwave = math.sin(2*math.pi*pitchtimer); pitch_node.setValue(pitchwave*(wind_node.getValue()+1)); settimer(func { loop(id); }, 0); } settimer(func { loop(loopid); }, 0); loopid += 1; rotate ShapeIndexedFaceS.005 ShapeIndexedFaceS.004 ShapeIndexedFaceS.002 ShapeIndexedFaceS ShapeIndexedFaceSet ShapeIndexedFaceS.001 ShapeIndexedFaceS.006 ShapeIndexedFaceS.007 /ai/models/LPD17-boats/roll 0.02 0 1 0 rotate ShapeIndexedFaceS.005 ShapeIndexedFaceS.004 ShapeIndexedFaceS.002 ShapeIndexedFaceS ShapeIndexedFaceSet ShapeIndexedFaceS.001 ShapeIndexedFaceS.006 ShapeIndexedFaceS.007 /ai/models/LPD17-boats/pitch 0.0025 1 0 0 textranslate rect /sim/time/elapsed-sec -0.010 1 0 0 rotate ShapeIndexedFaceS.007 surface-positions/elevators-pos-norm -90.0
94.936 0.00 3.968
0 1 0
rotate ShapeIndexedFaceS.006 surface-positions/elevators-pos-norm 90.0
93.243 0.00 -6.464
0 1 0
range 0 30000