#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 # The bow thrusters are taken from a fan and grate example from Chapter 18 of the VRML2.0 Sourcebook by Ames, Nadeau and MoreLand. # All other textures are the creation of the Author or are in the public domain. META "title" "EhimeMaru.x3d" META "description" "Model of Japanese trawler sunk by the USS Greeneville." META "creator" "Andrew Wiest" META "translator" "X3d-Edit" META "created" "9 May 2001" META "modified" "20 October 2019" META "identifier" "https://savage.nps.edu/Savage/ShipsCivilian/Trawlers/EhimeMaru.x3d" META "generator" "X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit" META "reference" "http://lib1.nippon-foundation.or.jp/1997/0834/contents/137.htm" META "photo" "EhimeMaru137-1.jpg" META "photo" "EhimeMaru137-2.gif" META "reference" "http://www.nytimes.com/images/2001/03/08/national/010308_nat_subHAWAIIch.gif" META "reference" "http://www.cpf.navy.mil/pages/legal/foia/Exhibit_52.pdf" META "reference" "http://www.cpf.navy.mil/pages/legal/foia/Exhibit_54_pages_1_7.pdf" META "reference" "http://www.cpf.navy.mil/pages/legal/foia/Exhibit_54_pages_8_14.pdf" META "reference" "http://www.uscg.mil/d14/news_release/2001/Feb2001.htm#32-01" META "reference" "http://www.cnn.com/video/us/2001/02/18/vo.sunk.ship.navy.html" META "reference" "http://www.usanavy.com/misc/news/ehime_maru.htm" META "reference" "http://www.ntsb.gov/Pressrel/2001/010302.htm" META "reference" "http://www.uscg.mil/d14/news_release/2001/Mar2001.htm#43-01" META "reference" "http://www.uscg.mil/d14/news_release/2001/Mar2001.htm#42-01" META "reference" "http://www.uscg.mil/d14/news_release/2001/Feb2001.htm#41-01" META "reference" "http://www.uscg.mil/d14/news_release/2001/Feb2001.htm#20-01" META "reference" "http://www.cpf.navy.mil" META "reference" "http://www.cpf.navy.mil/greeneville.html" META "reference" "http://www.csp.navy.mil/css1/772/home.html" META "reference" "http://www.cpf.navy.mil/greenevilleimages.html" META "reference" "http://www.chinfo.navy.mil/navpalib/factfile/ShipsCivilian/ship-ssn.html" META "reference" "http://www.pbs.org/wgbh/nova/subsecrets/inside.html" META "reference" "http://www.nytimes.com/2001/03/09/national/09HAWA.html" META "reference" "http://www.cnn.com/2001/US/03/08/japan.sub.03/index.html" META "reference" "http://www.cnn.com/SPECIALS/2001/sub.collision/session1.html" META "reference" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.27RotatingFanAnimatedTextureTransform.wrl" META "license" "../../license.html" # [Scene] ========== ========== ========== NavigationInfo { speed 10 } Background { skyAngle [ 1.57 ] skyColor [ 0.6 0.8 0.6 0.6 0.6 0.6 ] } Viewpoint { description "Ehime Maru starboard quarter" orientation -0.140128 0.988431 0.058043 0.79366 position 40 12 40 } Viewpoint { description "Ehime Maru from behind" orientation 0 1 0 -1.57 position -50 6 0 } Transform { translation 0 5 0 children [ DEF TransparentBoxForExaminationStability Shape { geometry Box { size 60 20 12 } appearance Appearance { material Material { transparency 1 } } } ] } DEF EhimeMaruTopTransform Transform { children [ DEF RollTransform Transform { children [ DEF PitchTransform Transform { children [ DEF YawTransform Transform { children [ DEF ScaleTransform Transform { scale 1.41213592233 1.41213592233 1.41213592233 children [ DEF EhimeMaruParentTransform Transform { children [ DEF LowerHull Transform { children [ Shape { geometry IndexedFaceSet { coordIndex [ 1 2 3 54 4 5 -1 1 6 2 -1 7 2 6 -1 7 8 3 2 -1 8 9 3 -1 1 5 6 -1 12 6 5 -1 5 4 11 12 -1 4 10 11 -1 6 14 15 7 -1 6 13 14 -1 6 12 20 21 -1 6 21 13 -1 15 16 8 7 -1 16 17 9 8 -1 11 10 18 19 -1 19 20 12 11 -1 54 3 56 -1 56 4 54 -1 56 3 55 -1 57 4 56 -1 10 4 57 -1 3 9 55 -1 18 58 17 -1 58 56 55 -1 58 57 56 -1 57 58 18 -1 10 57 18 -1 17 58 55 -1 17 55 9 -1 ] creaseAngle 2 coord DEF HullCoordinates Coordinate { point [ 0 0 0 -15 -3 0 -5 -2.8 -1 17.5 -2.4 -1 17.5 -2.4 1 -5 -2.8 1 -15 -1 0 -5 -1 -3 12.8 -1 -3 17.5 -1 -1 17.5 -1 1 12.8 -1 3 -5 -1 3 -19.3 0 0 -18 0 -2 -15 0 -3.2 12.8 0 -3.2 17.5 0 -1 17.5 0 1 12.8 0 3.2 -15 0 3.2 -18 0 2 -20 1 0 -20 1 -3.3 12.8 1 -3.3 15 1 -2.5 17 1 -1.5 18.5 1 0 17 1 1.5 15 1 2.5 12.8 1 3.3 -20 1 3.3 -20.6 2 0 -20.6 2 -3 -20 2 -3.5 12.8 2 -3.5 16 2 -2.8 19.5 2 0 16 2 2.8 12.8 2 3.5 -20 2 3.5 -20.6 2 3 -20.6 3.2 0 -20.6 3.2 -3 -20 3.2 -3.5 12.8 2.7 -3.5 16 2.9 -2.8 19 3 -1.6 20.6 3.1 0 19 3 1.6 16 2.9 2.8 12.8 2.7 3.5 -20 3.2 3.5 -20.6 3.2 3 18 -2.2 0 18.2 -1 -0.5 18.5 -1.2 0 18.2 -1 0.5 18.2 -0.7 0 5.3 3 3.5 6 2 3.5 6.7 1 3.3 5.5 3 -3.5 7 1 -3.3 6 2 -3.5 ] } } appearance Appearance { material DEF HullRed Material { diffuseColor .8 .1 .1 } } } ] } DEF UpperHull Transform { children [ Shape { geometry IndexedFaceSet { coordIndex [ 31 21 20 -1 13 21 31 -1 13 31 22 -1 13 22 23 -1 23 14 13 -1 23 15 14 -1 23 24 16 15 -1 16 24 25 -1 16 25 26 -1 26 17 16 -1 17 26 27 -1 19 29 30 -1 19 28 29 -1 19 18 28 -1 18 27 28 -1 18 17 27 -1 30 31 20 19 -1 32 33 23 22 -1 22 31 41 32 -1 33 34 23 -1 40 41 31 -1 34 35 24 23 -1 35 36 25 24 -1 36 26 25 -1 36 37 27 26 -1 37 38 28 27 -1 29 28 38 -1 30 29 38 39 -1 60 40 31 61 -1 42 43 33 32 -1 32 41 53 42 -1 43 44 34 33 -1 41 40 52 53 -1 44 45 35 34 -1 45 46 36 35 -1 46 47 36 -1 47 48 37 36 -1 48 49 38 37 -1 49 50 38 -1 50 51 39 38 -1 59 52 40 60 -1 ] creaseAngle 2 solid FALSE coord USE HullCoordinates } appearance Appearance { material DEF EhimeMaruWhite Material { diffuseColor 1 1 1 } } } ] } DEF MainDeck Transform { scale .99 .99 .99 translation 0 -.05 0 children [ Shape { geometry IndexedFaceSet { coordIndex [ 22 23 24 25 26 27 28 29 30 31 22 -1 ] solid FALSE coord USE HullCoordinates } appearance Appearance { material DEF EhimeMaruDeckColor Material { diffuseColor .6 .5 .4 } texture DEF EhimeMaruDeckSkin ImageTexture { url [ "EhimeMaruLargeDeckSkin.gif" "https://savage.nps.edu/Savage/ShipsCivilian/Trawlers/EhimeMaruLargeDeckSkin.gif" ] } } } ] } DEF ForwardDeck Transform { center 16 0 0 scale .99 .99 .99 children [ Shape { geometry IndexedFaceSet { coordIndex [ 35 36 37 38 39 35 -1 24 30 39 35 24 -1 ] solid FALSE coord USE HullCoordinates } appearance Appearance { material Material { diffuseColor .4 .3 .2 } texture USE EhimeMaruDeckSkin } } ] } DEF AftDeck Transform { scale .99 .99 .99 children [ Shape { geometry IndexedFaceSet { coordIndex [ 60 64 63 61 60 -1 60 64 34 33 32 41 40 60 -1 ] creaseAngle 1 solid FALSE coord USE HullCoordinates } appearance Appearance { material USE EhimeMaruDeckColor texture USE EhimeMaruDeckSkin } } ] } DEF SuperStructure1 Transform { translation -7.9 3 0 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Box { size 24 2 5.4 } } ] } DEF MainRoof Transform { translation -8.2 4.0 0 children [ Shape { appearance Appearance { material DEF EhimeMaruRoofColor Material { diffuseColor .7 .6 .5 } texture USE EhimeMaruDeckSkin } geometry Box { size 24.7 .1 7 } } ] } DEF Bridge1 Transform { translation 0.5 4.5 0 children [ Shape { geometry Box { size 5.99 1.99 3 } appearance Appearance { material Material { diffuseColor .9 .9 .9 } } } DEF AftBridgeWindows Transform { translation -1 0 0 children [ Transform { rotation 0 1 0 -1.570796 translation 0.3 0.35 -1.5 children [ DEF BridgeWindowShape Shape { appearance Appearance { material Material { diffuseColor 0.1 0.1 0.4 transparency .4 } } geometry Box { size 0.1 0.3 0.5 } } ] } Transform { rotation 0 1 0 -1.570796 translation 0.3 0.35 1.5 children [ USE BridgeWindowShape ] } Transform { rotation 0 1 0 -1.570796 translation -0.5 0.35 -1.5 children [ USE BridgeWindowShape ] } Transform { rotation 0 1 0 -1.570796 translation -0.5 0.35 1.5 children [ USE BridgeWindowShape ] } ] } ] } DEF Bridge2 Transform { translation 2.25 4.5 0 children [ Shape { geometry Box { size 2.5 1.99 4 } appearance Appearance { material USE EhimeMaruWhite } } DEF BridgeWindows Transform { children [ DEF FrontBridgeWindows Transform { rotation 0 0 1 -0.07 translation 1.22 0.35 0 children [ Transform { children [ USE BridgeWindowShape ] } Transform { translation 0 0 -0.57 children [ USE BridgeWindowShape ] } Transform { translation 0 0 -1.14 children [ USE BridgeWindowShape ] } Transform { translation 0 0 -1.71 children [ USE BridgeWindowShape ] } Transform { translation 0 0 0.57 children [ USE BridgeWindowShape ] } Transform { translation 0 0 1.14 children [ USE BridgeWindowShape ] } Transform { translation 0 0 1.71 children [ USE BridgeWindowShape ] } ] } DEF PortBridgeWindows Transform { rotation 0 1 0 -1.570796 translation 0 0.35 2 children [ Transform { translation 0 0 -0.57 children [ USE BridgeWindowShape ] } Transform { children [ USE BridgeWindowShape ] } Transform { translation 0 0 0.57 children [ USE BridgeWindowShape ] } ] } DEF StbdBridgeWindows Transform { translation 0 0 -4 children [ USE PortBridgeWindows ] } ] } ] } DEF BridgeRoof Transform { translation 0 -0.5 0 children [ Shape { appearance Appearance { material USE EhimeMaruRoofColor texture USE EhimeMaruDeckSkin } geometry IndexedFaceSet { coordIndex [ 0 1 2 3 4 5 6 7 ] solid FALSE coord Coordinate { point [ -2.6 6 -1.6 0.9 6 -1.6 0.9 6 -2.1 3.6 6 -2.1 3.6 6 2.1 0.9 6 2.1 0.9 6 1.6 -2.6 6 1.6 ] } } } ] } DEF SmokeStack Transform { translation 0 -1.0 0 children [ DEF SmokeStackBottom Transform { children [ DEF SSLeftSide Shape { appearance Appearance { material USE EhimeMaruWhite texture DEF EhimeMaruSmokeStackStar ImageTexture { url [ "EhimeMaruSmokeStackStar.jpg" "https://savage.nps.edu/Savage/ShipsCivilian/Trawlers/EhimeMaruSmokeStackStar.jpg" ] } } geometry IndexedFaceSet { coordIndex [ 5 6 7 8 -1 ] coord DEF SmokeStackBottomPoints Coordinate { point [ 0 0 0 -12.5 4 1 -11.5 7 1 -9 7 1 -9 4 1 -12.5 4 -1 -11.5 7 -1 -9 7 -1 -9 4 -1 ] } } } DEF SSRightSide Shape { appearance Appearance { material USE EhimeMaruWhite texture USE EhimeMaruSmokeStackStar } geometry IndexedFaceSet { coordIndex [ 1 4 3 2 -1 ] coord USE SmokeStackBottomPoints } } DEF SSRestofSides Shape { appearance Appearance { material USE EhimeMaruWhite } geometry IndexedFaceSet { coordIndex [ 8 7 3 4 -1 1 2 6 5 -1 2 3 7 6 -1 ] coord USE SmokeStackBottomPoints } } ] } DEF SmokeStackTopPart1 Transform { rotation 0 0 1 0.4 translation -10.3 6.79 0 children [ Shape { geometry Box { size 2.52 .62 1.99 } appearance Appearance { material Material { diffuseColor 0 0 0 } } } ] } DEF SmokeStackTopPart2 Transform { rotation 0 0 1 0.13 translation -10.45 7.1 0 children [ Shape { geometry Box { size 2.45 0.6 1.99 } appearance Appearance { material Material { diffuseColor 0 0 0 } } } ] } ] } DEF SideSwirlHolders Transform { children [ DEF RightSideSwirl Transform { children [ Shape { geometry IndexedFaceSet { coordIndex [ 4 3 2 1 -1 ] solid FALSE coord Coordinate { point [ 0 0 0 2.5 1 3.4 2.5 2.5 3.55 4 2.5 3.55 4 1 3.4 ] } } appearance Appearance { material USE EhimeMaruWhite texture DEF EhimeMaruSideSwirlSymbol ImageTexture { url [ "EhimeMaruSideSwirlSymbol.jpg" "https://savage.nps.edu/Savage/ShipsCivilian/Trawlers/EhimeMaruSideSwirlSymbol.jpg" ] } } } ] } DEF LeftSideSwirl Transform { children [ Shape { geometry IndexedFaceSet { coordIndex [ 1 2 3 4 -1 ] solid FALSE coord Coordinate { point [ 0 0 0 2.5 1 -3.4 2.5 2.5 -3.55 4 2.5 -3.55 4 1 -3.4 ] } } appearance Appearance { material USE EhimeMaruWhite texture USE EhimeMaruSideSwirlSymbol } } ] } ] } DEF RunningPosts Transform { children [ DEF StbdSidePosts Transform { translation 0 -0.53 0 children [ Transform { translation -19.78 3.9 3.4 children [ DEF CookieCutterPost Transform { children [ Transform { rotation 0 0 1 -0.3 translation 0 .05 0 children [ Shape { geometry Box { size 0.2 1.2 0.1 } appearance Appearance { material USE EhimeMaruWhite } } ] } ] } ] } Transform { translation -17.5 3.9 3.4 children [ USE CookieCutterPost ] } Transform { translation -15.5 3.9 3.4 children [ USE CookieCutterPost ] } Transform { translation -13 3.9 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -10.5 3.78 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -8.3 3.78 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -6 3.78 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -3.9 3.78 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -1.5 3.78 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.3 1 translation 0.9 3.72 3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.3 1 translation 3.2 3.72 3.4 children [ USE CookieCutterPost ] } ] } DEF PortSidePosts Transform { translation 0 -0.53 0 children [ Transform { translation -19.78 3.9 -3.4 children [ USE CookieCutterPost ] } Transform { translation -17.5 3.9 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.1 1 translation -15.5 3.8 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.1 1 translation -13 3.85 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -10.5 3.78 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -8.3 3.78 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.2 1 translation -6 3.78 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.3 1 translation -3.9 3.7 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.4 1 translation -1.5 3.65 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.4 1 translation 0.9 3.65 -3.4 children [ USE CookieCutterPost ] } Transform { scale 1 1.4 1 translation 3.2 3.65 -3.4 children [ USE CookieCutterPost ] } ] } ] } DEF Masts Transform { children [ DEF ForwardMast Transform { rotation 0 0 1 0.174 translation 12.5 5.8 0 children [ DEF VerticalForwardMast1 Transform { children [ Shape { geometry Cone { bottom FALSE bottomRadius .25 height 7.8 } appearance Appearance { material USE EhimeMaruWhite } } ] } DEF CrossbarForwardMast Transform { rotation 1 0 0 1.57079 translation 0 3.5 0 children [ Shape { geometry Cylinder { radius .02 } appearance Appearance { material USE EhimeMaruWhite } } ] } DEF VerticalForwardMast2 Transform { children [ Shape { geometry Cylinder { bottom FALSE height 7.8 radius .05 } appearance Appearance { material USE EhimeMaruWhite } } ] } ] } DEF Wires Transform { children [ Shape { geometry IndexedLineSet { coordIndex [ 0 1 -1 0 2 -1 0 3 -1 0 4 -1 0 5 -1 6 7 -1 9 11 -1 8 10 -1 10 12 -1 11 13 -1 ] coord Coordinate { point [ 12.6 5.8 0 16 2 -2.8 19.5 2 0 16 2 2.8 3.5 5.5 2 3.5 5.5 -2 12.2 7.3 0 0 7.3 0 11.9 9.25 0.95 11.9 9.25 -0.95 -0.76 9.67 0.95 -0.76 9.67 -0.95 -18 9.33 0.99 -18 9.33 -0.99 ] } } appearance Appearance { material Material { emissiveColor .5 .5 .5 } } } ] } DEF Midmast Transform { rotation 0 0 1 0.15 translation -0.5 8 0 children [ DEF VerticalMidMast1 Transform { children [ Shape { geometry Cone { bottom FALSE bottomRadius 0.23 height 5.5 } appearance Appearance { material USE EhimeMaruWhite } } ] } DEF VerticalMidMast2 Transform { children [ Shape { geometry Cylinder { bottom FALSE height 5.5 radius .05 } appearance Appearance { material USE EhimeMaruWhite } } ] } DEF VerticalMidMast3 Transform { rotation 0 0 1 -0.174 translation 0 -2 0 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cone { bottom FALSE bottomRadius .3 height 1.2 } } ] } DEF HorizontalMidMast1 Transform { translation 0 -1.8 0 children [ USE CrossbarForwardMast ] } DEF HorizontalMidMast2 Transform { translation 0 -1.3 0 children [ USE HorizontalMidMast1 ] } DEF RadarMast1 Transform { rotation 0 0 1 -0.15 children [ DEF RadarMastSupport Transform { translation 0.5 -0.7 0 children [ Shape { geometry Box { size 1 0.02 0.2 } appearance Appearance { material USE EhimeMaruWhite } } ] } ] } DEF RadarMast2 Transform { rotation 0 0 1 -0.15 translation 0 1 0 children [ USE RadarMastSupport ] } DEF RadarsupportTop Transform { rotation 0 0 1 -0.15 translation 0.75 0.24 0 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .1 radius .03 top FALSE } } ] } DEF RadarsupportLower Transform { rotation 0 0 1 -0.15 translation 0.75 -0.76 0 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .1 radius .03 top FALSE } } ] } ] } DEF AftMast Transform { translation 0 -1.2 0 children [ DEF PortSupport Transform { rotation 1 0 0 0.11 translation -18.1 6.5 -.5 children [ DEF AftMastColumn Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 9 radius .05 } } ] } DEF StbdSupport Transform { rotation 1 0 0 -0.11 translation -18.1 6.5 .5 children [ USE AftMastColumn ] } DEF FwdSupport Transform { rotation 0 0 1 0.19 scale 1.5 1 1.5 translation -17.35 7.1 0 children [ USE AftMastColumn ] } DEF AftMastCrossbar Transform { scale 1.3 1.3 1.0 translation -18 6 0 children [ USE CrossbarForwardMast ] } DEF AftMassHorizontalBars Transform { translation -18 7 0 children [ DEF Bar1 Transform { rotation 0 1 0 0.5 translation 0.11 2 0.11 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .5 radius .04 top FALSE } } ] } ] } DEF Bar2 Transform { rotation 0 1 0 -0.5 translation 0.11 2 -0.11 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .5 radius .04 top FALSE } } ] } ] } DEF Bar3 Transform { rotation 0 1 0 0.5 translation 0.20 0.8 0.2 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .7 radius .04 top FALSE } } ] } ] } DEF Bar4 Transform { rotation 0 1 0 -0.5 translation 0.2 0.8 -0.2 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height .7 radius .04 top FALSE } } ] } ] } DEF Bar5 Transform { rotation 0 1 0 0.5 translation 0.36 -0.4 0.24 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 0.95 radius .04 top FALSE } } ] } ] } DEF Bar6 Transform { rotation 0 1 0 -0.5 translation 0.36 -0.4 -0.24 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 0.95 radius .04 top FALSE } } ] } ] } DEF Bar7 Transform { rotation 0 1 0 0.5 translation 0.42 -1.5 0.31 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.2 radius .04 top FALSE } } ] } ] } DEF Bar8 Transform { rotation 0 1 0 -0.5 translation 0.42 -1.5 -0.31 children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.2 radius .04 top FALSE } } ] } ] } ] } DEF AftMastAngledBars Transform { translation -18 7 0 children [ DEF ABar1 Transform { rotation 0 1 0 0.75 translation 0.10 1.4 0.2 children [ Transform { rotation 0 0 1 -0.35 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.3 radius .02 top FALSE } } ] } ] } DEF ABar2 Transform { rotation 0 1 0 -0.75 translation 0.1 1.4 -0.2 children [ Transform { rotation 0 0 1 -0.35 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.3 radius .02 top FALSE } } ] } ] } DEF ABar3 Transform { rotation 0 1 0 0.4 translation 0.32 0.2 0.2 children [ Transform { rotation 0 0 1 0.6 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.4 radius .02 top FALSE } } ] } ] } DEF ABar4 Transform { rotation 0 1 0 -0.4 translation 0.32 0.2 -0.2 children [ Transform { rotation 0 0 1 0.6 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.4 radius .02 top FALSE } } ] } ] } DEF ABar5 Transform { rotation 0 1 0 0.6 translation 0.35 -0.9 0.3 children [ Transform { rotation 0 0 1 -0.75 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.5 radius .02 top FALSE } } ] } ] } DEF ABar6 Transform { rotation 0 1 0 -0.6 translation 0.35 -0.9 -0.3 children [ Transform { rotation 0 0 1 -0.75 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 1.5 radius .02 top FALSE } } ] } ] } ] } ] } DEF DomeRadar Transform { scale .35 .4 .35 translation 2.1 5 -1.5 children [ DEF radarPost Transform { children [ Shape { geometry Cylinder { bottom FALSE height 5 radius .2 top FALSE } appearance Appearance { material USE EhimeMaruWhite } } ] } DEF RadarHousing Transform { translation 0 3 0 children [ Transform { translation 0 .5 0 children [ Shape { geometry Sphere { } appearance Appearance { material USE EhimeMaruWhite } } ] } Transform { children [ Shape { geometry Cylinder { height 1.2 top FALSE } appearance Appearance { material USE EhimeMaruWhite } } ] } ] } ] } DEF TopRadarInterpolator OrientationInterpolator { key [ 0 .25 .5 .75 1 ] keyValue [ 0 1 0 0 0 1 0 1.570796 0 1 0 3.14159 0 1 0 4.7124 0 1 0 6.283185 ] } DEF TopRadarTImeSource TimeSensor { cycleInterval 7 loop TRUE } DEF LowerRadarTimeSource TimeSensor { cycleInterval 5 loop TRUE } DEF LowerRadarInterpolator OrientationInterpolator { key [ 0 .25 .5 .75 1 ] keyValue [ 0 1 0 0 0 1 0 1.570796 0 1 0 3.14159 0 1 0 4.7124 0 1 0 6.283185 ] } DEF RotatingTopRadar Transform { translation 0.22 8.43 0 children [ DEF RadarAntennaTop Transform { children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { height 1 radius 0.05 } } ] } Transform { translation 0 0 .05 children [ Shape { geometry Box { size 1 0.1 0.1 } appearance Appearance { material USE EhimeMaruWhite } } Transform { translation 0 0 .02 children [ Shape { appearance Appearance { material DEF RadarXmitterBlue Material { diffuseColor .1 .1 .5 transparency 0.3 } } geometry Box { size .99 .09 .09 } } ] } ] } ] } ] } DEF RotatingLowerRadar Transform { translation .35 7.45 0 children [ DEF RadarAntennaLower Transform { children [ Transform { rotation 0 0 1 -1.570796 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { height 1 radius 0.05 } } ] } Transform { translation 0 0 .05 children [ Shape { geometry Box { size 1 0.1 0.1 } appearance Appearance { material USE EhimeMaruWhite } } Transform { translation 0 0 .02 children [ Shape { appearance Appearance { material USE RadarXmitterBlue } geometry Box { size .99 .09 .09 } } ] } ] } ] } ] } ] } DEF RescueBoatParentNode Transform { children [ DEF RescueBoat Transform { scale .4 .4 .4 translation -4.2 5 -2.5 children [ Inline { url [ "../../ShipsMilitary/DestroyerSovremennyRussia/CaptainsBarge.x3d" "https://savage.nps.edu/Savage/ShipsMilitary/DestroyerSovremennyRussia/CaptainsBarge.x3d" "../../ShipsMilitary/DestroyerSovremennyRussia/CaptainsBarge.wrl" "https://savage.nps.edu/Savage/ShipsMilitary/DestroyerSovremennyRussia/CaptainsBarge.wrl" ] } ] } DEF ForwardBoatSupport Transform { translation -3.5 4 -2 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 4 radius .02 } } ] } DEF AftBoatSupport Transform { translation -6.2 4 -2 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Cylinder { bottom FALSE height 4 radius .02 } } ] } ] } DEF StructuresOnDeck Transform { children [ DEF Box1 Transform { translation -7.5 4.5 0 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Box { size 1.2 1 1.4 } } ] } DEF Box2 Transform { translation -11.3 4.6 2.6 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Box { size 1. 1.25 .9 } } ] } DEF Box3 Transform { translation -15 4.5 2.3 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry Box { size 2 1 2 } } ] } DEF Cylinder1 Transform { rotation 0 0 1 -1.570796 translation -6.5 4.3 3 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry DEF TopsideCylinder Cylinder { height 4.3 radius .3 } } ] } DEF Cylinder2 Transform { rotation 0 0 1 -1.570796 translation -12 4.3 -3 children [ Shape { appearance Appearance { material USE EhimeMaruWhite } geometry USE TopsideCylinder } ] } DEF FwdBox1 Transform { translation 9 1.3 -0.9 children [ Shape { appearance Appearance { material Material { diffuseColor .5 .4 .4 } texture USE EhimeMaruDeckSkin } geometry Box { size 2 1 2 } } ] } DEF FwdCylinder1 Transform { translation 15 2 -1 children [ Shape { appearance Appearance { material Material { diffuseColor .4 .4 .4 } } geometry Cylinder { height .7 radius .3 } } ] } DEF FwdCylinder2 Transform { translation 15 2 1 children [ Shape { appearance Appearance { material Material { diffuseColor .4 .4 .4 } } geometry Cylinder { height .7 radius .3 } } ] } DEF FwdCylinder3 Transform { scale 1.2 1.2 1.2 translation 17.5 2 0 children [ Shape { appearance Appearance { material Material { diffuseColor .4 .4 .4 } } geometry Cylinder { height .7 radius .3 } } ] } ] } DEF RudderAssembly Transform { translation -17 -2 0 children [ DEF HorizontalRudderSupport Transform { translation 2.8 -0.9 0 children [ Shape { geometry Box { size 6 .02 .4 } appearance Appearance { material USE HullRed } } ] } DEF VerticalRudderSupport Transform { translation 0 0.6 0 children [ Shape { geometry Cylinder { height 3 radius .04 top FALSE } appearance Appearance { material USE HullRed } } ] } DEF Rudder Transform { translation 0 0.2 0 children [ Shape { geometry Box { size 1.5 2 .04 } appearance Appearance { material USE HullRed } } ] } ] } DEF PropAssembly Transform { center -15 -2 0 children [ DEF Propeller Transform { rotation 0 1 0 -3.142 scale .8 .8 .8 translation -15.3 -2 0 children [ Transform { children [ DEF blade Shape { geometry Extrusion { creaseAngle .785 crossSection [ 0 -.25 -.2 0 -.2 .25 0 .25 0 -.25 ] orientation [ 0 1 0 0 0 1 0 .1 0 1 0 .2 0 1 0 .3 0 1 0 .4 0 1 0 .5 0 1 0 .6 0 1 0 .7 0 1 0 .8 0 1 0 .9 ] scale [ 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 0.1 0.6 ] spine [ 0 0 0 0 .1 0 0 .2 0 0 .3 0 0 .4 0 0 .5 0 0 .6 0 0 .7 0 0 .8 0 0 .9 0 ] } appearance DEF screw_color Appearance { material Material { ambientIntensity .3 diffuseColor .1 .1 .1 emissiveColor .1 .1 .1 shininess .5 specularColor .1 .1 .1 } texture ImageTexture { url [ "screw_texture.jpg" "https://savage.nps.edu/Savage/ShipsCivilian/Trawlers/screw_texture.jpg" ] } } } ] } Transform { rotation 1 0 0 1.5707 children [ USE blade ] } Transform { rotation 1 0 0 3.14159 children [ USE blade ] } Transform { rotation 1 0 0 4.7124 children [ USE blade ] } DEF endcap Transform { rotation 0 0 1 -1.571 scale .5 .3 .5 translation 0.2 0 0 children [ Shape { geometry Cone { bottomRadius .26 height 1.3 } appearance USE screw_color } ] } ] } DEF DriveShaft Transform { rotation 0 0 1 -1.571 translation -13.85 -2 0 children [ Shape { geometry Cylinder { bottom FALSE height 3 radius .07 top FALSE } appearance Appearance { material USE HullRed } } ] } ] } DEF PropTimerSource TimeSensor { cycleInterval 5 loop TRUE } DEF PropRotationInterpolator OrientationInterpolator { key [ 0 0.25 0.5 0.75 1 ] keyValue [ 1 0 0 0 1 0 0 1.570796 1 0 0 3.14159 1 0 0 4.7124 1 0 0 6.283185 ] } DEF BowThrusters Transform { children [ DEF StbdThruster Transform { rotation 0 1 0 0.4 translation 14 -0.95 2.53 children [ Transform { rotation 1 0 0 0.1 children [ Transform { rotation 1 0 0 1.570796 children [ Shape { appearance Appearance { material Material { ambientIntensity .3 diffuseColor .1 .1 .1 emissiveColor .1 .1 .1 shininess .5 specularColor .1 .1 .1 } } geometry Cylinder { height .05 radius .4 } } ] } Transform { scale .26 .26 .26 translation 0 0 0.07 children [ DEF BowThrusterImage LOD { range [ 400 ] children [ ### children2 Inline { url [ "../../../Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.27RotatingFanAnimatedTextureTransform.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.27RotatingFanAnimatedTextureTransform.x3d" "../../../Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.27RotatingFanAnimatedTextureTransform.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18-TextureMapping/Figure18.27RotatingFanAnimatedTextureTransform.wrl" ] } WorldInfo { info [ "null node" ] } ] } ] } ] } ] } DEF PortThruster Transform { rotation 0 1 0 -0.4 translation 14 -0.95 -2.53 children [ Transform { rotation 1 0 0 -0.1 children [ Transform { rotation 1 0 0 1.570796 children [ Shape { appearance Appearance { material Material { ambientIntensity .3 diffuseColor .1 .1 .1 emissiveColor .1 .1 .1 shininess .5 specularColor .1 .1 .1 } } geometry Cylinder { height .05 radius .4 } } ] } Transform { rotation 0 1 0 -3.14159 scale .26 .26 .26 translation 0 0 -0.07 children [ USE BowThrusterImage ] } ] } ] } ] } DEF ShipName Transform { translation 15 2 0 children [ DEF PortShipName Transform { rotation 0 1 0 0.4 translation -0.6 -0.8 3 children [ DEF ShipNameText Shape { geometry Text { string [ "-- EHIME MARU --" ] fontStyle FontStyle { justify [ "BEGIN" "MIDDLE" ] size 0.5 ### style='BOLD' } } appearance Appearance { material Material { diffuseColor .1 .1 .4 } } } ] } DEF StbdShipName Transform { rotation 0 1 0 -3.54159 translation 0.8 -0.8 -2.5 children [ USE ShipNameText ] } DEF AftShipName Transform { rotation 0 1 0 -1.570796 translation -35.8 0.7 -1.8 children [ USE ShipNameText ] } ] } ] } ] } ] } ] } ] } ] } ROUTE TopRadarTImeSource.fraction_changed TO TopRadarInterpolator.set_fraction ROUTE TopRadarInterpolator.value_changed TO RadarAntennaTop.set_rotation ROUTE LowerRadarTimeSource.fraction_changed TO LowerRadarInterpolator.set_fraction ROUTE LowerRadarInterpolator.value_changed TO RadarAntennaLower.set_rotation ROUTE PropTimerSource.fraction_changed TO PropRotationInterpolator.set_fraction ROUTE PropRotationInterpolator.value_changed TO PropAssembly.set_rotation