#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" "CanopyPrototype.x3d" META "description" "This prototype performs canopy opening and closing." META "creator" "Etsuko Lippi" META "created" "18 October 2001" META "modified" "28 November 2019" META "reference" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/BlueAngelCanopy.jpg" META "reference" "http://www.military.com/Content/MoreContent1?file=aboutba" META "identifier" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyPrototype.x3d" META "generator" "X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit" META "subject" "canopy opening and closing, Prototype" META "license" "../../license.html" # [Scene] ========== ========== ========== WorldInfo { title "CanopyPrototype.x3d" } PROTO Canopy [ inputOnly SFBool canopyOpen # [appinfo] boolean eventIn: true = canopy open false = canopy close. inputOnly SFTime animationStartTime outputOnly SFBool canopyOut initializeOnly SFBool traceEnabled FALSE ] { Transform { scale 1.4 1 1 children [ Viewpoint { description "Canopy (click back to open, click front to close)" orientation 0 1 0 -1.57 position 0 0 -4 } DEF CockpitFront Transform { translation 3 0 0 children [ Shape { appearance DEF CanopyColor Appearance { material Material { diffuseColor 0.3 0.4 0.8 transparency 0.85 } } geometry IndexedFaceSet { coordIndex [ 9 300 10 -1 10 300 301 -1 301 306 10 -1 2 308 309 -1 ] creaseAngle 1.8 solid FALSE coord Coordinate { point [ -0.35 -0.32 -6.71 -0.44 -0.17 -5.91 0 0.25 -5.9 0 0 -6.7 -0.35 -0.5 -6.7 -0.45 -0.5 -5.9 -0.44 -0.17 -5.91 -0.35 -0.32 -6.71 -0.44 0.11 -5.01 -0.32 0.23 -5 0 0.25 -5.9 -0.45 -0.5 -5 -0.45 -0.5 -4.55 -0.44 0.25 -4.56 -0.45 -0.5 -3.93 -0.44 0.31 -4.05 -0.34 0.36 -4.55 -0.26 0.57 -3.55 0.6 0.54 0.65 0.62 0.53 1.09 0.7 0.5 2.05 4.62 0.05 2.42 4.62 0.08 1.58 3.79 0.18 0.71 0.69 0.59 -0.95 0.64 0.57 -0.27 0.64 0.57 0 2.78 0.32 0 1.45 0.49 -0.92 0.19 0.79 4.91 0 0.85 6.5 0.11 0.79 6.5 -0.33 -0.54 -6.7 -0.34 -0.68 -5.9 0 -0.7 -6.7 0 -0.85 -5.9 -0.3 -0.8 -5 0 -0.95 -5 -0.3 -0.8 -4.55 0 -0.95 -4.55 -0.3 -0.8 -3.9 0 -0.95 -3.55 -0.3 -0.8 -3.55 0 -0.43 -7.22 0 -0.43 -7.22 0 -0.7 -6.7 -0.33 -0.54 -6.7 -0.69 0.28 -4.03 -0.83 0.5 -3.58 -0.89 -0.64 -3.91 -0.93 -0.63 -3.54 -1.1 0 -3.55 -1 -0.25 -3.95 0.75 0.6 -1.6 -0.65 -0.7 -2.6 0 -0.95 -1.8 -1.13 -0.35 -2.63 -1.13 0.25 -2.62 -1.13 -0.35 -2.63 -1.15 -0.35 -1.6 -1.15 0.25 -1.6 -1.13 0.25 -2.62 -0.96 0.25 -3.57 -0.8 0.6 -2.6 -0.8 0.25 -1.6 -0.8 0.6 -2.6 -0.85 0.25 -0.95 -0.85 -0.35 -0.95 -0.9 -0.35 0.65 -0.9 0.25 0.65 -0.87 0.25 0 0.03 0.45 7.14 0.22 0.57 7.14 0.22 0.68 7.14 0.03 0.8 7.14 -0.65 -0.35 0.65 -0.65 -0.35 1.1 -0.46 -0.85 -1.8 -0.5 -0.85 -1.6 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 0 -0.95 -1.6 -0.55 -0.84 -0.95 -0.85 -0.35 -0.95 0 -0.95 -0.95 -0.33 -0.88 0.65 -0.65 -0.35 0.65 0 -0.95 0.65 -0.33 -0.88 1.1 -0.65 -0.35 1.1 0 -0.95 1.1 -0.69 0.68 -2.61 -0.41 0.84 -1.6 0 0.95 -1.6 0 0.85 -2.65 -0.75 0.6 -1.6 -0.41 0.84 -1.6 -0.69 0.68 -2.61 -0.36 0.86 -0.95 0 0.95 -0.95 -0.75 0.6 -1.6 -0.67 0.64 -0.95 -0.34 0.85 0 0 0.92 0 -0.55 0.7 0 -0.31 0.78 2.05 0 0.85 2.05 0 0.85 -3.55 -0.26 0.74 -3.55 0 0.85 -2.65 0 0.4 6.87 0.25 0.55 6.87 -0.26 0.74 -3.55 -0.69 0.59 -0.95 -0.67 0.64 -0.95 -0.64 0.57 -0.27 -0.55 0.7 0 -0.65 0.35 3.45 -0.55 0.35 4 -0.4 0.74 4.01 -0.49 0.72 3.51 -0.2 0.8 4 -0.2 0.8 4.55 -0.19 0.79 4.91 0 0.85 4.9 0 0.85 4 -0.35 0.35 4.9 -0.19 0.79 4.91 -0.53 -0.23 3.52 -0.45 -0.18 4.02 0 -0.6 3.55 0 -0.5 4 -0.45 -0.18 4.02 -0.53 -0.23 3.52 -0.26 -0.16 4.92 0 -0.35 4.9 -0.26 -0.16 4.92 0 0.4 6.5 -0.35 0.35 4.9 0 0 6.4 -0.25 0.7 6.5 -0.25 0.55 6.5 0 0.4 6.5 -0.11 0.79 6.5 -0.65 0.25 1.1 -0.65 0.25 0.65 -0.66 0.54 0.48 -0.6 0.54 0.65 -0.59 0.64 0.65 0 -0.6 3.55 -0.65 0.25 1.1 0 0.85 3.55 -0.49 0.72 3.51 0 0.85 3.55 -0.31 0.78 2.05 -0.7 0.5 2.05 -0.7 0.5 2.05 -0.62 0.6 1.09 -0.62 0.53 1.09 0 0.85 6.5 -0.25 0.7 6.87 0 0.85 6.87 -0.25 0.55 6.87 -0.22 0.68 7.14 -0.03 0.8 7.14 -0.22 0.57 7.14 -0.03 0.45 7.14 -1.45 0.49 -0.92 -0.11 0.79 6.5 -0.64 0.57 0 -2.78 0.32 0 -4.62 0.05 2.42 -4.62 0.08 1.58 -3.79 0.18 0.71 0 0 -6.7 0.44 -0.17 -5.91 0.35 -0.32 -6.71 0.45 -0.5 -5.9 0.35 -0.5 -6.7 0.32 0.23 -5 0.44 0.11 -5.01 0.45 -0.5 -5 0.44 0.25 -4.56 0.45 -0.5 -4.55 0.44 0.31 -4.05 0.45 -0.5 -3.93 0.34 0.36 -4.55 0.26 0.57 -3.55 0.22 0.68 7.14 0.22 0.57 7.14 0.25 0.55 6.87 0.25 0.7 6.87 0.25 0.7 6.87 0 0.4 6.87 0.25 0.55 6.5 0.25 0.55 6.5 0.25 0.7 6.5 0.11 0.79 6.5 0.65 0.35 3.45 0.65 0.25 1.1 0.7 0.5 2.05 0.34 -0.68 -5.9 0.33 -0.54 -6.7 0.3 -0.8 -5 0.3 -0.8 -4.55 0.3 -0.8 -3.9 0.3 -0.8 -3.55 0.35 -0.32 -6.71 0.35 -0.5 -6.7 0.33 -0.54 -6.7 0.83 0.5 -3.58 0.69 0.28 -4.03 1 -0.25 -3.95 1.1 0 -3.55 0.93 -0.63 -3.54 0.89 -0.64 -3.91 0.65 0.25 1.1 0.62 0.6 1.09 0.65 -0.7 -2.6 1.13 -0.35 -2.63 1.15 0.25 -1.6 1.15 -0.35 -1.6 1.13 -0.35 -2.63 1.13 0.25 -2.62 1.13 0.25 -2.62 0.96 0.25 -3.57 0.8 0.25 -1.6 0.8 0.6 -2.6 0.8 0.6 -2.6 0.49 0.72 3.51 0.85 0.25 -0.95 0.87 0.25 0 0.9 0.25 0.65 0.9 -0.35 0.65 0.85 -0.35 -0.95 0.31 0.78 2.05 0.9 -0.35 0.65 0.65 -0.35 1.1 0.65 -0.35 0.65 0.85 -0.35 -0.95 0.75 -0.35 -1.8 0.8 -0.35 -1.6 0.5 -0.85 -1.6 0.46 -0.85 -1.8 0.55 -0.84 -0.95 0.33 -0.88 0.65 0.33 -0.88 1.1 0.41 0.84 -1.6 0.69 0.68 -2.61 0.69 0.68 -2.61 0.41 0.84 -1.6 0.36 0.86 -0.95 0.67 0.64 -0.95 0.75 0.6 -1.6 0.34 0.85 0 0.55 0.7 0 0.26 0.74 -3.55 0.26 0.74 -3.55 0.67 0.64 -0.95 0.55 0.7 0 0.59 0.64 0.65 0.66 0.54 0.48 0.4 0.74 4.01 0.55 0.35 4 0.2 0.8 4.55 0.2 0.8 4 0.19 0.79 4.91 0.35 0.35 4.9 0.45 -0.18 4.02 0.53 -0.23 3.52 0 -0.5 4 0.55 0.35 4 0.35 0.35 4.9 0.26 -0.16 4.92 0.45 -0.18 4.02 0.65 0.25 0.65 0.33 -0.88 1.1 0.65 -0.35 1.1 0 -0.6 5.95 0 -0.45 6.2 0.2 0.8 4 0.34 0.85 0 0.31 0.78 2.05 0.8 -0.35 -1.6 0.75 -0.35 -1.8 2.2 0.15 6.7 2.2 0.15 6.35 0.2 0.8 4.55 0 1.7 4.9 0 2.4 5.65 0 2.75 6.15 0 2.85 6.7 0 0.95 4 0 0.95 3.55 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 -0.34 0.85 0 -0.4 0.74 4.01 -2.2 0.15 6.7 -2.2 0.15 6.35 -0.33 0.52 -5 0 0.85 -4.85 -0.34 0.68 -4.55 0 0.91 -3.44 0 0.98 -4.4 0.34 0.68 -4.55 0.33 0.52 -5 0 0.91 -3.44 0.33 0.52 -5 0.32 0.23 -5 0 0.25 5.9 ] } } } ] } Group { children [ DEF CanopyTransform Transform { center 0 0 -3.5 children [ Transform { translation 3 0 0 children [ Shape { appearance USE CanopyColor geometry IndexedFaceSet { coordIndex [ 16 17 112 302 -1 301 304 305 306 -1 306 305 186 179 -1 304 307 257 305 -1 305 257 187 186 -1 302 112 307 304 -1 9 16 302 300 -1 300 302 304 301 -1 17 112 310 -1 112 307 310 -1 307 257 310 -1 257 187 310 -1 ] creaseAngle 1.8 solid FALSE coord Coordinate { point [ -0.35 -0.32 -6.71 -0.44 -0.17 -5.91 0 0.25 -5.9 0 0 -6.7 -0.35 -0.5 -6.7 -0.45 -0.5 -5.9 -0.44 -0.17 -5.91 -0.35 -0.32 -6.71 -0.44 0.11 -5.01 -0.32 0.23 -5 0 0.25 -5.9 -0.45 -0.5 -5 -0.45 -0.5 -4.55 -0.44 0.25 -4.56 -0.45 -0.5 -3.93 -0.44 0.31 -4.05 -0.34 0.36 -4.55 -0.26 0.57 -3.55 0.6 0.54 0.65 0.62 0.53 1.09 0.7 0.5 2.05 4.62 0.05 2.42 4.62 0.08 1.58 3.79 0.18 0.71 0.69 0.59 -0.95 0.64 0.57 -0.27 0.64 0.57 0 2.78 0.32 0 1.45 0.49 -0.92 0.19 0.79 4.91 0 0.85 6.5 0.11 0.79 6.5 -0.33 -0.54 -6.7 -0.34 -0.68 -5.9 0 -0.7 -6.7 0 -0.85 -5.9 -0.3 -0.8 -5 0 -0.95 -5 -0.3 -0.8 -4.55 0 -0.95 -4.55 -0.3 -0.8 -3.9 0 -0.95 -3.55 -0.3 -0.8 -3.55 0 -0.43 -7.22 0 -0.43 -7.22 0 -0.7 -6.7 -0.33 -0.54 -6.7 -0.69 0.28 -4.03 -0.83 0.5 -3.58 -0.89 -0.64 -3.91 -0.93 -0.63 -3.54 -1.1 0 -3.55 -1 -0.25 -3.95 0.75 0.6 -1.6 -0.65 -0.7 -2.6 0 -0.95 -1.8 -1.13 -0.35 -2.63 -1.13 0.25 -2.62 -1.13 -0.35 -2.63 -1.15 -0.35 -1.6 -1.15 0.25 -1.6 -1.13 0.25 -2.62 -0.96 0.25 -3.57 -0.8 0.6 -2.6 -0.8 0.25 -1.6 -0.8 0.6 -2.6 -0.85 0.25 -0.95 -0.85 -0.35 -0.95 -0.9 -0.35 0.65 -0.9 0.25 0.65 -0.87 0.25 0 0.03 0.45 7.14 0.22 0.57 7.14 0.22 0.68 7.14 0.03 0.8 7.14 -0.65 -0.35 0.65 -0.65 -0.35 1.1 -0.46 -0.85 -1.8 -0.5 -0.85 -1.6 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 0 -0.95 -1.6 -0.55 -0.84 -0.95 -0.85 -0.35 -0.95 0 -0.95 -0.95 -0.33 -0.88 0.65 -0.65 -0.35 0.65 0 -0.95 0.65 -0.33 -0.88 1.1 -0.65 -0.35 1.1 0 -0.95 1.1 -0.69 0.68 -2.61 -0.41 0.84 -1.6 0 0.95 -1.6 0 0.85 -2.65 -0.75 0.6 -1.6 -0.41 0.84 -1.6 -0.69 0.68 -2.61 -0.36 0.86 -0.95 0 0.95 -0.95 -0.75 0.6 -1.6 -0.67 0.64 -0.95 -0.34 0.85 0 0 0.92 0 -0.55 0.7 0 -0.31 0.78 2.05 0 0.85 2.05 0 0.85 -3.55 -0.26 0.74 -3.55 0 0.85 -2.65 0 0.4 6.87 0.25 0.55 6.87 -0.26 0.74 -3.55 -0.69 0.59 -0.95 -0.67 0.64 -0.95 -0.64 0.57 -0.27 -0.55 0.7 0 -0.65 0.35 3.45 -0.55 0.35 4 -0.4 0.74 4.01 -0.49 0.72 3.51 -0.2 0.8 4 -0.2 0.8 4.55 -0.19 0.79 4.91 0 0.85 4.9 0 0.85 4 -0.35 0.35 4.9 -0.19 0.79 4.91 -0.53 -0.23 3.52 -0.45 -0.18 4.02 0 -0.6 3.55 0 -0.5 4 -0.45 -0.18 4.02 -0.53 -0.23 3.52 -0.26 -0.16 4.92 0 -0.35 4.9 -0.26 -0.16 4.92 0 0.4 6.5 -0.35 0.35 4.9 0 0 6.4 -0.25 0.7 6.5 -0.25 0.55 6.5 0 0.4 6.5 -0.11 0.79 6.5 -0.65 0.25 1.1 -0.65 0.25 0.65 -0.66 0.54 0.48 -0.6 0.54 0.65 -0.59 0.64 0.65 0 -0.6 3.55 -0.65 0.25 1.1 0 0.85 3.55 -0.49 0.72 3.51 0 0.85 3.55 -0.31 0.78 2.05 -0.7 0.5 2.05 -0.7 0.5 2.05 -0.62 0.6 1.09 -0.62 0.53 1.09 0 0.85 6.5 -0.25 0.7 6.87 0 0.85 6.87 -0.25 0.55 6.87 -0.22 0.68 7.14 -0.03 0.8 7.14 -0.22 0.57 7.14 -0.03 0.45 7.14 -1.45 0.49 -0.92 -0.11 0.79 6.5 -0.64 0.57 0 -2.78 0.32 0 -4.62 0.05 2.42 -4.62 0.08 1.58 -3.79 0.18 0.71 0 0 -6.7 0.44 -0.17 -5.91 0.35 -0.32 -6.71 0.45 -0.5 -5.9 0.35 -0.5 -6.7 0.32 0.23 -5 0.44 0.11 -5.01 0.45 -0.5 -5 0.44 0.25 -4.56 0.45 -0.5 -4.55 0.44 0.31 -4.05 0.45 -0.5 -3.93 0.34 0.36 -4.55 0.26 0.57 -3.55 0.22 0.68 7.14 0.22 0.57 7.14 0.25 0.55 6.87 0.25 0.7 6.87 0.25 0.7 6.87 0 0.4 6.87 0.25 0.55 6.5 0.25 0.55 6.5 0.25 0.7 6.5 0.11 0.79 6.5 0.65 0.35 3.45 0.65 0.25 1.1 0.7 0.5 2.05 0.34 -0.68 -5.9 0.33 -0.54 -6.7 0.3 -0.8 -5 0.3 -0.8 -4.55 0.3 -0.8 -3.9 0.3 -0.8 -3.55 0.35 -0.32 -6.71 0.35 -0.5 -6.7 0.33 -0.54 -6.7 0.83 0.5 -3.58 0.69 0.28 -4.03 1 -0.25 -3.95 1.1 0 -3.55 0.93 -0.63 -3.54 0.89 -0.64 -3.91 0.65 0.25 1.1 0.62 0.6 1.09 0.65 -0.7 -2.6 1.13 -0.35 -2.63 1.15 0.25 -1.6 1.15 -0.35 -1.6 1.13 -0.35 -2.63 1.13 0.25 -2.62 1.13 0.25 -2.62 0.96 0.25 -3.57 0.8 0.25 -1.6 0.8 0.6 -2.6 0.8 0.6 -2.6 0.49 0.72 3.51 0.85 0.25 -0.95 0.87 0.25 0 0.9 0.25 0.65 0.9 -0.35 0.65 0.85 -0.35 -0.95 0.31 0.78 2.05 0.9 -0.35 0.65 0.65 -0.35 1.1 0.65 -0.35 0.65 0.85 -0.35 -0.95 0.75 -0.35 -1.8 0.8 -0.35 -1.6 0.5 -0.85 -1.6 0.46 -0.85 -1.8 0.55 -0.84 -0.95 0.33 -0.88 0.65 0.33 -0.88 1.1 0.41 0.84 -1.6 0.69 0.68 -2.61 0.69 0.68 -2.61 0.41 0.84 -1.6 0.36 0.86 -0.95 0.67 0.64 -0.95 0.75 0.6 -1.6 0.34 0.85 0 0.55 0.7 0 0.26 0.74 -3.55 0.26 0.74 -3.55 0.67 0.64 -0.95 0.55 0.7 0 0.59 0.64 0.65 0.66 0.54 0.48 0.4 0.74 4.01 0.55 0.35 4 0.2 0.8 4.55 0.2 0.8 4 0.19 0.79 4.91 0.35 0.35 4.9 0.45 -0.18 4.02 0.53 -0.23 3.52 0 -0.5 4 0.55 0.35 4 0.35 0.35 4.9 0.26 -0.16 4.92 0.45 -0.18 4.02 0.65 0.25 0.65 0.33 -0.88 1.1 0.65 -0.35 1.1 0 -0.6 5.95 0 -0.45 6.2 0.2 0.8 4 0.34 0.85 0 0.31 0.78 2.05 0.8 -0.35 -1.6 0.75 -0.35 -1.8 2.2 0.15 6.7 2.2 0.15 6.35 0.2 0.8 4.55 0 1.7 4.9 0 2.4 5.65 0 2.75 6.15 0 2.85 6.7 0 0.95 4 0 0.95 3.55 -0.8 -0.35 -1.6 -0.75 -0.35 -1.8 -0.34 0.85 0 -0.4 0.74 4.01 -2.2 0.15 6.7 -2.2 0.15 6.35 -0.33 0.52 -5 0 0.85 -4.85 -0.34 0.68 -4.55 0 0.91 -3.44 0 0.98 -4.4 0.34 0.68 -4.55 0.33 0.52 -5 0 0.91 -3.44 0.33 0.52 -5 0.32 0.23 -5 0 0.57 -2.5 ] } } } ] } ] } DEF CanopyScript Script { inputOnly SFBool canopyOpen IS canopyOpen # [appinfo] eventIn: boolean true: canopy open false: canopy close outputOnly SFBool canopyOut IS canopyOut outputOnly MFRotation keyValue initializeOnly SFRotation kV1 0 1 0 0 initializeOnly SFRotation kV2 0 1 0 0 initializeOnly SFRotation kV3 0 1 0 0 inputOnly SFFloat set_fraction inputOnly SFTime animationStartTime IS animationStartTime outputOnly SFTime clockStartTime initializeOnly SFBool traceEnabled IS traceEnabled url [ "ecmascript: // ### X3D Browser.print() not supported by all VRML97 viewers, instead simply using print() function canopyOpen(value, timeStamp) { if (value == true) //Canopy Open { tracePrint ('[Canopy Open] ' ); tracePrint ('value = ' + value); canapyOut = true; kV1 = new SFRotation (new SFVec3f (1, 0, 0), 0.0); kV2 = new SFRotation (new SFVec3f (1, 0, 0), 0.52); kV3 = new SFRotation(new SFVec3f (1, 0, 0), 0.79); keyValue = new MFRotation(kV1, kV2, kV3); //tracePrint ('[keyValue = ]' + keyValue); } else //Canopy Close { tracePrint ('[Canopy Close] ' ); tracePrint ('value = ' + value); canopyOut = true; keyValue = new MFRotation(kV3, kV2, kV1); //tracePrint ('[keyValue = ]' + keyValue); } } function set_fraction (value, timeStamp) { //tracePrint('time fraction = ' + value); } function animationStartTime(value, timeStamp) { tracePrint('The Start Time is: ' + value); clockStartTime = value; } function tracePrint (outputString) { if (traceEnabled) Browser.println ('[CanopyPrototype] ' + outputString); } " ] } DEF CanopyInterpolator OrientationInterpolator { key [ 0 0.5 1.0 ] keyValue [ 1 0 0 0.0 1 0 0 0.52 1 0 0 0.79 ] } DEF Clock TimeSensor { cycleInterval 4 } ] ROUTE CanopyScript.clockStartTime TO Clock.set_startTime ROUTE CanopyScript.canopyOut TO Clock.set_enabled ROUTE CanopyScript.keyValue TO CanopyInterpolator.set_keyValue ROUTE Clock.fraction_changed TO CanopyInterpolator.set_fraction ROUTE Clock.fraction_changed TO CanopyScript.set_fraction ROUTE CanopyInterpolator.value_changed TO CanopyTransform.set_rotation } ] } } Background { skyColor [ 0.6 0.6 0.6 ] } Anchor { description "Canopy Example" parameter [ "target=_blank" ] url [ "CanopyExample.wrl" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.wrl" "CanopyExample.x3d" "../../AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18BlueAngelUnitedStates/CanopyExample.x3d" ] children [ Shape { geometry Text { string [ "CanopyPrototype" "is a prototype definition file" "" "To see an example scene" "click on this text and view" "CanopyExample" ] fontStyle FontStyle { justify [ "MIDDLE" "MIDDLE" ] } } appearance Appearance { } } ] }