#X3D V3.0 utf8 PROFILE Immersive # [X3D] version=3.0 # [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.0.xsd # X3D-to-ClassicVRML XSL translation autogenerated by X3dToClassicVrmlEncoding.xslt and X3dToVrml97.xslt # https://www.web3d.org/x3d/content/X3dToClassicVrmlEncoding.xslt # https://www.web3d.org/x3d/content/X3dToVrml97.xslt # Transformation using XSLT processor: Saxonica # head META "title" "BlueAngelF18Example.x3d" META "description" "The BlueAngelF18 example model integrated with ExternPrototypes - clicking any axle starts animation, such as, raising or lowering landing gears simultaneously. Clicking cockpit canopy makes it open or close." META "creator" "Etsuko Lippi" META "created" "18 October 2001" META "modified" "28 January 2024" META "Image" "blueangels.jpg" META "Image" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/blueangels.jpg" META "reference" "http://www.navy.com/blueangels" META "reference" "http://www.BlueAngels.navy.mil" META "reference" "https://www.fas.org/man/dod-101/sys/ac/f-18.htm" META "reference" "http://www.BlueAngels.org" META "reference" "http://www.chinfo.navy.mil/navpalib/aircraft/b-angels/blues.html" META "reference" "http://www.danshistory.com/fa18.html" META "reference" "http://www.csd.uwo.ca/~pettypi/elevon/baugher_us/f018.html" META "reference" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Blue_Angels.jpg" META "reference" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Blue_Angels_bottom.jpg" META "generator" "X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit" META "identifier" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelF18Example.x3d" META "subject" "Aircraft, F18, Blue Angel example" META "license" "../../license.html" # [Scene] ========== ========== ========== EXTERNPROTO ViewPositionOrientation [ # [appinfo] ViewPositionOrientation provides provides console output of local position and orientation as user navigates inputOutput SFBool enabled # [appinfo] Whether or not ViewPositionOrientation sends output to console. initializeOnly SFBool traceEnabled # [appinfo] Output internal trace messages for debugging this node - developer use only can be ignored. inputOnly SFBool set_traceEnabled # [appinfo] Ability to turn output tracing on/off at runtime. outputOnly SFVec3f position_changed # [appinfo] Output local position. outputOnly SFRotation orientation_changed # [appinfo] Output local orientation. outputOnly MFString outputViewpointString # [appinfo] MFString value of new Viewpoint ][ "../../Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "../../Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" ] EXTERNPROTO WheelsRearRight [ inputOnly SFBool gearup # [appinfo] boolean eventIn: true = wheels up false = wheels down. outputOnly SFBool gearupOut inputOnly SFTime animationStartTime initializeOnly SFBool traceEnabled ][ "WheelsRearRightPrototype.x3d#WheelsRearRight" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightPrototype.x3d#WheelsRearRight" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightPrototype.x3d#WheelsRearRight" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightPrototype.wrl#WheelsRearRight" "WheelsRearRightPrototype.wrl#WheelsRearRight" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightPrototype.wrl#WheelsRearRight" ] EXTERNPROTO WheelsRearLeft [ inputOnly SFBool gearup # [appinfo] boolean eventIn: true = wheels up false = wheels down. outputOnly SFBool gearupOut inputOnly SFTime animationStartTime initializeOnly SFBool traceEnabled ][ "WheelsRearLeftPrototype.x3d#WheelsRearLeft" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftPrototype.x3d#WheelsRearLeft" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftPrototype.x3d#WheelsRearLeft" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftPrototype.wrl#WheelsRearLeft" "WheelsRearLeftPrototype.wrl#WheelsRearLeft" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftPrototype.wrl#WheelsRearLeft" ] EXTERNPROTO WheelsFront [ inputOnly SFBool gearup # [appinfo] boolean eventIn: true = wheels up false = wheels down. outputOnly SFBool gearupOut inputOnly SFTime animationStartTime initializeOnly SFBool traceEnabled ][ "WheelsFrontPrototype.x3d#WheelsFront" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontPrototype.x3d#WheelsFront" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontPrototype.x3d#WheelsFront" "../../AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontPrototype.wrl#WheelsFront" "WheelsFrontPrototype.wrl#WheelsFront" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontPrototype.wrl#WheelsFront" ] EXTERNPROTO Canopy [ inputOnly SFBool canopyOpen # [appinfo] boolean eventIn: true = canopy open false = canopy close. outputOnly SFBool canopyOut inputOnly SFTime animationStartTime initializeOnly SFBool traceEnabled ][ "CanopyPrototype.x3d#Canopy" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.x3d#Canopy" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.x3d#Canopy" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.wrl#Canopy" "CanopyPrototype.wrl#Canopy" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.wrl#Canopy" ] NavigationInfo { speed 2 } Background { groundAngle [ 1.309 1.5702 ] groundColor [ 0.5 0.3 0.3 0.5 0.3 0.3 0.5 0.4 0.4 ] skyAngle [ 1.309 1.572 ] skyColor [ 0 0.2 0.7 0 0.5 1 1 1 1 ] } DEF ConsoleOutputViewPositionOrientation ViewPositionOrientation { enabled TRUE } Viewpoint { description "Blue Angel Default View" position 1.9 -.8 7.6 } Viewpoint { description "Blue Angel View From Above" orientation -.952 -.264 -.152 1.4741 position .3 12.4 -4.8 } Viewpoint { description "Blue Angel View From Bottom" orientation .513 -.797 .319 1.3342 position -7.1 -8.8 -2 } Viewpoint { description "Blue Angel Front View" orientation 0.048 .998 0.049 4.6832 position -7.2 .2 -5 } Viewpoint { description "Blue Angel Back View" orientation -.152 .981 .116 1.3177 position 13.4 2.1 -2.1 } Viewpoint { description "Blue Angel Side View" orientation -.733 .678 0.065 .3177 position 3.7 1.6 4.3 } Viewpoint { description "Cockpit Inside Pilot View" orientation 0 1 0 1.5636 position -.8 .6 -5 } LOD { range [ 200 600 1000 ] children [ ### children2 DEF Viewpoints Group { children [ # High Resolution DEF High Group { children [ DEF LODHigh Group { children [ Transform { rotation 0 1 0 1.57 translation 3.595 0.1 -0.8 children [ DEF CP Canopy { traceEnabled TRUE } DEF CanopyTouchSensor TouchSensor { description "canopy open/close" } ] } Transform { rotation 0 1 -0 3.14 translation 5.7 -0.2 -5 children [ Inline { url [ "HorizontalTailplanes.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/HorizontalTailplanes.x3d" "HorizontalTailplanes.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/HorizontalTailplanes.wrl" ] } ] } Transform { rotation -0.69 0.70 0.19 2.78 scale 1.5 1.5 1.5 translation 5.3 -0.46 -4.3 children [ DEF TwinVerticalTails Inline { url [ "TwinVerticalTails.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/TwinVerticalTails.x3d" "TwinVerticalTails.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/TwinVerticalTails.wrl" ] } # X = -170, Y = 0, Z = 91 ] } Transform { rotation -0.69 0.70 -0.19 3.51 scale 1.5 1.5 1.5 translation 5.3 -0.46 -5.7 children [ USE TwinVerticalTails # X = -210, Y = 0, Z = 91 ] } Transform { children [ Inline { url [ "AircraftFuselage.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/AircraftFuselage.x3d" "AircraftFuselage.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/AircraftFuselage.wrl" ] } ] } Transform { rotation 0 0 -1 0.07 translation -3.0 0.39 -5 children [ Inline { url [ "LEX.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/LEX.x3d" "LEX.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/LEX.wrl" ] } ] } Transform { rotation 0 0 1 3.14 scale 0.7 0.7 0.5 translation -1 -0.1 -2.5 children [ Inline { url [ "Fuselage.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Fuselage.x3d" "Fuselage.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/Fuselage.wrl" ] } ] } ] } DEF LODHigh2 Group { children [ Transform { scale 0.25 0.25 0.25 translation -1.0 0.1 -5 children [ Inline { url [ "F18CockpitSeat.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/F18CockpitSeat.x3d" "F18CockpitSeat.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/F18CockpitSeat.wrl" ] } ] } Transform { scale 0.35 0.35 0.35 translation -0.5 -1.25 -5.26 children [ DEF WP WheelsFront { traceEnabled TRUE } ] } DEF GearUpDownTouchSensor TouchSensor { description "landing gear up/down" } Transform { scale 0.35 0.35 0.35 translation 3.5 -1.2 -6.5 children [ DEF WPLeft WheelsRearLeft { traceEnabled TRUE } ] } Transform { rotation 0 1 0 3.14 scale 0.35 0.35 0.35 translation 3.5 -1.215 -3.5 children [ DEF WPRight WheelsRearRight { traceEnabled TRUE } ] } Transform { rotation 0 0 -1 0.09 scale 0.85 0.85 0.85 translation 0.8 0.15 -1.15 children [ Inline { url [ "BlueAngelEngines.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelEngines.x3d" "BlueAngelEngines.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelEngines.wrl" ] } ] } DEF Animation Group { children [ DEF GearUPDown Transform { children [ DEF ExampleSelectionScript Script { initializeOnly SFInt32 landed -1 inputOnly SFBool enabled outputOnly SFBool status ### Warning: Script 'var' declarations of variables are not persistent in contained ecmascript: code, values are lost after each call. Use definitions instead. url [ "ecmascript: // ### X3D Browser.print() not supported by all VRML97 viewers, instead simply using print() function tracePrint (outputString) { var traceEnabled = false; if (traceEnabled) Browser.println ('[trace] ' + outputString); } function enabled(value, timeStamp) { tracePrint('enabled = ' + value); if (value == true) { if (landed == -1) { status = false; landed = 0; } if (landed == 0) { if (status) { status = false; } else { status = true; } } else { landed = 0; return; } } //print ('status = ' + status); } " ] } ] } DEF Canopy Transform { children [ DEF CanopyExampleSelectionScript Script { initializeOnly SFInt32 landed -1 inputOnly SFBool enabled outputOnly SFBool status ### Warning: Script 'var' declarations of variables are not persistent in contained ecmascript: code, values are lost after each call. Use definitions instead. url [ "ecmascript: // ### X3D Browser.print() not supported by all VRML97 viewers, instead simply using print() function tracePrint (outputString) { var traceEnabled = false; if (traceEnabled) Browser.println ('[trace] ' + outputString); } function enabled(value, timeStamp) { tracePrint('enabled = ' + value); if (value == true) { if (landed == -1) { status = false; landed = 0; } if (landed == 0) { if (status) { status = false; } else { status = true; } } else { landed = 0; return; } } //print ('status = ' + status); } " ] } ] } # GearUpDown Animation # Canopy Animation ] ROUTE GearUpDownTouchSensor.touchTime TO WP.animationStartTime ROUTE GearUpDownTouchSensor.touchTime TO WPRight.animationStartTime ROUTE GearUpDownTouchSensor.touchTime TO WPLeft.animationStartTime ROUTE GearUpDownTouchSensor.isActive TO ExampleSelectionScript.enabled ROUTE ExampleSelectionScript.status TO WP.gearup ROUTE ExampleSelectionScript.status TO WPRight.gearup ROUTE ExampleSelectionScript.status TO WPLeft.gearup ROUTE CanopyTouchSensor.touchTime TO CP.animationStartTime ROUTE CanopyTouchSensor.isActive TO CanopyExampleSelectionScript.enabled ROUTE CanopyExampleSelectionScript.status TO CP.canopyOpen } ] } DEF LODLow Group { children [ Transform { rotation 0 1 0 3.14 scale 1.1 1.1 1.1 translation 1.4 0 -5 children [ Inline { url [ "WingMain.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WingMain.x3d" "WingMain.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WingMain.wrl" ] } ] } ] } ] } ] } # Medium Resolution DEF Medium Group { children [ USE LODHigh DEF LODMedium Group { children [ Transform { scale 0.35 0.35 0.35 translation -0.5 -1.25 -5.26 children [ Inline { url [ "WheelsFrontMediumLOD.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontMediumLOD.x3d" "WheelsFrontMediumLOD.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsFrontMediumLOD.wrl" ] } ] } Transform { scale 0.35 0.35 0.35 translation 3.5 -1.2 -6.5 children [ Inline { url [ "WheelsRearLeftMediumLOD.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftMediumLOD.x3d" "WheelsRearLeftMediumLOD.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearLeftMediumLOD.wrl" ] } ] } Transform { rotation 0 1 0 3.14 scale 0.35 0.35 0.35 translation 3.5 -1.2 -3.5 children [ Inline { url [ "WheelsRearRightMediumLOD.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightMediumLOD.x3d" "WheelsRearRightMediumLOD.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WheelsRearRightMediumLOD.wrl" ] } ] } Transform { rotation 0 0 -1 0.09 scale 0.85 0.85 0.85 translation 0.8 0.15 -1.15 children [ Inline { url [ "BlueAngelEnginesMediumLOD.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelEnginesMediumLOD.x3d" "BlueAngelEnginesMediumLOD.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelEnginesMediumLOD.wrl" ] } ] } ] } USE LODLow ] } # Low Resolution DEF Low Group { children [ USE LODHigh USE LODMedium Transform { rotation 0 1 0 3.14 scale 1.1 1.1 1.1 translation 1.4 0 -5 children [ Inline { url [ "WingMainLowLOD.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WingMainLowLOD.x3d" "WingMainLowLOD.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/WingMainLowLOD.wrl" ] } ] } ] } WorldInfo { info [ "null node" ] } ] }