<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ContentCatalog
 PUBLIC "http://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/tools/CreateContentCatalog/ContentCatalog.dtd"
        "../../../tools/CreateContentCatalog/ContentCatalog.dtd">
<ContentCatalog creationDate='4/16/2026' helpPage='X3dResources.html' name='X3dForWebAuthors'
   title='X3D4WA, X3D for Web Authors' toc='index.html'>
  <meta content='ContentCatalogBuilder' name='generator'/>
  <Chapter name='Chapter01TechnicalOverview' title='Chapter 01 Technical Overview'>
    <Page name='EmptyScene' thumbnail='_thumbnails/EmptySceneThumbnail.png' title='Empty Scene'>
      <Viewpoint description='[1] EmptyScene.x3d (default X3D view from 0 0 10)'
         fileName='EmptyScene.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page TODO='Mantis issue 1448 https://www.web3d.org/member-only/mantis/view.php?id=1448'
       created='24 February 2014' creator='Leonard Daly, Don Brutzman'
       description='Illustrate a minimalist scene using only Core profile nodes. Root nodes must either be allowed children nodes of a Grouping node, or a LayerSet node. Note that DOCTYPE, head/meta and Group/Metadata* elements can be deleted without losing scene validity.'
       info='Increase X3D profile (or add component statements) to match if any other X3D nodes are added to this scene.'
       license='../license.html' modified='3 August 2024' name='EmptySceneCoreProfile'
       specificationSection='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, 7 Core Component, Table 7.2 — Core component support levels'
       specificationSection2='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, Annex A Core Profile, Table A.3 — Nodes for conforming to the Core profile'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#t-CoresupportLevels'
       specificationUrl2='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/coreprofile.html#t-NodesForConformingToCoreProfile'
       thumbnail='_thumbnails/EmptySceneCoreProfileThumbnail.png' title='Empty Scene Core Profile'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/EmptySceneCoreProfile.x3d'>
      <Viewpoint description='[2] EmptySceneCoreProfile.x3d (default X3D view from 0 0 10)'
         fileName='EmptySceneCoreProfile.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='11 October 2005' creator='Don Brutzman'
       description='Simple scene demonstrating X3D header, profile, component unit and meta definitions. The component tags raise the support level from Immersive profile to include other components included in the X3D 3.0 Full profile. Common unit conversion factors change from X3D defaults in radians, meters, Newtons and kilograms.'
       license='../license.html' modified='28 April 2023' name='HeaderProfileComponentUnitMetaExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/HeaderProfileComponentUnitMetaExampleThumbnail.png'
       title='Header Profile Component Unit Meta Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HeaderProfileComponentUnitMetaExample.x3d'>
      <Viewpoint description='[3] HeaderProfileComponentUnitMetaExample.x3d (default X3D view)'
         fileName='HeaderProfileComponentUnitMetaExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='18 September 2022' creator='Don Brutzman'
       description='Show basic scene graph structure' license='../license.html'
       modified='18 September 2022' name='HelloSceneGraphStructure'
       thumbnail='_thumbnails/HelloSceneGraphStructureThumbnail.png' title='Hello Scene Graph Structure'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloSceneGraphStructure.x3d'>
      <Viewpoint description='[4] HelloSceneGraphStructure.x3d (default X3D view from 0 0 10)'
         fileName='HelloSceneGraphStructure.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='5 August 2009' creator='Don Brutzman'
       description='Simplest possible triangle definition. Note that head metadata is optional. Provides interesting comparison to OpenGL definitions.'
       license='../license.html' modified='18 January 2025' name='HelloTriangle'
       thumbnail='_thumbnails/HelloTriangleThumbnail.png' title='Hello Triangle'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloTriangle.x3d'>
      <Viewpoint description='[5] HelloTriangle.x3d (default X3D view from 0 0 10)'
         fileName='HelloTriangle.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='30 October 2000' creator='Don Brutzman'
       description='Simple X3D model example: Hello World!'
       license='https://www.web3d.org/x3d/content/examples/license.html' modified='24 January 2026'
       name='HelloWorld' thumbnail='_thumbnails/HelloWorldThumbnail.png' title='Hello World'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorld.x3d'>
      <Viewpoint description='[6] HelloWorld.x3d Hello world!'
         fileName='HelloWorld.x3d._VP_Hello_world!.png' found='true'/>
      <Viewpoint description='[7] HelloWorld.x3d (default X3D view from 0 0 10)'
         fileName='HelloWorld.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='*enter date of initial version here*'
       creator='*enter name of original author here, with separate entries for multiple authors*'
       description='*enter description here, short-sentence summaries preferred*'
       error='*note any known errors or problems here*' hint='*note any hints to authors here*'
       info='*note any additional information here*' license='../license.html'
       modified='28 December 2025' name='newScene'
       specificationSection='X3D 4.0 Architecture, ISO/IEC 19775-1:2023'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/Architecture.html'
       subject='*enter subject keywords here*' thumbnail='_thumbnails/newSceneThumbnail.png'
       title='new Scene'
       translator='*if translating from another format, enter name of person translating here*'
       url='*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*'
       warning='*note any known warnings or issues here*'>
      <Viewpoint description='[8] newScene.x3d (default X3D view from 0 0 10)'
         fileName='newScene.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter02GeometryPrimitives' title='Chapter 02 Geometry Primitives'>
    <Page created='1 January 2007' creator='Leonard Daly' description='Box geometric primitive node.'
       license='../license.html' modified='8 March 2022' name='BoxExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/BoxExampleThumbnail.png' title='Box Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/BoxExample.x3d'>
      <Viewpoint description='[1] BoxExample.x3d Book View' fileName='BoxExample.x3d._VP_Book_View.png'
         found='false'/>
      <Viewpoint description='[2] BoxExample.x3d (default X3D view from 0 0 10)'
         fileName='BoxExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 January 2007' creator='Leonard Daly and Don Brutzman'
       description='Cone geometric primitive node.' license='../license.html' modified='8 March 2022'
       name='ConeExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ConeExampleThumbnail.png' title='Cone Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/ConeExample.x3d'>
      <Viewpoint description='[3] ConeExample.x3d Side View' fileName='ConeExample.x3d._VP_Side_View.png'
         found='true'/>
      <Viewpoint description='[4] ConeExample.x3d Book View' fileName='ConeExample.x3d._VP_Book_View.png'
         found='true'/>
      <Viewpoint description='[5] ConeExample.x3d (default X3D view from 0 0 10)'
         fileName='ConeExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 January 2007' creator='Leonard Daly and Don Brutzman'
       description='Cylinder geometric primitive node.' license='../license.html'
       modified='8 March 2022' name='CylinderExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/CylinderExampleThumbnail.png' title='Cylinder Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/CylinderExample.x3d'>
      <Viewpoint description='[6] CylinderExample.x3d Book View'
         fileName='CylinderExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[7] CylinderExample.x3d (default X3D view from 0 0 10)'
         fileName='CylinderExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 March 2005' creator='Don Brutzman'
       description='Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere, Text, FontStyle'
       hint='Default values have been added to geometry nodes for clarity, ordinarily default values are omitted following X3D Canonicalization (C14N).'
       license='../license.html' modified='8 July 2023' name='GeometryPrimitiveNodes'
       thumbnail='_thumbnails/GeometryPrimitiveNodesThumbnail.png' title='Geometry Primitive Nodes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveNodes.x3d'>
      <Viewpoint description='[8] GeometryPrimitiveNodes.x3d (default X3D view from 0 0 10)'
         fileName='GeometryPrimitiveNodes.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 March 2005' creator='Don Brutzman'
       description='Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere, Text, FontStyle'
       hint='Default values have been added to geometry nodes for clarity, ordinarily default values are omitted following X3D Canonicalization (C14N).'
       license='../license.html' modified='8 July 2023' name='GeometryPrimitiveNodesWhiteBackground'
       thumbnail='_thumbnails/GeometryPrimitiveNodesWhiteBackgroundThumbnail.png'
       title='Geometry Primitive Nodes White Background'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveNodesWhiteBackground.x3d'>
      <Viewpoint description='[9] GeometryPrimitiveNodesWhiteBackground.x3d (default X3D view)'
         fileName='GeometryPrimitiveNodesWhiteBackground.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page
       TODO='X3D-Edit authoring tool Shape wizard: fix height value and endpoint stitching on Cone and Cylinder, add Sphere'
       created='14 July 2018' creator='Don Brutzman'
       description='Substitute IndexedFaceSet mesh versions of Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere.'
       hint='Default values have been added to geometry nodes for clarity, ordinarily default values are omitted.'
       license='../license.html' modified='4 August 2024' name='GeometryPrimitiveSubstituteMeshes'
       thumbnail='_thumbnails/GeometryPrimitiveSubstituteMeshesThumbnail.png'
       title='Geometry Primitive Substitute Meshes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveSubstituteMeshes.x3d'>
      <Viewpoint description='[10] GeometryPrimitiveSubstituteMeshes.x3d (default X3D view from 0 0 10)'
         fileName='GeometryPrimitiveSubstituteMeshes.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='8 March 2022' creator='Don Brutzman' description='Sphere geometric primitive node.'
       license='../license.html' modified='8 March 2022' name='SphereExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SphereExampleThumbnail.png' title='Sphere Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/SphereExample.x3d'>
      <Viewpoint description='[11] SphereExample.x3d Book View'
         fileName='SphereExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[12] SphereExample.x3d (default X3D view from 0 0 10)'
         fileName='SphereExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='26 April 2017' creator='Don Brutzman'
       description='Simple smiley-face example illustrating an emoticon character entity, used within an MFString Text.'
       license='../license.html' modified='18 June 2024' name='TextHaveFunWithX3D'
       subject='emoji emoticon, X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextHaveFunWithX3DThumbnail.png' title='Text Have Fun With X3D'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/TextHaveFunWithX3D.x3d'>
      <Viewpoint description='[13] TextHaveFunWithX3D.x3d (default X3D view from 0 0 10)'
         fileName='TextHaveFunWithX3D.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 January 2009' creator='Don Brutzman'
       description='Simple Text node, illustrating length array and maxExtent field'
       license='../license.html' modified='20 October 2019' name='TextLengthMaxExtent'
       thumbnail='_thumbnails/TextLengthMaxExtentThumbnail.png' title='Text Length Max Extent'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/TextLengthMaxExtent.x3d'>
      <Viewpoint description='[14] TextLengthMaxExtent.x3d Default View'
         fileName='TextLengthMaxExtent.x3d._VP_Default_View.png' found='true'/>
      <Viewpoint description='[15] TextLengthMaxExtent.x3d Book View'
         fileName='TextLengthMaxExtent.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[16] TextLengthMaxExtent.x3d (default X3D view from 0 0 10)'
         fileName='TextLengthMaxExtent.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='12 July 2008' creator='Don Brutzman'
       description='Text node demonstration of quotation, apostrophe, ampersand and backslash characters using X3D MFString escaping for XML character entities.'
       info='See screenshot figures and various encoding conversions to note that multiple equivalences in XML character representations lead to consistent results despite slight differences in source.'
       license='../license.html' modified='20 October 2019' name='TextSpecialCharacters'
       thumbnail='_thumbnails/TextSpecialCharactersThumbnail.png' title='Text Special Characters'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/TextSpecialCharacters.x3d'>
      <Viewpoint description='[17] TextSpecialCharacters.x3d Default View'
         fileName='TextSpecialCharacters.x3d._VP_Default_View.png' found='true'/>
      <Viewpoint description='[18] TextSpecialCharacters.x3d (default X3D view from 0 0 10)'
         fileName='TextSpecialCharacters.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter03Grouping' title='Chapter 03 Grouping'>
    <Page created='28 December 2005' creator='Don Brutzman'
       description='Simple Inline example illustrating bounding box coverage. Bounding box lines are not typically rendered.'
       license='../license.html' modified='20 October 2019' name='BoundingBoxIllustration'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/BoundingBoxIllustrationThumbnail.png' title='Bounding Box Illustration'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/BoundingBoxIllustration.x3d'>
      <Viewpoint description='[1] BoundingBoxIllustration.x3d Bounding box illustration'
         fileName='BoundingBoxIllustration.x3d._VP_Bounding_box_illustration.png' found='true'/>
      <Viewpoint description='[2] BoundingBoxIllustration.x3d (default X3D view from 0 0 10)'
         fileName='BoundingBoxIllustration.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 July 2000' creator='Don Brutzman, Byounghyun Yoo'
       description='X Y Z axis arrows and labels in X3D coordinate system. See CoordinateAxesExample for use as an Inline coordinate-system reference frame.'
       license='../license.html' modified='2 March 2026' name='CoordinateAxes'
       thumbnail='_thumbnails/CoordinateAxesThumbnail.png' title='Coordinate Axes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d'>
      <Viewpoint description='[3] CoordinateAxes.x3d (default X3D view from 0 0 10)'
         fileName='CoordinateAxes.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 September 2000' creator='Don Brutzman'
       description='X Y Z axis arrows and labels in X3D/VRML coordinate system. Shows use of CoordinateAxesVrml as Inline for coordinate-system reference frames.'
       license='../license.html' modified='2 March 2026' name='CoordinateAxesInlineExample'
       thumbnail='_thumbnails/CoordinateAxesInlineExampleThumbnail.png'
       title='Coordinate Axes Inline Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesInlineExample.x3d'
       warning='X3D profile must be Immersive, rather than Interactive, in order to set up the X3D player to properly support the contained Inline scene CoordinateAxes.x3d which has profile Immersive.'>
      <Viewpoint description='[4] CoordinateAxesInlineExample.x3d (default X3D view from 0 0 10)'
         fileName='CoordinateAxesInlineExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 October 2013' creator='Don Brutzman'
       description='X Y Z axis lines (red green blue, respectively) in X3D coordinate system, providing a simple reusable widget.'
       license='../license.html' modified='2 March 2026' name='CoordinateAxesLines'
       thumbnail='_thumbnails/CoordinateAxesLinesThumbnail.png' title='Coordinate Axes Lines'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesLines.x3d'>
      <Viewpoint description='[5] CoordinateAxesLines.x3d Oblique view'
         fileName='CoordinateAxesLines.x3d._VP_Oblique_view.png' found='true'/>
      <Viewpoint description='[6] CoordinateAxesLines.x3d View from X axis'
         fileName='CoordinateAxesLines.x3d._VP_View_from_X_axis.png' found='true'/>
      <Viewpoint description='[7] CoordinateAxesLines.x3d View from Y axis'
         fileName='CoordinateAxesLines.x3d._VP_View_from_Y_axis.png' found='true'/>
      <Viewpoint description='[8] CoordinateAxesLines.x3d View from Z axis'
         fileName='CoordinateAxesLines.x3d._VP_View_from_Z_axis.png' found='true'/>
      <Viewpoint description='[9] CoordinateAxesLines.x3d (default X3D view from 0 0 10)'
         fileName='CoordinateAxesLines.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 July 2000' creator='Don Brutzman and Byounghyun Yoo'
       description='X Y Z axis arrows and labels in X3D coordinate system. See CoordinateAxesExample for use as an Inline coordinate-system reference frame.'
       license='../license.html' modified='2 March 2026' name='CoordinateAxesNSEW'
       thumbnail='_thumbnails/CoordinateAxesNSEWThumbnail.png' title='Coordinate Axes NSEW'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesNSEW.x3d'>
      <Viewpoint description='[10] CoordinateAxesNSEW.x3d (default X3D view from 0 0 10)'
         fileName='CoordinateAxesNSEW.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for Group node, with animated color for the Sphere'
       license='../license.html' modified='20 October 2019' name='GroupAnimated'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/GroupAnimatedThumbnail.png' title='Group Animated'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/GroupAnimated.x3d'>
      <Viewpoint description='[11] GroupAnimated.x3d Book View'
         fileName='GroupAnimated.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[12] GroupAnimated.x3d (default X3D view from 0 0 10)'
         fileName='GroupAnimated.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for Group node' license='../license.html' modified='25 August 2023'
       name='GroupExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/GroupExampleThumbnail.png' title='Group Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/GroupExample.x3d'>
      <Viewpoint description='[13] GroupExample.x3d Book View'
         fileName='GroupExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[14] GroupExample.x3d (default X3D view from 0 0 10)'
         fileName='GroupExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='19 October 2005' creator='Leonard Daly and Don Brutzman'
       description='Inline example that loads the Kelp Forest world.'
       info='X3D profile must be Immersive, rather than Interactive, in order to set up the X3D player to properly support the contained Inline scene KelpForestMain.x3d which has profile Immersive.'
       license='../license.html' modified='20 October 2019' name='InlineKelpForest'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/InlineKelpForestThumbnail.png' title='Inline Kelp Forest'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/InlineKelpForest.x3d'>
      <Viewpoint description='[15] InlineKelpForest.x3d (default X3D view from 0 0 10)'
         fileName='InlineKelpForest.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for LOD node' license='../license.html' modified='16 December 2023'
       name='LODExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/LODExampleThumbnail.png' title='LODExample'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/LODExample.x3d'>
      <Viewpoint description='[16] LODExample.x3d Book View - Near, all shapes shown'
         fileName='LODExample.x3d._VP_Book_View_-_Near,_all_shapes_shown.png' found='false'/>
      <Viewpoint description='[17] LODExample.x3d Book View - Farther, texture shown'
         fileName='LODExample.x3d._VP_Book_View_-_Farther,_texture_shown.png' found='true'/>
      <Viewpoint description='[18] LODExample.x3d Book View - Farthest, nothing shown'
         fileName='LODExample.x3d._VP_Book_View_-_Farthest,_nothing_shown.png' found='true'/>
      <Viewpoint description='[19] LODExample.x3d (default X3D view from 0 0 10)'
         fileName='LODExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='21 July 2011' creator='Leonard Daly and Don Brutzman'
       description='Example to demonstrate LOD forceTransitions field for animating different shapes, navigate in/out or else check Viewpoints to see each separate Shape'
       license='../license.html' modified='20 October 2019' name='LodWithDifferentShapes'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/LodWithDifferentShapesThumbnail.png' title='Lod With Different Shapes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/LodWithDifferentShapes.x3d'>
      <Viewpoint description='[20] LodWithDifferentShapes.x3d LOD at 4m shows Box'
         fileName='LodWithDifferentShapes.x3d._VP_LOD_at_4m_shows_Box.png' found='true'/>
      <Viewpoint description='[21] LodWithDifferentShapes.x3d LOD at 8m shows Cone'
         fileName='LodWithDifferentShapes.x3d._VP_LOD_at_8m_shows_Cone.png' found='true'/>
      <Viewpoint description='[22] LodWithDifferentShapes.x3d LOD at 12m shows Cylinder'
         fileName='LodWithDifferentShapes.x3d._VP_LOD_at_12m_shows_Cylinder.png' found='true'/>
      <Viewpoint description='[23] LodWithDifferentShapes.x3d LOD at 16m shows Sphere'
         fileName='LodWithDifferentShapes.x3d._VP_LOD_at_16m_shows_Sphere.png' found='true'/>
      <Viewpoint description='[24] LodWithDifferentShapes.x3d (default X3D view from 0 0 10)'
         fileName='LodWithDifferentShapes.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly'
       description='Illustration of Order of Operations: initial and final results from translation, rotation, and scale operations.'
       license='../license.html' modified='20 October 2019' name='OrderOfOperations1'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/OrderOfOperations1Thumbnail.png' title='Order Of Operations 1'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/OrderOfOperations1.x3d'>
      <Viewpoint description='[25] OrderOfOperations1.x3d Order of operations 1'
         fileName='OrderOfOperations1.x3d._VP_Order_of_operations_1.png' found='true'/>
      <Viewpoint description='[26] OrderOfOperations1.x3d (default X3D view from 0 0 10)'
         fileName='OrderOfOperations1.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly'
       description='Illustration of Order of Operations: initial, intermediate and final results for scale, rotation, and translation operations.'
       license='../license.html' modified='20 October 2019' name='OrderOfOperations2'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/OrderOfOperations2Thumbnail.png' title='Order Of Operations 2'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/OrderOfOperations2.x3d'>
      <Viewpoint description='[27] OrderOfOperations2.x3d Order of operations 2'
         fileName='OrderOfOperations2.x3d._VP_Order_of_operations_2.png' found='true'/>
      <Viewpoint description='[28] OrderOfOperations2.x3d (default X3D view from 0 0 10)'
         fileName='OrderOfOperations2.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for StaticGroup node' license='../license.html' modified='27 July 2024'
       name='StaticGroupExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/StaticGroupExampleThumbnail.png' title='Static Group Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/StaticGroupExample.x3d'>
      <Viewpoint description='[29] StaticGroupExample.x3d Book View'
         fileName='StaticGroupExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[30] StaticGroupExample.x3d (default X3D view from 0 0 10)'
         fileName='StaticGroupExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for Switch node' license='../license.html' modified='20 October 2019'
       name='SwitchExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SwitchExampleThumbnail.png' title='Switch Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/Switch.x3d'>
      <Viewpoint description='[31] SwitchExample.x3d Switch among multiple children'
         fileName='SwitchExample.x3d._VP_Switch_among_multiple_children.png' found='true'/>
      <Viewpoint description='[32] SwitchExample.x3d (default X3D view from 0 0 10)'
         fileName='SwitchExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='28 January 2008' creator='Don Brutzman'
       description='Use Transform center field to compare original Cylinder (left) to rotation about middle of object (middle Cylinder) to rotation about bottom of object (right Cylinder).'
       license='../license.html' modified='20 October 2019' name='TransformCenterOffsetForRotation'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TransformCenterOffsetForRotationThumbnail.png'
       title='Transform Center Offset For Rotation'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/TransformCenterOffsetForRotation.x3d'>
      <Viewpoint description='[33] TransformCenterOffsetForRotation.x3d (default X3D view from 0 0 10)'
         fileName='TransformCenterOffsetForRotation.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Example for Transform node' license='../license.html' modified='20 October 2019'
       name='TransformExample' subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TransformExampleThumbnail.png' title='Transform Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/Transform.x3d'>
      <Viewpoint description='[34] TransformExample.x3d Book View'
         fileName='TransformExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[35] TransformExample.x3d (default X3D view from 0 0 10)'
         fileName='TransformExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter04ViewingNavigation' title='Chapter 04 Viewing Navigation'>
    <Page created='19 June 2006' creator='Leonard Daly and Don Brutzman'
       description='Illustrates the effect of aliasing (tearing) by the coplanar overlap of two cubes with different colors.'
       license='../license.html' modified='20 October 2019' name='AliasingExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/AliasingExampleThumbnail.png' title='Aliasing Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/AliasingExample.x3d'>
      <Viewpoint description='[1] AliasingExample.x3d Book View'
         fileName='AliasingExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[2] AliasingExample.x3d (default X3D view from 0 0 10)'
         fileName='AliasingExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='21 April 2011' creator='Leonard Daly and Don Brutzman'
       description='Anchor-node examples comparing HTML page launch, shifting Viewpoints, and loading another X3D scene.'
       license='../license.html' modified='20 October 2019' name='AnchorComparison'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/AnchorComparisonThumbnail.png' title='Anchor Comparison'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/AnchorComparison.x3d'>
      <Viewpoint description='[3] AnchorComparison.x3d Front view Anchor text'
         fileName='AnchorComparison.x3d._VP_Front_view_Anchor_text.png' found='true'/>
      <Viewpoint description='[4] AnchorComparison.x3d Side view Anchor text'
         fileName='AnchorComparison.x3d._VP_Side_view_Anchor_text.png' found='true'/>
      <Viewpoint description='[5] AnchorComparison.x3d (default X3D view from 0 0 10)'
         fileName='AnchorComparison.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2005' creator='Leonard Daly, Don Brutzman and Marlon Heron'
       description='Anchor example using the Kelp Forest world.' license='../license.html'
       modified='27 July 2024' name='AnchorExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/AnchorExampleThumbnail.png' title='Anchor Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/AnchorExample.x3d'>
      <Viewpoint description='[6] AnchorExample.x3d view Anchor text'
         fileName='AnchorExample.x3d._VP_view_Anchor_text.png' found='true'/>
      <Viewpoint description='[7] AnchorExample.x3d (default X3D view from 0 0 10)'
         fileName='AnchorExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='13 June 2004' creator='Don Brutzman and Leonard Daly'
       description='Illustrates Billboard operation using Kelp Forest example scenes for Figure 4.4, X3D for Web Authors.'
       info='Contained Inline scenes each have profile Immersive' license='../license.html'
       modified='27 July 2024' name='BillboardExample' subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/BillboardExampleThumbnail.png' title='Billboard Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/BillboardExample.x3d'>
      <Viewpoint description='[8] BillboardExample.x3d Entry view from ahead, no rotations'
         fileName='BillboardExample.x3d._VP_Entry_view_from_ahead,_no_rotations.png' found='false'/>
      <Viewpoint
         description='[9] BillboardExample.x3d Observe Billboard effect text remains visible while navigating around'
         fileName='BillboardExample.x3d._VP_Observe_Billboard_effect_text_remains_visible_while_navigating_around.png'
         found='true'/>
      <Viewpoint description='[10] BillboardExample.x3d (default X3D view from 0 0 10)'
         fileName='BillboardExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='5 January 2008' creator='Don Brutzman'
       description='Illustrate Viewpoint binding operations (in gory detail!) as described in Chapter 4 concepts. Scene design: a TimeSensor clock drives and IntegerSequencer for each t0/t1/etc. event, and a customized Script node sends bind/unbind events to the correct Viewpoint. Display the browser console to see occurrence of each event.'
       license='../license.html' modified='4 August 2024' name='BindingOperations'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/BindingOperationsThumbnail.png' title='Binding Operations'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/BindingOperations.x3d'>
      <Viewpoint description='[11] BindingOperations.x3d Viewpoint 1'
         fileName='BindingOperations.x3d._VP_Viewpoint_1.png' found='true'/>
      <Viewpoint description='[12] BindingOperations.x3d Viewpoint 2'
         fileName='BindingOperations.x3d._VP_Viewpoint_2.png' found='true'/>
      <Viewpoint description='[13] BindingOperations.x3d Viewpoint 3'
         fileName='BindingOperations.x3d._VP_Viewpoint_3.png' found='true'/>
      <Viewpoint description='[14] BindingOperations.x3d Viewpoint 4'
         fileName='BindingOperations.x3d._VP_Viewpoint_4.png' found='true'/>
      <Viewpoint description='[15] BindingOperations.x3d Select animation sequence'
         fileName='BindingOperations.x3d._VP_Select_animation_sequence.png' found='true'/>
      <Viewpoint description='[16] BindingOperations.x3d (default X3D view from 0 0 10)'
         fileName='BindingOperations.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman and Leonard Daly'
       description='Illustrate Collision node operation: set Collision enabled="true" to block user navigation through the Kelp Forest tank glass.'
       info='Contained Inline scene has profile Immersive' license='../license.html'
       modified='27 July 2024' name='CollisionExample' subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/CollisionExampleThumbnail.png' title='Collision Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/CollisionExample.x3d'>
      <Viewpoint
         description='[17] CollisionExample.x3d Outside Tank, Outside Collision Geometry, Blocked'
         fileName='CollisionExample.x3d._VP_Outside_Tank,_Outside_Collision_Geometry,_Blocked.png'
         found='false'/>
      <Viewpoint
         description='[18] CollisionExample.x3d Outside Tank, Below Collision Geometry, Can Fly In'
         fileName='CollisionExample.x3d._VP_Outside_Tank,_Below_Collision_Geometry,_Can_Fly_In.png'
         found='true'/>
      <Viewpoint description='[19] CollisionExample.x3d Inside Tank'
         fileName='CollisionExample.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[20] CollisionExample.x3d (default X3D view from 0 0 10)'
         fileName='CollisionExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2005' creator='Leonard Daly'
       description='This example provides three Viewpoint nodes bound to corresponding selectable NavigationInfo nodes that override navigation modes in the Hello World example, superseding default NavigationInfo type provided in that contained Inline model. To test this model, change viewpoints and then try to navigate each time, noting the new navigation mode.'
       info='NavigationInfo nodes have their own binding stack, similar to Viewpoint nodes, meaning that they can be activated (bound) in any order, but only one can be active at a given time. Cross-connecting a custom NavigationInfo to some Viewpoints can improve user experience in larger scenes.'
       license='../license.html' modified='12 August 2025' name='NavigationInfoExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/NavigationInfoExampleThumbnail.png' title='Navigation Info Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/NavigationInfoExample.x3d'>
      <Viewpoint description='[21] NavigationInfoExample.x3d user navigation mode changed to FLY ANY'
         fileName='NavigationInfoExample.x3d._VP_user_navigation_mode_changed_to_FLY_ANY.png'
         found='false'/>
      <Viewpoint description='[22] NavigationInfoExample.x3d user navigation mode changed to EXAMINE ANY'
         fileName='NavigationInfoExample.x3d._VP_user_navigation_mode_changed_to_EXAMINE_ANY.png'
         found='false'/>
      <Viewpoint description='[23] NavigationInfoExample.x3d disable user navigation mode to NONE'
         fileName='NavigationInfoExample.x3d._VP_disable_user_navigation_mode_to_NONE.png' found='false'/>
      <Viewpoint description='[24] NavigationInfoExample.x3d (default X3D view from 0 0 10)'
         fileName='NavigationInfoExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2005' creator='Leonard Daly and Don Brutzman'
       description='Viewpoint example added to Kelp Forest world.' license='../license.html'
       modified='27 July 2024' name='ViewpointExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ViewpointExampleThumbnail.png' title='Viewpoint Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter04ViewingNavigation/ViewpointExample.x3d'
       warning='X3D profile must be Immersive, rather than Interactive, in order to set up the X3D player to properly support the contained Inline scene KelpForestMain.x3d which has profile Immersive.'>
      <Viewpoint description='[25] ViewpointExample.x3d 7 degree towards left'
         fileName='ViewpointExample.x3d._VP_7_degree_towards_left.png' found='true'/>
      <Viewpoint description='[26] ViewpointExample.x3d (default X3D view from 0 0 10)'
         fileName='ViewpointExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter05AppearanceMaterialTextures' title='Chapter 05 Appearance Material Textures'>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='This example illustrates the effect of an ambientIntensity field from a Sphere on a Cone. Note that navigation reports of user position and orientation from the WhereAmI prototype appear in the player console.'
       license='../license.html' modified='20 October 2019' name='AmbientIntensity'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/AmbientIntensityThumbnail.png' title='Ambient Intensity'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/AmbientIntensity.x3d'>
      <Viewpoint description='[1] AmbientIntensity.x3d Default Viewpoint'
         fileName='AmbientIntensity.x3d._VP_Default_Viewpoint.png' found='true'/>
      <Viewpoint description='[2] AmbientIntensity.x3d Book Viewpoint'
         fileName='AmbientIntensity.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[3] AmbientIntensity.x3d (default X3D view from 0 0 10)'
         fileName='AmbientIntensity.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='CircleFishPrototype'
       thumbnail='_thumbnails/CircleFishPrototypeThumbnail.png' title='Circle Fish Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/CircleFishPrototype.x3d'>
      <Viewpoint description='[4] CircleFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='CircleFishPTPrototype'
       thumbnail='_thumbnails/CircleFishPTPrototypeThumbnail.png' title='Circle Fish PTPrototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/CircleFishPTPrototype.x3d'>
      <Viewpoint description='[5] CircleFishPTPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPTPrototype.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='A Sphere colored only with an diffuseColor.' license='../license.html'
       modified='20 October 2019' name='DiffuseColor'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/DiffuseColorThumbnail.png' title='Diffuse Color'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/DiffuseColor.x3d'>
      <Viewpoint description='[6] DiffuseColor.x3d Material diffuseColor'
         fileName='DiffuseColor.x3d._VP_Material_diffuseColor.png' found='true'/>
      <Viewpoint description='[7] DiffuseColor.x3d (default X3D view from 0 0 10)'
         fileName='DiffuseColor.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='A Sphere colored only with an emissiveColor.' license='../license.html'
       modified='20 October 2019' name='EmissiveColor'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/EmissiveColorThumbnail.png' title='Emissive Color'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/EmissiveColor.x3d'>
      <Viewpoint description='[8] EmissiveColor.x3d Material emissiveColor'
         fileName='EmissiveColor.x3d._VP_Material_emissiveColor.png' found='true'/>
      <Viewpoint description='[9] EmissiveColor.x3d (default X3D view from 0 0 10)'
         fileName='EmissiveColor.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 August 2008' creator='Don Brutzman'
       description='Demonstrate various FillProperties values.' license='../license.html'
       modified='27 July 2024' name='FillPropertiesExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/FillPropertiesExampleThumbnail.png' title='Fill Properties Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/FillPropertiesExample.x3d'>
      <Viewpoint description='[10] FillPropertiesExample.x3d FillProperties hatchStyle examples'
         fileName='FillPropertiesExample.x3d._VP_FillProperties_hatchStyle_examples.png' found='false'/>
      <Viewpoint description='[11] FillPropertiesExample.x3d (default X3D view from 0 0 10)'
         fileName='FillPropertiesExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiating a Garibaldi fish prototype to match a specific fish.'
       license='../license.html' modified='7 April 2024' name='Garibaldi'
       thumbnail='_thumbnails/GaribaldiThumbnail.png' title='Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/Garibaldi.x3d'>
      <Viewpoint description='[12] Garibaldi.x3d Garibaldi' fileName='Garibaldi.x3d._VP_Garibaldi.png'
         found='true'/>
      <Viewpoint description='[13] Garibaldi.x3d (default X3D view from 0 0 10)'
         fileName='Garibaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiate the Garibaldi fish prototype using a local skin texture file.'
       license='../license.html' modified='20 October 2019' name='GaribaldiLocalTexture'
       thumbnail='_thumbnails/GaribaldiLocalTextureThumbnail.png' title='Garibaldi Local Texture'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/GaribaldiLocalTexture.x3d'>
      <Viewpoint description='[14] GaribaldiLocalTexture.x3d Garibaldi'
         fileName='GaribaldiLocalTexture.x3d._VP_Garibaldi.png' found='true'/>
      <Viewpoint description='[15] GaribaldiLocalTexture.x3d (default X3D view from 0 0 10)'
         fileName='GaribaldiLocalTexture.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiate the Garibaldi fish prototype using a separate skin texture image file to match a specific fish.'
       license='../license.html' modified='7 April 2024' name='GaribaldiRemote'
       thumbnail='_thumbnails/GaribaldiRemoteThumbnail.png' title='Garibaldi Remote'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/GaribaldiRemote.x3d'>
      <Viewpoint description='[16] GaribaldiRemote.x3d Garibaldi'
         fileName='GaribaldiRemote.x3d._VP_Garibaldi.png' found='true'/>
      <Viewpoint description='[17] GaribaldiRemote.x3d (default X3D view from 0 0 10)'
         fileName='GaribaldiRemote.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiate the Garibaldi fish prototype using a remote skin texture file.'
       license='../license.html' modified='20 October 2019' name='GaribaldiRemoteNoTexture'
       thumbnail='_thumbnails/GaribaldiRemoteNoTextureThumbnail.png' title='Garibaldi Remote No Texture'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/GaribaldiRemoteNoTexture.x3d'>
      <Viewpoint description='[18] GaribaldiRemoteNoTexture.x3d Garibaldi'
         fileName='GaribaldiRemoteNoTexture.x3d._VP_Garibaldi.png' found='false'/>
      <Viewpoint description='[19] GaribaldiRemoteNoTexture.x3d (default X3D view from 0 0 10)'
         fileName='GaribaldiRemoteNoTexture.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 March 2005' creator='Don Brutzman'
       description='Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere, Text, FontStyle, with ImageTexture applied'
       license='../license.html' modified='20 October 2019' name='GeometryPrimitiveNodesImageTexture'
       thumbnail='_thumbnails/GeometryPrimitiveNodesImageTextureThumbnail.png'
       title='Geometry Primitive Nodes Image Texture'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/GeometryPrimitiveNodesImageTexture.x3d'>
      <Viewpoint description='[20] GeometryPrimitiveNodesImageTexture.x3d (default X3D view from 0 0 10)'
         fileName='GeometryPrimitiveNodesImageTexture.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 August 2008' creator='Don Brutzman'
       description='Demonstrate each of the various LineProperties enumeration values.'
       license='../license.html' modified='27 July 2024' name='LinePropertiesExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/LinePropertiesExampleThumbnail.png' title='Line Properties Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/LinePropertiesExample.x3d'>
      <Viewpoint description='[21] LinePropertiesExample.x3d LineProperties linetype examples'
         fileName='LinePropertiesExample.x3d._VP_LineProperties_linetype_examples.png' found='true'/>
      <Viewpoint description='[22] LinePropertiesExample.x3d (default X3D view from 0 0 10)'
         fileName='LinePropertiesExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='21 August 2008' creator='Don Brutzman and MV3204 class'
       description='Provide examples of helpful MovieTexture usage' license='../license.html'
       modified='10 June 2021' name='MovieTextureAuthoringOptions' subject='MovieTexture examples'
       thumbnail='_thumbnails/MovieTextureAuthoringOptionsThumbnail.png'
       title='Movie Texture Authoring Options'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/MovieTextureAuthoringOptions.x3d'>
      <Viewpoint description='[23] MovieTextureAuthoringOptions.x3d MovieTexture authoring options'
         fileName='MovieTextureAuthoringOptions.x3d._VP_MovieTexture_authoring_options.png' found='true'/>
      <Viewpoint description='[24] MovieTextureAuthoringOptions.x3d Movie 1, standard definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Movie_1,_standard_definition.png' found='false'/>
      <Viewpoint
         description='[25] MovieTextureAuthoringOptions.x3d Billboarded movie 2 offset view location, standard definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Billboarded_movie_2_offset_view_location,_standard_definition.png'
         found='false'/>
      <Viewpoint
         description='[26] MovieTextureAuthoringOptions.x3d Image 3 launches movie externally, standard definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Image_3_launches_movie_externally,_standard_definition.png'
         found='false'/>
      <Viewpoint description='[27] MovieTextureAuthoringOptions.x3d Movie 4, high definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Movie_4,_high_definition.png' found='false'/>
      <Viewpoint
         description='[28] MovieTextureAuthoringOptions.x3d Billboarded movie 5 offset view location, high definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Billboarded_movie_5_offset_view_location,_high_definition.png'
         found='false'/>
      <Viewpoint
         description='[29] MovieTextureAuthoringOptions.x3d Image 6 launches movie externally, high definition'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Image_6_launches_movie_externally,_high_definition.png'
         found='false'/>
      <Viewpoint description='[30] MovieTextureAuthoringOptions.x3d (default X3D view from 0 0 10)'
         fileName='MovieTextureAuthoringOptions.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='Illustration of a checkerboard pattern using the PixelTexture node.'
       license='../license.html' modified='20 October 2019' name='PixelTextureBW'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PixelTextureBWThumbnail.png' title='Pixel Texture BW'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureBW.x3d'>
      <Viewpoint description='[31] PixelTextureBW.x3d PixelTexture checkerboard'
         fileName='PixelTextureBW.x3d._VP_PixelTexture_checkerboard.png' found='true'/>
      <Viewpoint description='[32] PixelTextureBW.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureBW.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 August 2008' creator='Leonard Daly and Don Brutzman'
       description='This example shows the five PixelTexture components, with 0 to 4 components each, shown in Table 5-18.'
       license='../license.html' modified='20 October 2019' name='PixelTextureComponentExamples'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PixelTextureComponentExamplesThumbnail.png'
       title='Pixel Texture Component Examples'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureComponentExamples.x3d'>
      <Viewpoint
         description='[33] PixelTextureComponentExamples.x3d Table 5.18 SFImage component examples'
         fileName='PixelTextureComponentExamples.x3d._VP_Table_5.18_SFImage_component_examples.png'
         found='true'/>
      <Viewpoint description='[34] PixelTextureComponentExamples.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureComponentExamples.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='This example shows a colorful PixelTexture applied to the standard primitive shapes.'
       license='../license.html' modified='27 July 2024' name='PixelTextureExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PixelTextureExampleThumbnail.png' title='Pixel Texture Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureExample.x3d'>
      <Viewpoint description='[35] PixelTextureExample.x3d Book Viewpoint'
         fileName='PixelTextureExample.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[36] PixelTextureExample.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='The Garibaldi with a PixelTexture instead of a file texture.'
       license='../license.html' modified='20 October 2019' name='PixelTextureGaribaldi'
       thumbnail='_thumbnails/PixelTextureGaribaldiThumbnail.png' title='Pixel Texture Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureGaribaldi.x3d'>
      <Viewpoint description='[37] PixelTextureGaribaldi.x3d Book View'
         fileName='PixelTextureGaribaldi.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[38] PixelTextureGaribaldi.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureGaribaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Craig Schwetje, Leonard Daly and Don Brutzman'
       description='This snowman example shows a colorful PixelTexture applied to X3D primitive shapes - happy holidays!'
       license='../license.html' modified='22 August 2024' name='PixelTextureSnowman'
       subject='PixelTexture, MIDI, X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PixelTextureSnowmanThumbnail.png' title='Pixel Texture Snowman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d'>
      <Viewpoint description='[39] PixelTextureSnowman.x3d PixelTexture Snowman'
         fileName='PixelTextureSnowman.x3d._VP_PixelTexture_Snowman.png' found='false'/>
      <Viewpoint description='[40] PixelTextureSnowman.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureSnowman.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='This example illustrates a PixelTexture with a scaled TextureTransform.'
       license='../license.html' modified='20 October 2019' name='PixelTextureTransformScale'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PixelTextureTransformScaleThumbnail.png'
       title='Pixel Texture Transform Scale'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureTransformScale.x3d'>
      <Viewpoint description='[41] PixelTextureTransformScale.x3d Book Viewpoint'
         fileName='PixelTextureTransformScale.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[42] PixelTextureTransformScale.x3d (default X3D view from 0 0 10)'
         fileName='PixelTextureTransformScale.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='A Sphere with specularColor applied over diffuseColor with default shininess.'
       license='../license.html' modified='20 October 2019' name='SpecularColor'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SpecularColorThumbnail.png' title='Specular Color'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/SpecularColor.x3d'>
      <Viewpoint description='[43] SpecularColor.x3d Material specularColor'
         fileName='SpecularColor.x3d._VP_Material_specularColor.png' found='true'/>
      <Viewpoint description='[44] SpecularColor.x3d (default X3D view from 0 0 10)'
         fileName='SpecularColor.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='18 December 2006' creator='Leonard Daly and Don Brutzman'
       description='PixelTexture example for Table 5.18' license='../license.html'
       modified='20 October 2019' name='Table5_18PixelTexture' subject='X3D, PixelTexture'
       thumbnail='_thumbnails/Table5_18PixelTextureThumbnail.png' title='Table 5 18 Pixel Texture'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/Table5_18PixelTexture'>
      <Viewpoint description='[45] Table5_18PixelTexture.x3d View All'
         fileName='Table5_18PixelTexture.x3d._VP_View_All.png' found='true'/>
      <Viewpoint description='[46] Table5_18PixelTexture.x3d Empty Image'
         fileName='Table5_18PixelTexture.x3d._VP_Empty_Image.png' found='true'/>
      <Viewpoint description='[47] Table5_18PixelTexture.x3d Black and white PixelTexture'
         fileName='Table5_18PixelTexture.x3d._VP_Black_and_white_PixelTexture.png' found='true'/>
      <Viewpoint description='[48] Table5_18PixelTexture.x3d Black and white with Alpha PixelTexture'
         fileName='Table5_18PixelTexture.x3d._VP_Black_and_white_with_Alpha_PixelTexture.png'
         found='true'/>
      <Viewpoint description='[49] Table5_18PixelTexture.x3d RGB PixelTexture'
         fileName='Table5_18PixelTexture.x3d._VP_RGB_PixelTexture.png' found='true'/>
      <Viewpoint description='[50] Table5_18PixelTexture.x3d RGB with Alpha PixelTexture'
         fileName='Table5_18PixelTexture.x3d._VP_RGB_with_Alpha_PixelTexture.png' found='true'/>
      <Viewpoint description='[51] Table5_18PixelTexture.x3d (default X3D view from 0 0 10)'
         fileName='Table5_18PixelTexture.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiate the Garibaldi fish prototype using a local texture file.'
       license='../license.html' modified='20 October 2019' name='TextureLocalGaribaldi'
       thumbnail='_thumbnails/TextureLocalGaribaldiThumbnail.png' title='Texture Local Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureLocalGaribaldi.x3d'>
      <Viewpoint description='[52] TextureLocalGaribaldi.x3d Garibaldi'
         fileName='TextureLocalGaribaldi.x3d._VP_Garibaldi.png' found='false'/>
      <Viewpoint description='[53] TextureLocalGaribaldi.x3d (default X3D view from 0 0 10)'
         fileName='TextureLocalGaribaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instantiate the Garibaldi fish prototype without a skin texture.'
       license='../license.html' modified='20 October 2019' name='TextureRemoteGaribaldi'
       thumbnail='_thumbnails/TextureRemoteGaribaldiThumbnail.png' title='Texture Remote Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureRemoteGaribaldi.x3d'>
      <Viewpoint description='[54] TextureRemoteGaribaldi.x3d Garibaldi'
         fileName='TextureRemoteGaribaldi.x3d._VP_Garibaldi.png' found='true'/>
      <Viewpoint description='[55] TextureRemoteGaribaldi.x3d (default X3D view from 0 0 10)'
         fileName='TextureRemoteGaribaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='An illustration of the same PixelTexture applied to a cone with different TextureTransform values'
       license='../license.html' modified='27 July 2024' name='TextureTransformExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextureTransformExampleThumbnail.png' title='Texture Transform Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureTransformExample.x3d'>
      <Viewpoint description='[56] TextureTransformExample.x3d Book View'
         fileName='TextureTransformExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[57] TextureTransformExample.x3d (default X3D view from 0 0 10)'
         fileName='TextureTransformExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='Two Boxes with the same PixelTexture showing different TextureTransform field values.'
       license='../license.html' modified='20 October 2019' name='TextureTransformFull'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextureTransformFullThumbnail.png' title='Texture Transform Full'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureTransformFull.x3d'>
      <Viewpoint description='[58] TextureTransformFull.x3d Book View'
         fileName='TextureTransformFull.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[59] TextureTransformFull.x3d (default X3D view from 0 0 10)'
         fileName='TextureTransformFull.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='This is an example of 2 Boxes with the same PixelTexture with different rotations, centers, and scaling.'
       license='../license.html' modified='20 October 2019' name='TextureTransformScale'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextureTransformScaleThumbnail.png' title='Texture Transform Scale'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureTransformScale.x3d'>
      <Viewpoint description='[60] TextureTransformScale.x3d Book View'
         fileName='TextureTransformScale.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[61] TextureTransformScale.x3d (default X3D view from 0 0 10)'
         fileName='TextureTransformScale.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='3 Boxes with the same PixelTexture and different TextureTransform translation values.'
       license='../license.html' modified='20 October 2019' name='TextureTransformTranslation'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextureTransformTranslationThumbnail.png'
       title='Texture Transform Translation'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TextureTransformTranslation.x3d'>
      <Viewpoint description='[62] TextureTransformTranslation.x3d Book View'
         fileName='TextureTransformTranslation.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[63] TextureTransformTranslation.x3d (default X3D view from 0 0 10)'
         fileName='TextureTransformTranslation.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 February 2006' creator='Leonard Daly and Don Brutzman'
       description='This example shows a partially transparent Sphere in front of an opaque Box and Cylinder.'
       license='../license.html' modified='20 October 2019' name='Transparency'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TransparencyThumbnail.png' title='Transparency'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/Transparency.x3d'>
      <Viewpoint description='[64] Transparency.x3d Book Viewpoint'
         fileName='Transparency.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[65] Transparency.x3d (default X3D view from 0 0 10)'
         fileName='Transparency.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='18 February 2009' creator='Don Brutzman and MV3204 class'
       description='A Sphere colored red on outside and orange on inside using TwoSidedMaterial, you can shift viewpoints to see different colors outside/inside the Sphere.'
       license='../license.html' modified='27 July 2024' name='TwoSidedMaterialExample'
       specificationSection='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, 12 Shape component, 12.4.9 TwoSidedMaterial (deprecated)'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#TwoSidedMaterial'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TwoSidedMaterialExampleThumbnail.png' title='Two Sided Material Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/TwoSidedMaterialExample.x3d'
       warning='X3D4 Architecture has deprecated TwoSidedMaterial, preferring use of child backMaterial node in parent Appearance.'>
      <Viewpoint description='[66] TwoSidedMaterialExample.x3d Outside, front face material'
         fileName='TwoSidedMaterialExample.x3d._VP_Outside,_front_face_material.png' found='true'/>
      <Viewpoint description='[67] TwoSidedMaterialExample.x3d Inside, back face material'
         fileName='TwoSidedMaterialExample.x3d._VP_Inside,_back_face_material.png' found='true'/>
      <Viewpoint description='[68] TwoSidedMaterialExample.x3d Above, looking down on two shapes'
         fileName='TwoSidedMaterialExample.x3d._VP_Above,_looking_down_on_two_shapes.png' found='true'/>
      <Viewpoint description='[69] TwoSidedMaterialExample.x3d (default X3D view from 0 0 10)'
         fileName='TwoSidedMaterialExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter06GeometryPointsLinesPolygons'
     title='Chapter 06 Geometry Points Lines Polygons'>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Vertex color applied to IndexedFaceSet built positive-displacement cylinder pump house. Note that this scene is not really static because the PositionInterpolators contain an initial offest of the piston and rocker arm.'
       license='../license.html' modified='27 July 2024' name='ColorExample'
       thumbnail='_thumbnails/ColorExampleThumbnail.png' title='Color Example'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ColorExample.x3d'>
      <Viewpoint description='[1] ColorExample.x3d Book View'
         fileName='ColorExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[2] ColorExample.x3d (default X3D view from 0 0 10)'
         fileName='ColorExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page TODO='Xj3D rendering problems' created='5 September 2005' creator='Don Brutzman'
       description='Geometry Polygons Nodes: Color, Coordinate, IndexedFaceSet, IndexedLineSet, PointSet'
       license='../license.html' modified='11 May 2021' name='ColorPerVertexExamples'
       thumbnail='_thumbnails/ColorPerVertexExamplesThumbnail.png' title='Color Per Vertex Examples'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ColorPerVertexExamples.x3d'>
      <Viewpoint description='[3] ColorPerVertexExamples.x3d ColorPerVertex Examples'
         fileName='ColorPerVertexExamples.x3d._VP_ColorPerVertex_Examples.png' found='true'/>
      <Viewpoint description='[4] ColorPerVertexExamples.x3d (default X3D view from 0 0 10)'
         fileName='ColorPerVertexExamples.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='28 August 2005' creator='Don Brutzman'
       description='Show how a single nonplanar quadrilateral can be tesselated in 2 different ways.'
       license='../license.html' modified='20 October 2019' name='ElevationGridNonPlanarQuadrilaterals'
       thumbnail='_thumbnails/ElevationGridNonPlanarQuadrilateralsThumbnail.png'
       title='Elevation Grid Non Planar Quadrilaterals'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ElevationGridNonPlanarQuadrilaterals.x3d'>
      <Viewpoint description='[5] ElevationGridNonPlanarQuadrilaterals.x3d Book View'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint
         description='[6] ElevationGridNonPlanarQuadrilaterals.x3d ElevationGrid tessellation examples'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_ElevationGrid_tessellation_examples.png'
         found='true'/>
      <Viewpoint
         description='[7] ElevationGridNonPlanarQuadrilaterals.x3d Default brower ElevationGrid tessellation, front view'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Default_brower_ElevationGrid_tessellation,_front_view.png'
         found='true'/>
      <Viewpoint
         description='[8] ElevationGridNonPlanarQuadrilaterals.x3d Default brower ElevationGrid tessellation, back view'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Default_brower_ElevationGrid_tessellation,_back_view.png'
         found='true'/>
      <Viewpoint description='[9] ElevationGridNonPlanarQuadrilaterals.x3d Center-diagonal tessellation'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Center-diagonal_tessellation.png'
         found='true'/>
      <Viewpoint description='[10] ElevationGridNonPlanarQuadrilaterals.x3d Cross-diagonal tessellation'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Cross-diagonal_tessellation.png'
         found='true'/>
      <Viewpoint description='[11] ElevationGridNonPlanarQuadrilaterals.x3d (default X3D view)'
         fileName='ElevationGridNonPlanarQuadrilaterals.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page TODO='Multiple Extrusion property fields not yet supported.' created='23 October 2017'
       creator='Sungmin Kwon'
       description='Shape prototype for Enclosing IndexedTriangleStripSet that also draws spine line plus oriented, scaled cross sections at each spine point.'
       hint='Utilize ExtrusionCrossSectionITSS ProtoInstance as if it is a Shape node (with containerField="children") rather than an Extrusion node (with containerField="geometry") under a Shape.'
       license='../license.html' modified='14 July 2025' name='ExtrusionCrossSectionITSSPrototype'
       thumbnail='_thumbnails/ExtrusionCrossSectionITSSPrototypeThumbnail.png'
       title='Extrusion Cross Section ITSSPrototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionCrossSectionITSSPrototype.x3d'>
      <Viewpoint description='[12] ExtrusionCrossSectionITSSPrototype.x3d (default X3D view from 0 0 10)'
         fileName='ExtrusionCrossSectionITSSPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 November 2000' creator='Don Brutzman'
       description='Shape prototype for Extrusion node that also draws spine line plus oriented, scaled cross sections at each spine point.'
       hint='Utilize ExtrusionCrossSection ProtoInstance as if it is a Shape node (with containerField="children") rather than an Extrusion node (with containerField="geometry") under a Shape.'
       license='../license.html' modified='20 January 2024' name='ExtrusionCrossSectionPrototype'
       thumbnail='_thumbnails/ExtrusionCrossSectionPrototypeThumbnail.png'
       title='Extrusion Cross Section Prototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionCrossSectionPrototype.x3d'>
      <Viewpoint description='[13] ExtrusionCrossSectionPrototype.x3d (default X3D view from 0 0 10)'
         fileName='ExtrusionCrossSectionPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='3 September 2005' creator='Don Brutzman'
       description='Simple regular pentagon extruded vertically, shown side-by-side with an ExtrusionCrossSection visualization.'
       license='../license.html' modified='20 January 2024' name='ExtrusionPentagon'
       subject='Extrusion pentagon' thumbnail='_thumbnails/ExtrusionPentagonThumbnail.png'
       title='Extrusion Pentagon'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionPentagon.x3d'>
      <Viewpoint description='[14] ExtrusionPentagon.x3d Extrusion Pentagon'
         fileName='ExtrusionPentagon.x3d._VP_Extrusion_Pentagon.png' found='true'/>
      <Viewpoint description='[15] ExtrusionPentagon.x3d Oblique view from above'
         fileName='ExtrusionPentagon.x3d._VP_Oblique_view_from_above.png' found='true'/>
      <Viewpoint description='[16] ExtrusionPentagon.x3d Overhead view'
         fileName='ExtrusionPentagon.x3d._VP_Overhead_view.png' found='true'/>
      <Viewpoint description='[17] ExtrusionPentagon.x3d (default X3D view from 0 0 10)'
         fileName='ExtrusionPentagon.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='23 October 2017' creator='Don Brutzman and Sungmin Kwon'
       description='Comparison of Extrusion, ExtrusionCrossSectionPrototype, ExtrusionCrossSectionITSSPrototype.'
       license='../license.html' modified='20 January 2024' name='ExtrusionPentagonCrossSectionItss'
       subject='Extrusion, ExtrusionCrossSectionPrototype, ExtrusionCrossSectionITSSPrototype'
       thumbnail='_thumbnails/ExtrusionPentagonCrossSectionItssThumbnail.png'
       title='Extrusion Pentagon Cross Section Itss'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionPentagonCrossSectionItss.x3d'>
      <Viewpoint description='[18] ExtrusionPentagonCrossSectionItss.x3d Oblique view from above'
         fileName='ExtrusionPentagonCrossSectionItss.x3d._VP_Oblique_view_from_above.png' found='true'/>
      <Viewpoint description='[19] ExtrusionPentagonCrossSectionItss.x3d Extrusion Pentagon'
         fileName='ExtrusionPentagonCrossSectionItss.x3d._VP_Extrusion_Pentagon.png' found='true'/>
      <Viewpoint description='[20] ExtrusionPentagonCrossSectionItss.x3d Overhead view'
         fileName='ExtrusionPentagonCrossSectionItss.x3d._VP_Overhead_view.png' found='true'/>
      <Viewpoint description='[21] ExtrusionPentagonCrossSectionItss.x3d (default X3D view from 0 0 10)'
         fileName='ExtrusionPentagonCrossSectionItss.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='23 October 2017' creator='Don Brutzman and Sungmin Kwon'
       description='Comparison of Extrusion, ExtrusionCrossSectionPrototype, ExtrusionCrossSectionITSSPrototype for Texture Mapping.'
       license='../license.html' modified='20 January 2024'
       name='ExtrusionPentagonCrossSectionItssTexture'
       subject='Extrusion, ExtrusionCrossSectionPrototype, ExtrusionCrossSectionITSSPrototype with Textrue Image'
       thumbnail='_thumbnails/ExtrusionPentagonCrossSectionItssTextureThumbnail.png'
       title='Extrusion Pentagon Cross Section Itss Texture'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionPentagonCrossSectionItssTexture.x3d'>
      <Viewpoint description='[22] ExtrusionPentagonCrossSectionItssTexture.x3d Oblique view from above'
         fileName='ExtrusionPentagonCrossSectionItssTexture.x3d._VP_Oblique_view_from_above.png'
         found='true'/>
      <Viewpoint description='[23] ExtrusionPentagonCrossSectionItssTexture.x3d Extrusion Pentagon'
         fileName='ExtrusionPentagonCrossSectionItssTexture.x3d._VP_Extrusion_Pentagon.png' found='true'/>
      <Viewpoint description='[24] ExtrusionPentagonCrossSectionItssTexture.x3d Overhead view'
         fileName='ExtrusionPentagonCrossSectionItssTexture.x3d._VP_Overhead_view.png' found='true'/>
      <Viewpoint description='[25] ExtrusionPentagonCrossSectionItssTexture.x3d (default X3D view)'
         fileName='ExtrusionPentagonCrossSectionItssTexture.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='3 September 2005' creator='Don Brutzman'
       description='Wall definition for a room, defined as a cross section and extruded vertically.'
       license='../license.html' modified='20 January 2024' name='ExtrusionRoomWalls'
       subject='Extrusion example' thumbnail='_thumbnails/ExtrusionRoomWallsThumbnail.png'
       title='Extrusion Room Walls'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ExtrusionRoomWalls.x3d'>
      <Viewpoint description='[26] ExtrusionRoomWalls.x3d Extrusion Room Walls'
         fileName='ExtrusionRoomWalls.x3d._VP_Extrusion_Room_Walls.png' found='true'/>
      <Viewpoint description='[27] ExtrusionRoomWalls.x3d Oblique view from above'
         fileName='ExtrusionRoomWalls.x3d._VP_Oblique_view_from_above.png' found='true'/>
      <Viewpoint description='[28] ExtrusionRoomWalls.x3d Overhead view'
         fileName='ExtrusionRoomWalls.x3d._VP_Overhead_view.png' found='true'/>
      <Viewpoint description='[29] ExtrusionRoomWalls.x3d (default X3D view from 0 0 10)'
         fileName='ExtrusionRoomWalls.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Positive-displacement cylinder pump house built using IndexedFaceSet nodes.'
       license='../license.html' modified='27 July 2024' name='IndexedFaceSetExample'
       thumbnail='_thumbnails/IndexedFaceSetExampleThumbnail.png' title='Indexed Face Set Example'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/IndexedFaceSetExample.x3d'>
      <Viewpoint description='[30] IndexedFaceSetExample.x3d Book View'
         fileName='IndexedFaceSetExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[31] IndexedFaceSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedFaceSetExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='The way points and path of the animated shark Lucy traversing the tank, using IndexedLineSet node.'
       license='../license.html' modified='27 July 2024' name='IndexedLineSetExample'
       thumbnail='_thumbnails/IndexedLineSetExampleThumbnail.png' title='Indexed Line Set Example'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/IndexedLineSetExample.x3d'>
      <Viewpoint description='[32] IndexedLineSetExample.x3d Book View'
         fileName='IndexedLineSetExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[33] IndexedLineSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedLineSetExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 September 2008' creator='Don Brutzman'
       description='A simple wireframe cube, comparing two functionally equivalent nodes: IndexedLineSet (per-vertex coloring) with LineSet (per-segment coloring). Keeping track of how each node "connects the dots" is simply a book-keeping problem.'
       license='../license.html' modified='20 October 2019' name='LineSetComparison'
       thumbnail='_thumbnails/LineSetComparisonThumbnail.png' title='Line Set Comparison'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/LineSetComparison.x3d'>
      <Viewpoint
         description='[34] LineSetComparison.x3d 8m away - note linewidth is unchanged and perspective is ambiguous'
         fileName='LineSetComparison.x3d._VP_8m_away_-_note_linewidth_is_unchanged_and_perspective_is_ambiguous.png'
         found='true'/>
      <Viewpoint
         description='[35] LineSetComparison.x3d 15m away - note linewidth is unchanged and perspective is ambiguous'
         fileName='LineSetComparison.x3d._VP_15m_away_-_note_linewidth_is_unchanged_and_perspective_is_ambiguous.png'
         found='true'/>
      <Viewpoint description='[36] LineSetComparison.x3d IndexedLineSet cube close up'
         fileName='LineSetComparison.x3d._VP_IndexedLineSet_cube_close_up.png' found='true'/>
      <Viewpoint description='[37] LineSetComparison.x3d LineSet cube close up'
         fileName='LineSetComparison.x3d._VP_LineSet_cube_close_up.png' found='true'/>
      <Viewpoint description='[38] LineSetComparison.x3d (default X3D view from 0 0 10)'
         fileName='LineSetComparison.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='The way points and path of the animated shark Lucy traversing the tank, using LineSet node.'
       license='../license.html' modified='27 July 2024' name='LineSetExample'
       thumbnail='_thumbnails/LineSetExampleThumbnail.png' title='Line Set Example'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/LineSetExample.x3d'>
      <Viewpoint description='[39] LineSetExample.x3d Book View'
         fileName='LineSetExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[40] LineSetExample.x3d (default X3D view from 0 0 10)'
         fileName='LineSetExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 June 2020' creator='Tim McLean'
       description='Way points for the animated shark Lucy traversing the tank.'
       license='../license.html' modified='14 July 2025' name='PointSetExample'
       thumbnail='_thumbnails/PointSetExampleThumbnail.png' title='Point Set Example'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/PointSetExample.x3d'>
      <Viewpoint description='[41] PointSetExample.x3d Book View'
         fileName='PointSetExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[42] PointSetExample.x3d (default X3D view from 0 0 10)'
         fileName='PointSetExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='26 February 2007' creator='Leonard Daly and Don Brutzman'
       description='Extrusion of X3D book used for x3dGraphics.com website logo'
       license='../license.html' modified='20 October 2019' name='X3dBookWebsiteLogo'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/X3dBookWebsiteLogoThumbnail.png' title=' X3D Book Website Logo'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/X3dBookWebsiteLogo.x3d'>
      <Viewpoint description='[43] X3dBookWebsiteLogo.x3d front view'
         fileName='X3dBookWebsiteLogo.x3d._VP_front_view.png' found='true'/>
      <Viewpoint description='[44] X3dBookWebsiteLogo.x3d bottom view'
         fileName='X3dBookWebsiteLogo.x3d._VP_bottom_view.png' found='true'/>
      <Viewpoint description='[45] X3dBookWebsiteLogo.x3d (default X3D view from 0 0 10)'
         fileName='X3dBookWebsiteLogo.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter07EventAnimationInterpolation'
     title='Chapter 07 Event Animation Interpolation'>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Run-time modification of a fishes position using PositionInterpolator.'
       license='../license.html' modified='20 October 2019' name='CircleFishPositionInterpolator'
       thumbnail='_thumbnails/CircleFishPositionInterpolatorThumbnail.png'
       title='Circle Fish Position Interpolator'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/CircleFishPositionInterpolator.x3d'>
      <Viewpoint description='[1] CircleFishPositionInterpolator.x3d Book View'
         fileName='CircleFishPositionInterpolator.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[2] CircleFishPositionInterpolator.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPositionInterpolator.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='CircleFishPrototype'
       thumbnail='_thumbnails/CircleFishPrototypeThumbnail.png' title='Circle Fish Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/CircleFishPrototype.x3d'>
      <Viewpoint description='[3] CircleFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='CircleFishPTPrototype'
       thumbnail='_thumbnails/CircleFishPTPrototypeThumbnail.png' title='Circle Fish PTPrototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/CircleFishPTPrototype.x3d'>
      <Viewpoint description='[4] CircleFishPTPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPTPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='17 April 2005' creator='Don Brutzman'
       description='Demonstrate basic design pattern for animating a node.' license='../license.html'
       modified='20 October 2019' name='ColorInterpolatorExample' subject='Animation ColorInterpolator'
       thumbnail='_thumbnails/ColorInterpolatorExampleThumbnail.png' title='Color Interpolator Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/ColorInterpolatorExample.x3d'>
      <Viewpoint description='[5] ColorInterpolatorExample.x3d (default X3D view from 0 0 10)'
         fileName='ColorInterpolatorExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='ColorInterpolatorFishPrototype'
       thumbnail='_thumbnails/ColorInterpolatorFishPrototypeThumbnail.png'
       title='Color Interpolator Fish Prototype' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/ColorInterpolatorFishPrototype.x3d'>
      <Viewpoint description='[6] ColorInterpolatorFishPrototype.x3d CircleFish with ColorInterpolator'
         fileName='ColorInterpolatorFishPrototype.x3d._VP_CircleFish_with_ColorInterpolator.png'
         found='true'/>
      <Viewpoint description='[7] ColorInterpolatorFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='ColorInterpolatorFishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='9 October 2001' creator='Don Brutzman, Jeff Weekley, Jane Wu'
       description='Example to interpolate using CoordinateInterpolator2D - select and hold geometry for a user-controlled animation loop.'
       license='../license.html' modified='31 August 2023' name='CoordinateInterpolator2dExample'
       subject='CoordinateInterpolator2D'
       thumbnail='_thumbnails/CoordinateInterpolator2dExampleThumbnail.png'
       title='Coordinate Interpolator 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/CoordinateInterpolator2dExample.x3d'>
      <Viewpoint description='[8] CoordinateInterpolator2dExample.x3d Click to activate animation'
         fileName='CoordinateInterpolator2dExample.x3d._VP_Click_to_activate_animation.png' found='true'/>
      <Viewpoint description='[9] CoordinateInterpolator2dExample.x3d (default X3D view from 0 0 10)'
         fileName='CoordinateInterpolator2dExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 August 2007' creator='Chris Lang'
       description='Morph coordinates for smooth animation between 3 different dolphin poses using CoordinateInterpolator.'
       license='../license.html' modified='2 March 2026' name='DolphinMorpher'
       thumbnail='_thumbnails/DolphinMorpherThumbnail.png' title='Dolphin Morpher'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/DolphinMorpher.x3d'>
      <Viewpoint description='[10] DolphinMorpher.x3d Dolphin morpher, 2m away'
         fileName='DolphinMorpher.x3d._VP_Dolphin_morpher,_2m_away.png' found='false'/>
      <Viewpoint description='[11] DolphinMorpher.x3d (default X3D view from 0 0 10)'
         fileName='DolphinMorpher.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 August 2007' creator='Chris Lang'
       description='First pose for bottlenose dolphin is neutral position, exported from Maya with values used in DolphinMorpher.'
       license='../license.html' modified='2 March 2026' name='DolphinPose01'
       thumbnail='_thumbnails/DolphinPose01Thumbnail.png' title='Dolphin Pose 01'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/DolphinPose01.x3d'>
      <Viewpoint description='[12] DolphinPose01.x3d Dolphin at 2m'
         fileName='DolphinPose01.x3d._VP_Dolphin_at_2m.png' found='true'/>
      <Viewpoint description='[13] DolphinPose01.x3d (default X3D view from 0 0 10)'
         fileName='DolphinPose01.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 August 2007' creator='Chris Lang'
       description='Second pose for bottlenose dolphin is curved upward, exported from Maya with values used in DolphinMorpher.'
       license='../license.html' modified='2 March 2026' name='DolphinPose02'
       thumbnail='_thumbnails/DolphinPose02Thumbnail.png' title='Dolphin Pose 02'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/DolphinPose02.x3d'>
      <Viewpoint description='[14] DolphinPose02.x3d Dolphin at 2m'
         fileName='DolphinPose02.x3d._VP_Dolphin_at_2m.png' found='true'/>
      <Viewpoint description='[15] DolphinPose02.x3d (default X3D view from 0 0 10)'
         fileName='DolphinPose02.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 August 2007' creator='Chris Lang'
       description='Third pose for bottlenose dolphin is curved downward, exported from Maya with values used in DolphinMorpher.'
       license='../license.html' modified='2 March 2026' name='DolphinPose03'
       thumbnail='_thumbnails/DolphinPose03Thumbnail.png' title='Dolphin Pose 03'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/DolphinPose03.x3d'>
      <Viewpoint description='[16] DolphinPose03.x3d Dolphin at 2m'
         fileName='DolphinPose03.x3d._VP_Dolphin_at_2m.png' found='true'/>
      <Viewpoint description='[17] DolphinPose03.x3d (default X3D view from 0 0 10)'
         fileName='DolphinPose03.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 August 2007' creator='Chris Lang'
       description='Switch animation among three different dolphin poses in a freeze-frame style.'
       license='../license.html' modified='2 March 2026' name='DolphinSwitcher'
       thumbnail='_thumbnails/DolphinSwitcherThumbnail.png' title='Dolphin Switcher'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/DolphinSwitcher.x3d'>
      <Viewpoint description='[18] DolphinSwitcher.x3d Dolphin switcher, 2m away'
         fileName='DolphinSwitcher.x3d._VP_Dolphin_switcher,_2m_away.png' found='true'/>
      <Viewpoint description='[19] DolphinSwitcher.x3d (default X3D view from 0 0 10)'
         fileName='DolphinSwitcher.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='The basic, unanimated Garibaldi fish.' license='../license.html'
       modified='21 July 2025' name='Garibaldi' thumbnail='_thumbnails/GaribaldiThumbnail.png'
       title='Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/Garibaldi.x3d'>
      <Viewpoint description='[20] Garibaldi.x3d Garibaldi' fileName='Garibaldi.x3d._VP_Garibaldi.png'
         found='true'/>
      <Viewpoint description='[21] Garibaldi.x3d (default X3D view from 0 0 10)'
         fileName='Garibaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='5 October 2000' creator='Don Brutzman'
       description='Fully developed animation-chain example showing spinning globe and text: Hello!'
       license='../license.html' modified='7 September 2024' name='HelloX3dAuthorsAnimationChain'
       thumbnail='_thumbnails/HelloX3dAuthorsAnimationChainThumbnail.png'
       title='Hello X3D Authors Animation Chain'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/HelloX3dAuthorsAnimationChain.x3d'>
      <Viewpoint description='[22] HelloX3dAuthorsAnimationChain.x3d Hello, world'
         fileName='HelloX3dAuthorsAnimationChain.x3d._VP_Hello,_world.png' found='true'/>
      <Viewpoint description='[23] HelloX3dAuthorsAnimationChain.x3d (default X3D view from 0 0 10)'
         fileName='HelloX3dAuthorsAnimationChain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='Reusable prototype for a swimming CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis). Wait for it to swim onto the display!'
       license='../license.html' modified='17 January 2025' name='MotionInterpolatorFishPrototype'
       thumbnail='_thumbnails/MotionInterpolatorFishPrototypeThumbnail.png'
       title='Motion Interpolator Fish Prototype' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/MotionInterpolatorFishPrototype.x3d'>
      <Viewpoint description='[24] MotionInterpolatorFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='MotionInterpolatorFishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='3 May 2008' creator='Don Brutzman'
       description='Example normal (perpendicular vector) animation, where orange vectors show normal direction at each polygon vertex.'
       license='../license.html' modified='25 August 2023' name='NormalInterpolatorExample'
       subject='X3D NormalInterpolator example'
       thumbnail='_thumbnails/NormalInterpolatorExampleThumbnail.png'
       title='Normal Interpolator Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/NormalInterpolatorExample.x3d'>
      <Viewpoint
         description='[25] NormalInterpolatorExample.x3d Animating normals on right vertices of a quadrilateral'
         fileName='NormalInterpolatorExample.x3d._VP_Animating_normals_on_right_vertices_of_a_quadrilateral.png'
         found='true'/>
      <Viewpoint
         description='[26] NormalInterpolatorExample.x3d Other side - note difference in animated shading'
         fileName='NormalInterpolatorExample.x3d._VP_Other_side_-_note_difference_in_animated_shading.png'
         found='true'/>
      <Viewpoint description='[27] NormalInterpolatorExample.x3d (default X3D view from 0 0 10)'
         fileName='NormalInterpolatorExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Run-time modification of fishes position and orientation using PositionInterpolator and OrientationInterpolator.'
       license='../license.html' modified='20 October 2019' name='OrientationInterpolatorFishExample'
       thumbnail='_thumbnails/OrientationInterpolatorFishExampleThumbnail.png'
       title='Orientation Interpolator Fish Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/OrientationInterpolatorFishExample.x3d'>
      <Viewpoint description='[28] OrientationInterpolatorFishExample.x3d Book View'
         fileName='OrientationInterpolatorFishExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[29] OrientationInterpolatorFishExample.x3d (default X3D view from 0 0 10)'
         fileName='OrientationInterpolatorFishExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='OrientationInterpolatorFishPrototype'
       thumbnail='_thumbnails/OrientationInterpolatorFishPrototypeThumbnail.png'
       title='Orientation Interpolator Fish Prototype' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/OrientationInterpolatorFishPrototype.x3d'>
      <Viewpoint description='[30] OrientationInterpolatorFishPrototype.x3d (default X3D view)'
         fileName='OrientationInterpolatorFishPrototype.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='16 October 2001' creator='Don Brutzman'
       description='Interpolation example using PositionInterpolator2D, user can touch (select) the geometry to activate an animation loop that rescales the image texture superimposed on the geometry.'
       license='../license.html' modified='14 June 2020' name='PositionInterpolator2dExample'
       subject='PositionInterpolator2D'
       thumbnail='_thumbnails/PositionInterpolator2dExampleThumbnail.png'
       title='Position Interpolator 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/PositionInterpolator2dExample.x3d'>
      <Viewpoint description='[31] PositionInterpolator2dExample.x3d Click to activate animation'
         fileName='PositionInterpolator2dExample.x3d._VP_Click_to_activate_animation.png' found='true'/>
      <Viewpoint description='[32] PositionInterpolator2dExample.x3d (default X3D view from 0 0 10)'
         fileName='PositionInterpolator2dExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='PositionInterpolatorPrototype'
       thumbnail='_thumbnails/PositionInterpolatorPrototypeThumbnail.png'
       title='Position Interpolator Prototype' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/PositionInterpolatorPrototype.x3d'>
      <Viewpoint description='[33] PositionInterpolatorPrototype.x3d (default X3D view from 0 0 10)'
         fileName='PositionInterpolatorPrototype.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='29 January 2008' creator='Don Brutzman'
       description='Demonstrate use of PositionInterpolator and OrientationInterpolator to animate object motion.'
       license='../license.html' modified='2 March 2026' name='PositionOrientationInterpolatorsExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PositionOrientationInterpolatorsExampleThumbnail.png'
       title='Position Orientation Interpolators Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/PositionOrientationInterpolatorsExample.x3d'>
      <Viewpoint description='[34] PositionOrientationInterpolatorsExample.x3d Animation demo'
         fileName='PositionOrientationInterpolatorsExample.x3d._VP_Animation_demo.png' found='false'/>
      <Viewpoint description='[35] PositionOrientationInterpolatorsExample.x3d View from above'
         fileName='PositionOrientationInterpolatorsExample.x3d._VP_View_from_above.png' found='true'/>
      <Viewpoint description='[36] PositionOrientationInterpolatorsExample.x3d (default X3D view)'
         fileName='PositionOrientationInterpolatorsExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='5 August 2011' creator='Don Brutzman'
       description='Demonstrate use of PositionInterpolator and OrientationInterpolator to animate object motion, with console output tracing added for PositionInterpolator and ROUTE events.'
       license='../license.html' modified='2 March 2026'
       name='PositionOrientationInterpolatorsExampleTraced'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PositionOrientationInterpolatorsExampleTracedThumbnail.png'
       title='Position Orientation Interpolators Example Traced'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/PositionOrientationInterpolatorsExampleTraced.x3d'>
      <Viewpoint description='[37] PositionOrientationInterpolatorsExampleTraced.x3d Animation demo'
         fileName='PositionOrientationInterpolatorsExampleTraced.x3d._VP_Animation_demo.png'
         found='false'/>
      <Viewpoint description='[38] PositionOrientationInterpolatorsExampleTraced.x3d View from above'
         fileName='PositionOrientationInterpolatorsExampleTraced.x3d._VP_View_from_above.png'
         found='true'/>
      <Viewpoint description='[39] PositionOrientationInterpolatorsExampleTraced.x3d (default X3D view)'
         fileName='PositionOrientationInterpolatorsExampleTraced.x3d._VP_Default_viewpoint.png'
         found='true'/>
    </Page>
    <Page created='28 January 2008' creator='Don Brutzman'
       description='Demonstrate use of ScalarInterpolator to animate transparency.'
       license='../license.html' modified='25 August 2023' name='ScalarInterpolatorExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ScalarInterpolatorExampleThumbnail.png'
       title='Scalar Interpolator Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/ScalarInterpolatorExample.x3d'>
      <Viewpoint description='[40] ScalarInterpolatorExample.x3d (default X3D view from 0 0 10)'
         fileName='ScalarInterpolatorExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Run-time changing of a scalar property: Material transparency.'
       license='../license.html' modified='1 April 2020' name='ScalarInterpolatorFishExample'
       thumbnail='_thumbnails/ScalarInterpolatorFishExampleThumbnail.png'
       title='Scalar Interpolator Fish Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/ScalarInterpolatorFishExample.x3d'>
      <Viewpoint description='[41] ScalarInterpolatorFishExample.x3d Book View'
         fileName='ScalarInterpolatorFishExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[42] ScalarInterpolatorFishExample.x3d (default X3D view from 0 0 10)'
         fileName='ScalarInterpolatorFishExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='ScalarInterpolatorFishPrototype'
       thumbnail='_thumbnails/ScalarInterpolatorFishPrototypeThumbnail.png'
       title='Scalar Interpolator Fish Prototype' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/ScalarInterpolatorFishPrototype.x3d'>
      <Viewpoint description='[43] ScalarInterpolatorFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='ScalarInterpolatorFishPrototype.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='2 September 2009' creator='Don Brutzman and MV3204 class'
       description='Connecting TimeSensor nodes so that the completion of one behavior chain triggers another.'
       license='../license.html' modified='27 August 2023' name='TimeSensorChaining'
       thumbnail='_thumbnails/TimeSensorChainingThumbnail.png' title='Time Sensor Chaining'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation/TimeSensorChaining.x3d'
       warning='under development'>
      <Viewpoint description='[44] TimeSensorChaining.x3d TimeSensor chaining example'
         fileName='TimeSensorChaining.x3d._VP_TimeSensor_chaining_example.png' found='true'/>
      <Viewpoint description='[45] TimeSensorChaining.x3d (default X3D view from 0 0 10)'
         fileName='TimeSensorChaining.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter08UserInteractivity' title='Chapter 08 User Interactivity'>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A CylinderSensor changes the viewing position of a positive-displacement cylinder pump house.'
       license='../license.html' modified='20 October 2019' name='CylinderSensorPumpHouse'
       thumbnail='_thumbnails/CylinderSensorPumpHouseThumbnail.png' title='Cylinder Sensor Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/CylinderSensorPumpHouse.x3d'>
      <Viewpoint description='[1] CylinderSensorPumpHouse.x3d Adjustible Viewpoint'
         fileName='CylinderSensorPumpHouse.x3d._VP_Adjustible_Viewpoint.png' found='true'/>
      <Viewpoint description='[2] CylinderSensorPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='CylinderSensorPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='6 June 2006' creator='Leonard Daly and Don Brutzman'
       description='Two doors activated by different fields from a TouchSensor node.'
       license='../license.html' modified='20 October 2019' name='Doors'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/DoorsThumbnail.png' title='Doors'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/Doors.x3d'>
      <Viewpoint description='[3] Doors.x3d Initial default' fileName='Doors.x3d._VP_Initial_default.png'
         found='true'/>
      <Viewpoint description='[4] Doors.x3d Book View' fileName='Doors.x3d._VP_Book_View.png'
         found='true'/>
      <Viewpoint description='[5] Doors.x3d (default X3D view from 0 0 10)'
         fileName='Doors.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 June 2006' creator='Leonard Daly and Don Brutzman'
       description='A KeySensor is used to change relative Viewpoints looking at the shark Lefty, while a SphereSensor can also rotate Lefty in place.'
       license='../license.html' modified='20 October 2019' name='KeySensorLefty'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/KeySensorLeftyThumbnail.png' title='Key Sensor Lefty'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/KeySensorLefty.x3d'>
      <Viewpoint description='[6] KeySensorLefty.x3d Lefty from the Right'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_the_Right.png' found='false'/>
      <Viewpoint description='[7] KeySensorLefty.x3d Lefty from the Front'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_the_Front.png' found='true'/>
      <Viewpoint description='[8] KeySensorLefty.x3d Lefty from the Left'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_the_Left.png' found='true'/>
      <Viewpoint description='[9] KeySensorLefty.x3d Lefty from Behind'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_Behind.png' found='true'/>
      <Viewpoint description='[10] KeySensorLefty.x3d Lefty from the Top'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_the_Top.png' found='true'/>
      <Viewpoint description='[11] KeySensorLefty.x3d Lefty from the Bottom'
         fileName='KeySensorLefty.x3d._VP_Lefty_from_the_Bottom.png' found='true'/>
      <Viewpoint description='[12] KeySensorLefty.x3d (default X3D view from 0 0 10)'
         fileName='KeySensorLefty.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='PlaneSensor on the red handle controls the overall movement of a positive-displacement cylinder pump.'
       license='../license.html' modified='20 October 2019' name='PlaneSensorPumpHouse'
       thumbnail='_thumbnails/PlaneSensorPumpHouseThumbnail.png' title='Plane Sensor Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/PlaneSensorPumpHouse.x3d'>
      <Viewpoint description='[13] PlaneSensorPumpHouse.x3d Book Viewpoint'
         fileName='PlaneSensorPumpHouse.x3d._VP_Book_Viewpoint.png' found='false'/>
      <Viewpoint description='[14] PlaneSensorPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='PlaneSensorPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 June 2006' creator='Leonard Daly and Don Brutzman'
       description='Using a separate SphereSensor, Lefty shark can be oriented in any direction by remote control. Navigation locked so that no other scene rotation is possible.'
       license='../license.html' modified='20 October 2019' name='SphereSensorLefty'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SphereSensorLeftyThumbnail.png' title='Sphere Sensor Lefty'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/SphereSensorLefty.x3d'
       warning='Xj3D not supporting SphereSensor autoOffset field correctly'>
      <Viewpoint description='[15] SphereSensorLefty.x3d Book View'
         fileName='SphereSensorLefty.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[16] SphereSensorLefty.x3d (default X3D view from 0 0 10)'
         fileName='SphereSensorLefty.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='7 June 2006' creator='Leonard Daly and Don Brutzman'
       description='A StringSensor example that displays typed text in the world.'
       license='../license.html' modified='25 August 2023' name='StringSensorExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/StringSensorExampleThumbnail.png' title='String Sensor Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/StringSensorExample.x3d'>
      <Viewpoint description='[17] StringSensorExample.x3d Book View'
         fileName='StringSensorExample.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[18] StringSensorExample.x3d (default X3D view from 0 0 10)'
         fileName='StringSensorExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='TouchSensor activated positive-displacement cylinder pump house.'
       license='../license.html' modified='20 October 2019' name='TouchSensorPumpHouse'
       thumbnail='_thumbnails/TouchSensorPumpHouseThumbnail.png' title='Touch Sensor Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/TouchSensorPumpHouse.x3d'>
      <Viewpoint description='[19] TouchSensorPumpHouse.x3d Book Viewpoint'
         fileName='TouchSensorPumpHouse.x3d._VP_Book_Viewpoint.png' found='false'/>
      <Viewpoint description='[20] TouchSensorPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='TouchSensorPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='30 April 2005' creator='Don Brutzman'
       description='A collection of all of the user interactivity sensor nodes: TouchSensor, PlaceSensor, CylinderSensor, SphereSensor, KeySensor, and StringSensor.'
       license='../license.html' modified='20 October 2019' name='UserInteractivitySensorNodes'
       thumbnail='_thumbnails/UserInteractivitySensorNodesThumbnail.png'
       title='User Interactivity Sensor Nodes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/UserInteractivitySensorNodes.x3d'>
      <Viewpoint description='[21] UserInteractivitySensorNodes.x3d User interactivity sensor nodes'
         fileName='UserInteractivitySensorNodes.x3d._VP_User_interactivity_sensor_nodes.png'
         found='true'/>
      <Viewpoint description='[22] UserInteractivitySensorNodes.x3d (default X3D view from 0 0 10)'
         fileName='UserInteractivitySensorNodes.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter09EventUtilitiesScripting' title='Chapter 09 Event Utilities Scripting'>
    <Page TODO='also create a new prototype ColorArrayInterpolator in Chapter 14'
       created='8 September 2009' creator='Don Brutzman and MV3204 class'
       description='Design pattern demonstrating type conversion from single SFColor value (sent from a ColorInterpolator node) to an MFColor array (in a Background node).'
       license='../license.html' modified='20 October 2019' name='BackgroundColorArrayAnimation'
       thumbnail='_thumbnails/BackgroundColorArrayAnimationThumbnail.png'
       title='Background Color Array Animation'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BackgroundColorArrayAnimation.x3d'>
      <Viewpoint description='[1] BackgroundColorArrayAnimation.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundColorArrayAnimation.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A BooleanFilter node starts the animation of cones orbiting near the pump house, instead of an unfiltered TouchSensor toggling the animation on/off during selection/deselection.'
       license='../license.html' modified='20 October 2019' name='BooleanFilterPumpHouse'
       thumbnail='_thumbnails/BooleanFilterPumpHouseThumbnail.png' title='Boolean Filter Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanFilterPumpHouse.x3d'>
      <Viewpoint description='[2] BooleanFilterPumpHouse.x3d Click pump house to activate'
         fileName='BooleanFilterPumpHouse.x3d._VP_Click_pump_house_to_activate.png' found='false'/>
      <Viewpoint description='[3] BooleanFilterPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='BooleanFilterPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='6 September 2006' creator='Don Brutzman'
       description='Show synchronized use of BooleanSequencer and IntegerSequencer nodes for SpotLight enabled and Switch whichChoice control, respectively'
       license='../license.html' modified='20 October 2019' name='BooleanSequencerIntegerSequencer'
       thumbnail='_thumbnails/BooleanSequencerIntegerSequencerThumbnail.png'
       title='Boolean Sequencer Integer Sequencer'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanSequencerIntegerSequencer.x3d'>
      <Viewpoint description='[4] BooleanSequencerIntegerSequencer.x3d (default X3D view from 0 0 10)'
         fileName='BooleanSequencerIntegerSequencer.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Leonard Daly, Don Brutzman, Todd Gagnon and Mark A. Boyd'
       description='A BooleanSequencer node intermittently interrupts animation of the pump house.'
       license='../license.html' modified='20 October 2019' name='BooleanSequencerPumpHouse'
       thumbnail='_thumbnails/BooleanSequencerPumpHouseThumbnail.png'
       title='Boolean Sequencer Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanSequencerPumpHouse.x3d'>
      <Viewpoint
         description='[5] BooleanSequencerPumpHouse.x3d touch and hold to interrupt pump operation'
         fileName='BooleanSequencerPumpHouse.x3d._VP_touch_and_hold_to_interrupt_pump_operation.png'
         found='true'/>
      <Viewpoint description='[6] BooleanSequencerPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='BooleanSequencerPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page
       TODO='BS Contact BitManagement Bug Report submitted 28 November 2014 http://www.bitmanagement.de/en/contact'
       created='9 October 2006' creator='Leonard Daly and Don Brutzman'
       description='A BooleanToggle button determines whether an animated Cone is jittery or not.'
       license='../license.html' modified='28 April 2023' name='BooleanToggleExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/BooleanToggleExampleThumbnail.png' title='Boolean Toggle Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanToggleExample.x3d'>
      <Viewpoint description='[7] BooleanToggleExample.x3d Select red button to toggle cone jitter'
         fileName='BooleanToggleExample.x3d._VP_Select_red_button_to_toggle_cone_jitter.png'
         found='false'/>
      <Viewpoint description='[8] BooleanToggleExample.x3d (default X3D view from 0 0 10)'
         fileName='BooleanToggleExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A BooleanToggle node controls pump house animation: select to stop, then select again to restart.'
       license='../license.html' modified='20 October 2019' name='BooleanTogglePumpHouse'
       thumbnail='_thumbnails/BooleanTogglePumpHouseThumbnail.png' title='Boolean Toggle Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanTogglePumpHouse.x3d'>
      <Viewpoint description='[9] BooleanTogglePumpHouse.x3d Click pump house to toggle operation'
         fileName='BooleanTogglePumpHouse.x3d._VP_Click_pump_house_to_toggle_operation.png' found='true'/>
      <Viewpoint description='[10] BooleanTogglePumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='BooleanTogglePumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A BooleanTrigger node initiates the pump house animation: select to start. This model shows a positive-displacement cylinder pump to emulate breakers surge, designed and built by David Packard.'
       license='../license.html' modified='20 October 2019' name='BooleanTriggerPumpHouse'
       thumbnail='_thumbnails/BooleanTriggerPumpHouseThumbnail.png' title='Boolean Trigger Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/BooleanTriggerPumpHouse.x3d'>
      <Viewpoint description='[11] BooleanTriggerPumpHouse.x3d select pump house to activate'
         fileName='BooleanTriggerPumpHouse.x3d._VP_select_pump_house_to_activate.png' found='true'/>
      <Viewpoint description='[12] BooleanTriggerPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='BooleanTriggerPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2009' creator='Don Brutzman'
       description='Example circle and cross-hairs made out of line segments, autogenerated by a simple Java program.'
       license='../license.html' modified='20 October 2019' name='CircleLinesExample'
       thumbnail='_thumbnails/CircleLinesExampleThumbnail.png' title='Circle Lines Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/CircleLinesExample.x3d'>
      <Viewpoint description='[13] CircleLinesExample.x3d CircleLines Example'
         fileName='CircleLinesExample.x3d._VP_CircleLines_Example.png' found='true'/>
      <Viewpoint description='[14] CircleLinesExample.x3d (default X3D view from 0 0 10)'
         fileName='CircleLinesExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2009' creator='Don Brutzman'
       description='Example circle and cross-hairs made out of line segments, autogenerated by a simple Java program.'
       license='../license.html' modified='20 October 2019' name='CircleLinesExample60'
       thumbnail='_thumbnails/CircleLinesExample60Thumbnail.png' title='Circle Lines Example 60'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/CircleLinesExample60.x3d'>
      <Viewpoint description='[15] CircleLinesExample60.x3d Circle Lines Example'
         fileName='CircleLinesExample60.x3d._VP_Circle_Lines_Example.png' found='true'/>
      <Viewpoint description='[16] CircleLinesExample60.x3d (default X3D view from 0 0 10)'
         fileName='CircleLinesExample60.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='12 August 2013' creator='Don Brutzman and Ben Cheng'
       description='Build a sphere outline by using multiple CircleLine circles as latitude rings, with actual semitransparent Sphere and axes added as a visualization hint.'
       license='../license.html' modified='20 October 2019' name='CircleLinesSphereLatitude'
       thumbnail='_thumbnails/CircleLinesSphereLatitudeThumbnail.png'
       title='Circle Lines Sphere Latitude'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/CircleLinesSphereLatitude.x3d'>
      <Viewpoint description='[17] CircleLinesSphereLatitude.x3d CircleLines Example'
         fileName='CircleLinesSphereLatitude.x3d._VP_CircleLines_Example.png' found='true'/>
      <Viewpoint description='[18] CircleLinesSphereLatitude.x3d (default X3D view from 0 0 10)'
         fileName='CircleLinesSphereLatitude.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='21 August 2013' creator='John Kelly'
       description='Build a sphere outline by using multiple CircleLine circles as longitude rings, with actual semitransparent Sphere and axes added as a visualization hint.'
       license='../license.html' modified='20 October 2019' name='CircleLinesSphereLongitude'
       thumbnail='_thumbnails/CircleLinesSphereLongitudeThumbnail.png'
       title='Circle Lines Sphere Longitude'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/CircleLinesSphereLongitude.x3d'>
      <Viewpoint description='[19] CircleLinesSphereLongitude.x3d LongitudeLines Example'
         fileName='CircleLinesSphereLongitude.x3d._VP_LongitudeLines_Example.png' found='true'/>
      <Viewpoint description='[20] CircleLinesSphereLongitude.x3d (default X3D view from 0 0 10)'
         fileName='CircleLinesSphereLongitude.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 December 2012' creator='Don Brutzman'
       description='Simple Javascript animation of ElevationGrid' license='../license.html'
       modified='20 October 2019' name='ElevationGridSimpleWaveAnimation'
       thumbnail='_thumbnails/ElevationGridSimpleWaveAnimationThumbnail.png'
       title='Elevation Grid Simple Wave Animation'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ElevationGridSimpleWaveAnimation.x3d'>
      <Viewpoint description='[21] ElevationGridSimpleWaveAnimation.x3d Wave view'
         fileName='ElevationGridSimpleWaveAnimation.x3d._VP_Wave_view.png' found='false'/>
      <Viewpoint description='[22] ElevationGridSimpleWaveAnimation.x3d (default X3D view from 0 0 10)'
         fileName='ElevationGridSimpleWaveAnimation.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Mark A. Boyd'
       description='An IntegerSequencer node switches the display of colored cones near the pump house.'
       license='../license.html' modified='14 July 2025' name='IntegerSequencerPumpHouse'
       thumbnail='_thumbnails/IntegerSequencerPumpHouseThumbnail.png'
       title='Integer Sequencer Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/IntegerSequencerPumpHouse.x3d'>
      <Viewpoint description='[23] IntegerSequencerPumpHouse.x3d Click pump house for next cone'
         fileName='IntegerSequencerPumpHouse.x3d._VP_Click_pump_house_for_next_cone.png' found='false'/>
      <Viewpoint description='[24] IntegerSequencerPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='IntegerSequencerPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='2 January 2009' creator='Don Brutzman'
       description='Switch among different road signs using IntegerSequencer' license='../license.html'
       modified='20 October 2019' name='IntegerSequencerRoadSignSwitcher'
       thumbnail='_thumbnails/IntegerSequencerRoadSignSwitcherThumbnail.png'
       title='Integer Sequencer Road Sign Switcher'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/IntegerSequencerRoadSignSwitcher.x3d'>
      <Viewpoint description='[25] IntegerSequencerRoadSignSwitcher.x3d Road sign switcher, 6m away'
         fileName='IntegerSequencerRoadSignSwitcher.x3d._VP_Road_sign_switcher,_6m_away.png'
         found='true'/>
      <Viewpoint description='[26] IntegerSequencerRoadSignSwitcher.x3d (default X3D view from 0 0 10)'
         fileName='IntegerSequencerRoadSignSwitcher.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 March 2008' creator='Don Brutzman and Leonard Daly'
       description='An IntegerTrigger node controls the display of colored text.'
       license='../license.html' modified='25 August 2023' name='IntegerTriggerExample'
       thumbnail='_thumbnails/IntegerTriggerExampleThumbnail.png' title='Integer Trigger Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/IntegerTriggerExample.x3d'>
      <Viewpoint description='[27] IntegerTriggerExample.x3d Select text to change color'
         fileName='IntegerTriggerExample.x3d._VP_Select_text_to_change_color.png' found='true'/>
      <Viewpoint description='[28] IntegerTriggerExample.x3d (default X3D view from 0 0 10)'
         fileName='IntegerTriggerExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='An IntegerTrigger node controls the display of colored cones near the pump house.'
       license='../license.html' modified='20 October 2019' name='IntegerTriggerPumpHouse'
       thumbnail='_thumbnails/IntegerTriggerPumpHouseThumbnail.png' title='Integer Trigger Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/IntegerTriggerPumpHouse.x3d'
       warning='needs debugging'>
      <Viewpoint description='[29] IntegerTriggerPumpHouse.x3d Book View'
         fileName='IntegerTriggerPumpHouse.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[30] IntegerTriggerPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='IntegerTriggerPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='6 April 2009' creator='Jason Nelson and MV4205 class'
       description='Design pattern demonstrating multiple TouchSensor, IntegerTrigger, Shape and ROUTE combinations for selecting a Switch'
       license='../license.html' modified='20 October 2019' name='MoodSelector'
       thumbnail='_thumbnails/MoodSelectorThumbnail.png' title='Mood Selector'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/MoodSelector.x3d'>
      <Viewpoint description='[31] MoodSelector.x3d How do you feel today?'
         fileName='MoodSelector.x3d._VP_How_do_you_feel_today?.png' found='false'/>
      <Viewpoint description='[32] MoodSelector.x3d (default X3D view from 0 0 10)'
         fileName='MoodSelector.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='3 November 2013' creator='Don Brutzman'
       description='Example scene providing a unit test for newECMAscript template javascript source code, first load this scene and then see console for test output.'
       license='../license.html' modified='20 October 2019' name='newECMAscriptTest'
       subject='X3D javascript ECMAscript' thumbnail='_thumbnails/newECMAscriptTestThumbnail.png'
       title='new ECMAscript Test'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/newECMAscriptTest.x3d'>
      <Viewpoint description='[33] newECMAscriptTest.x3d Check X3D console to see output'
         fileName='newECMAscriptTest.x3d._VP_Check_X3D_console_to_see_output.png' found='true'/>
      <Viewpoint description='[34] newECMAscriptTest.x3d (default X3D view from 0 0 10)'
         fileName='newECMAscriptTest.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 June 2006' creator='Leonard Daly and Don Brutzman'
       description='A lamp with 4 intensities (off low medium high) and a push-button switcher, all controlled by a Script node.'
       license='../license.html' modified='20 October 2019' name='ScriptComplexStateEvents'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ScriptComplexStateEventsThumbnail.png' title='Script Complex State Events'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptComplexStateEvents.x3d'>
      <Viewpoint description='[35] ScriptComplexStateEvents.x3d Control 3-way lamp'
         fileName='ScriptComplexStateEvents.x3d._VP_Control_3-way_lamp.png' found='true'/>
      <Viewpoint description='[36] ScriptComplexStateEvents.x3d (default X3D view from 0 0 10)'
         fileName='ScriptComplexStateEvents.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 June 2006' creator='Leonard Daly and Don Brutzman'
       description='A three-way light controlled by a Script node.' license='../license.html'
       modified='20 October 2019' name='ScriptControlEvents'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ScriptControlEventsThumbnail.png' title='Script Control Events'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptControlEvents.x3d'>
      <Viewpoint description='[37] ScriptControlEvents.x3d Push button to change light color'
         fileName='ScriptControlEvents.x3d._VP_Push_button_to_change_light_color.png' found='true'/>
      <Viewpoint description='[38] ScriptControlEvents.x3d Book View'
         fileName='ScriptControlEvents.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[39] ScriptControlEvents.x3d (default X3D view from 0 0 10)'
         fileName='ScriptControlEvents.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A Script node drives the position and orientation of orbiting cones near the pump house.'
       license='../license.html' modified='20 October 2019' name='ScriptEvents'
       thumbnail='_thumbnails/ScriptEventsThumbnail.png' title='Script Events'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptEvents.x3d'>
      <Viewpoint description='[40] ScriptEvents.x3d click pump house to spin cones'
         fileName='ScriptEvents.x3d._VP_click_pump_house_to_spin_cones.png' found='false'/>
      <Viewpoint description='[41] ScriptEvents.x3d Book View'
         fileName='ScriptEvents.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[42] ScriptEvents.x3d (default X3D view from 0 0 10)'
         fileName='ScriptEvents.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='A Script node provides the path and orientation animation for three cones that orbit near the pump house.'
       license='../license.html' modified='20 October 2019' name='ScriptEventsPumpHouse'
       thumbnail='_thumbnails/ScriptEventsPumpHouseThumbnail.png' title='Script Events Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptEventsPumpHouse.x3d'>
      <Viewpoint description='[43] ScriptEventsPumpHouse.x3d Book View'
         fileName='ScriptEventsPumpHouse.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[44] ScriptEventsPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='ScriptEventsPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='30 November 1997' creator='Don Brutzman'
       description='Script node interface between X3D and EcmaScript: this conformance example tests event-based X3D-EcmaScript functionality.'
       license='../license.html' modified='20 October 2019' name='ScriptNodeEventOutControlEcmaScript'
       subject='VRML X3D EcmaScript Script conformance'
       thumbnail='_thumbnails/ScriptNodeEventOutControlEcmaScriptThumbnail.png'
       title='Script Node Event Out Control Ecma Script'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptNodeEventOutControlEcmaScript.x3d'>
      <Viewpoint description='[45] ScriptNodeEventOutControlEcmaScript.x3d View test'
         fileName='ScriptNodeEventOutControlEcmaScript.x3d._VP_View_test.png' found='true'/>
      <Viewpoint
         description='[46] ScriptNodeEventOutControlEcmaScript.x3d (default X3D view from 0 0 10)'
         fileName='ScriptNodeEventOutControlEcmaScript.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='30 November 1997' creator='Don Brutzman'
       description='Script node interface between X3D and EcmaScript: this conformance example tests field-based X3D-EcmaScript functionality.'
       license='../license.html' modified='20 October 2019' name='ScriptNodeFieldControlEcmaScript'
       subject='VRML X3D EcmaScript Script conformance'
       thumbnail='_thumbnails/ScriptNodeFieldControlEcmaScriptThumbnail.png'
       title='Script Node Field Control Ecma Script'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptNodeFieldControlEcmaScript.x3d'>
      <Viewpoint description='[47] ScriptNodeFieldControlEcmaScript.x3d View test'
         fileName='ScriptNodeFieldControlEcmaScript.x3d._VP_View_test.png' found='true'/>
      <Viewpoint description='[48] ScriptNodeFieldControlEcmaScript.x3d (default X3D view from 0 0 10)'
         fileName='ScriptNodeFieldControlEcmaScript.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 June 2006' creator='Leonard Daly and Don Brutzman'
       description='A Script node drives an animated push button that turns a light on and off.'
       license='../license.html' modified='20 October 2019' name='ScriptSimpleStateEvents'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ScriptSimpleStateEventsThumbnail.png' title='Script Simple State Events'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/ScriptSimpleStateEvents.x3d'>
      <Viewpoint description='[49] ScriptSimpleStateEvents.x3d click switch to toggle light'
         fileName='ScriptSimpleStateEvents.x3d._VP_click_switch_to_toggle_light.png' found='true'/>
      <Viewpoint description='[50] ScriptSimpleStateEvents.x3d (default X3D view from 0 0 10)'
         fileName='ScriptSimpleStateEvents.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='16 February 2008' creator='Don Brutzman'
       description='Test ability to perform Script initialize() method using ECMAsript'
       license='../license.html' modified='27 November 2024' name='TestScriptInitialization'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TestScriptInitializationThumbnail.png' title='Test Script Initialization'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/TestScriptInitialization.x3d'>
      <Viewpoint description='[51] TestScriptInitialization.x3d (default X3D view from 0 0 10)'
         fileName='TestScriptInitialization.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Pump house animation activated by a TimeTrigger node.' license='../license.html'
       modified='20 October 2019' name='TimeTriggerPumpHouse'
       thumbnail='_thumbnails/TimeTriggerPumpHouseThumbnail.png' title='Time Trigger Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/TimeTriggerPumpHouse.x3d'>
      <Viewpoint description='[52] TimeTriggerPumpHouse.x3d Book View'
         fileName='TimeTriggerPumpHouse.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[53] TimeTriggerPumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='TimeTriggerPumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='8 October 2007' creator='Leonard Daly and Don Brutzman'
       description='Test of TimeTrigger node.' license='../license.html' modified='20 October 2019'
       name='TimeTriggerTest' thumbnail='_thumbnails/TimeTriggerTestThumbnail.png'
       title='Time Trigger Test'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter09EventUtilitiesScripting/TimeTriggerTest.x3d'>
      <Viewpoint description='[54] TimeTriggerTest.x3d TimeTrigger test'
         fileName='TimeTriggerTest.x3d._VP_TimeTrigger_test.png' found='false'/>
      <Viewpoint description='[55] TimeTriggerTest.x3d (default X3D view from 0 0 10)'
         fileName='TimeTriggerTest.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter10Geometry2D' title='Chapter 10 Geometry 2D'>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Arc2D node showing semicircular arcs' license='../license.html'
       modified='14 July 2025' name='Arc2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Arc2dExampleThumbnail.png' title='Arc 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Arc2dExample.x3d'>
      <Viewpoint description='[1] Arc2dExample.x3d Arc2D example'
         fileName='Arc2dExample.x3d._VP_Arc2D_example.png' found='false'/>
      <Viewpoint description='[2] Arc2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Arc2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of ArcClose2D showing PIE or CHORD subsections of circular geometry.'
       license='../license.html' modified='27 July 2024' name='ArcClose2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ArcClose2dExampleThumbnail.png' title='Arc Close 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/ArcClose2dExample.x3d'>
      <Viewpoint description='[3] ArcClose2dExample.x3d ArcClose2D example'
         fileName='ArcClose2dExample.x3d._VP_ArcClose2D_example.png' found='false'/>
      <Viewpoint description='[4] ArcClose2dExample.x3d (default X3D view from 0 0 10)'
         fileName='ArcClose2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Circle2D node showing a simple circular circumference.'
       license='../license.html' modified='27 July 2024' name='Circle2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Circle2dExampleThumbnail.png' title='Circle 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Circle2dExample.x3d'>
      <Viewpoint description='[5] Circle2dExample.x3d Circle2D example'
         fileName='Circle2dExample.x3d._VP_Circle2D_example.png' found='false'/>
      <Viewpoint description='[6] Circle2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Circle2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Disk2D showing circular geometry with an optional center hole.'
       license='../license.html' modified='27 July 2024' name='Disk2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Disk2dExampleThumbnail.png' title='Disk 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Disk2dExample.x3d'>
      <Viewpoint description='[7] Disk2dExample.x3d Disk2D example'
         fileName='Disk2dExample.x3d._VP_Disk2D_example.png' found='false'/>
      <Viewpoint description='[8] Disk2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Disk2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Polyline2D showing multiple 2D line segments.' license='../license.html'
       modified='27 July 2024' name='Polyline2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Polyline2dExampleThumbnail.png' title='Polyline 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Polyline2dExample.x3d'>
      <Viewpoint description='[9] Polyline2dExample.x3d Polyline2D example'
         fileName='Polyline2dExample.x3d._VP_Polyline2D_example.png' found='false'/>
      <Viewpoint description='[10] Polyline2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Polyline2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Polypoint2D showing a simple set of points.' license='../license.html'
       modified='27 July 2024' name='Polypoint2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Polypoint2dExampleThumbnail.png' title='Polypoint 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Polypoint2dExample.x3d'>
      <Viewpoint description='[11] Polypoint2dExample.x3d Polypoint2D example'
         fileName='Polypoint2dExample.x3d._VP_Polypoint2D_example.png' found='false'/>
      <Viewpoint description='[12] Polypoint2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Polypoint2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of Rectangle2D showing two simple polygonal shapes.'
       license='../license.html' modified='18 December 2023' name='Rectangle2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Rectangle2dExampleThumbnail.png' title='Rectangle 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Rectangle2dExample.x3d'>
      <Viewpoint description='[13] Rectangle2dExample.x3d Rectangle2D example'
         fileName='Rectangle2dExample.x3d._VP_Rectangle2D_example.png' found='false'/>
      <Viewpoint description='[14] Rectangle2dExample.x3d (default X3D view from 0 0 10)'
         fileName='Rectangle2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of all of the Geometry2D nodes for the X3D Book.' license='../license.html'
       modified='20 October 2019' name='Summary2D'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/Summary2DThumbnail.png' title='Summary 2D'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/Summary2D.x3d'>
      <Viewpoint description='[15] Summary2D.x3d Summary 2D example'
         fileName='Summary2D.x3d._VP_Summary_2D_example.png' found='true'/>
      <Viewpoint description='[16] Summary2D.x3d (default X3D view from 0 0 10)'
         fileName='Summary2D.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='17 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of TriangleSet2D showing multiple simple triangle shapes.'
       license='../license.html' modified='27 July 2024' name='TriangleSet2dExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TriangleSet2dExampleThumbnail.png' title='Triangle Set 2D Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter10Geometry2D/TriangleSet2dExample.x3d'>
      <Viewpoint description='[17] TriangleSet2dExample.x3d TriangleSet2D example'
         fileName='TriangleSet2dExample.x3d._VP_TriangleSet2D_example.png' found='false'/>
      <Viewpoint description='[18] TriangleSet2dExample.x3d (default X3D view from 0 0 10)'
         fileName='TriangleSet2dExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter11LightingEnvironmentalEffects'
     title='Chapter 11 Lighting Environmental Effects'>
    <Page created='20 April 2009' creator='Don Brutzman'
       description='Added a Background node to the KelpForest world.' license='../license.html'
       modified='20 October 2019' name='BackgroundColorsOnly' subject='X3D Background example'
       thumbnail='_thumbnails/BackgroundColorsOnlyThumbnail.png' title='Background Colors Only'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundColorsOnly.x3d'>
      <Viewpoint description='[1] BackgroundColorsOnly.x3d Background colors view'
         fileName='BackgroundColorsOnly.x3d._VP_Background_colors_view.png' found='true'/>
      <Viewpoint description='[2] BackgroundColorsOnly.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundColorsOnly.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 April 2009' creator='Don Brutzman'
       description='Simple Background node with images only.' license='../license.html'
       modified='20 October 2019' name='BackgroundImagesOnly' subject='X3D Background example'
       thumbnail='_thumbnails/BackgroundImagesOnlyThumbnail.png' title='Background Images Only'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundImagesOnly.x3d'>
      <Viewpoint description='[3] BackgroundImagesOnly.x3d Background images view'
         fileName='BackgroundImagesOnly.x3d._VP_Background_images_view.png' found='true'/>
      <Viewpoint description='[4] BackgroundImagesOnly.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundImagesOnly.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='Added a Background node to the KelpForest world.' license='../license.html'
       modified='2 March 2026' name='BackgroundKelpForestMain' subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/BackgroundKelpForestMainThumbnail.png' title='Background Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundKelpForestMain.x3d'>
      <Viewpoint description='[5] BackgroundKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='BackgroundKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='false'/>
      <Viewpoint description='[6] BackgroundKelpForestMain.x3d Side Windows'
         fileName='BackgroundKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[7] BackgroundKelpForestMain.x3d Star Fish'
         fileName='BackgroundKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[8] BackgroundKelpForestMain.x3d Inside Tank'
         fileName='BackgroundKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[9] BackgroundKelpForestMain.x3d Top floor'
         fileName='BackgroundKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[10] BackgroundKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='BackgroundKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[11] BackgroundKelpForestMain.x3d Pump House'
         fileName='BackgroundKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[12] BackgroundKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 April 2009' creator='Dale Tourtelotte, Don Brutzman and MV4205 class'
       description='Select one of four Background nodes to show a time-of-day effect.'
       license='../license.html' modified='20 October 2019' name='BackgroundSelector'
       subject='X3D Background example' thumbnail='_thumbnails/BackgroundSelectorThumbnail.png'
       title='Background Selector'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundSelector.x3d'>
      <Viewpoint description='[13] BackgroundSelector.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundSelector.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 April 2009' creator='Dale Tourtelotte, Don Brutzman and MV4205 class'
       description='Cycle through four Background nodes to show a time-of-day effect.'
       license='../license.html' modified='25 November 2024' name='BackgroundSequencer'
       subject='X3D Background example' thumbnail='_thumbnails/BackgroundSequencerThumbnail.png'
       title='Background Sequencer'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundSequencer.x3d'>
      <Viewpoint description='[14] BackgroundSequencer.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundSequencer.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 April 2009' creator='Don Brutzman and MV4205 class'
       description='Interpolate between Background color arrays to show a gradually changing time-of-day effect.'
       license='../license.html' modified='20 October 2019' name='BackgroundTimeOfDay'
       subject='X3D Background example' thumbnail='_thumbnails/BackgroundTimeOfDayThumbnail.png'
       title='Background Time Of Day'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/BackgroundTimeOfDay.x3d'>
      <Viewpoint description='[15] BackgroundTimeOfDay.x3d (default X3D view from 0 0 10)'
         fileName='BackgroundTimeOfDay.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='24 April 2006' creator='Leonard Daly and Don Brutzman'
       description='An example of the DirectionalLight node showing no shadows on the lit geometry.'
       license='../license.html' modified='27 July 2024' name='DirectionalLightExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/DirectionalLightExampleThumbnail.png' title='Directional Light Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/DirectionalLightExample.x3d'>
      <Viewpoint description='[16] DirectionalLightExample.x3d Book Viewpoint'
         fileName='DirectionalLightExample.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[17] DirectionalLightExample.x3d (default X3D view from 0 0 10)'
         fileName='DirectionalLightExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='Added fog to the KelpForest world to simulate the typical weather pattern in June in Monterey, CA.'
       license='../license.html' modified='2 March 2026' name='FogKelpForestMain'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/FogKelpForestMainThumbnail.png'
       title='Fog Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/FogKelpForestMain.x3d'>
      <Viewpoint description='[18] FogKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='FogKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='false'/>
      <Viewpoint description='[19] FogKelpForestMain.x3d Side Windows'
         fileName='FogKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[20] FogKelpForestMain.x3d Star Fish'
         fileName='FogKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[21] FogKelpForestMain.x3d Inside Tank'
         fileName='FogKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[22] FogKelpForestMain.x3d Top floor'
         fileName='FogKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[23] FogKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='FogKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[24] FogKelpForestMain.x3d Pump House'
         fileName='FogKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[25] FogKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='FogKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='24 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of a PointLight node showing the effect of distance on lighting of geometry.'
       license='../license.html' modified='20 October 2019' name='PointLightColor'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PointLightColorThumbnail.png' title='Point Light Color'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/PointLightColor.x3d'>
      <Viewpoint description='[26] PointLightColor.x3d Book Viewpoint'
         fileName='PointLightColor.x3d._VP_Book_Viewpoint.png' found='false'/>
      <Viewpoint description='[27] PointLightColor.x3d (default X3D view from 0 0 10)'
         fileName='PointLightColor.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='24 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Two examples of scoped PointLight nodes showing the effects of distance on lit geometry. Faceted IndexedFaceSet is on the left, simple Box on the right.'
       license='../license.html' modified='18 December 2023' name='PointLightExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/PointLightExampleThumbnail.png' title='Point Light Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/PointLightExample.x3d'>
      <Viewpoint description='[28] PointLightExample.x3d Common viewpoint'
         fileName='PointLightExample.x3d._VP_Common_viewpoint.png' found='true'/>
      <Viewpoint description='[29] PointLightExample.x3d Faceted box, smooth shading'
         fileName='PointLightExample.x3d._VP_Faceted_box,_smooth_shading.png' found='true'/>
      <Viewpoint description='[30] PointLightExample.x3d Simple box, constant shading'
         fileName='PointLightExample.x3d._VP_Simple_box,_constant_shading.png' found='true'/>
      <Viewpoint description='[31] PointLightExample.x3d (default X3D view from 0 0 10)'
         fileName='PointLightExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='24 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of SpotLight showing effect of varying light colors on appearance'
       license='../license.html' modified='20 October 2019' name='SpotLightColor'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SpotLightColorThumbnail.png' title='Spot Light Color'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/SpotLightColor.x3d'>
      <Viewpoint description='[32] SpotLightColor.x3d Book Viewpoint'
         fileName='SpotLightColor.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[33] SpotLightColor.x3d Complete scene'
         fileName='SpotLightColor.x3d._VP_Complete_scene.png' found='true'/>
      <Viewpoint description='[34] SpotLightColor.x3d (default X3D view from 0 0 10)'
         fileName='SpotLightColor.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='24 April 2006' creator='Leonard Daly and Don Brutzman'
       description='Example SpotLight node showing effects of beamWidth and cutOffAngle'
       license='../license.html' modified='28 April 2023' name='SpotLightExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SpotLightExampleThumbnail.png' title='Spot Light Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/SpotLightExample.x3d'>
      <Viewpoint description='[35] SpotLightExample.x3d Book Viewpoint'
         fileName='SpotLightExample.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[36] SpotLightExample.x3d (default X3D view from 0 0 10)'
         fileName='SpotLightExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='14 November 2009' creator='Don Brutzman'
       description='Create outline geometry to show SpotLight coverage. Author TODO: use the X3D-Edit SpotLight editor to modify and re-visualize the first SpotLight.'
       license='../license.html' modified='2 March 2026' name='SpotLightVisualization'
       thumbnail='_thumbnails/SpotLightVisualizationThumbnail.png' title='Spot Light Visualization'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/SpotLightVisualization.x3d'>
      <Viewpoint description='[37] SpotLightVisualization.x3d Two examples of a single SpotLight'
         fileName='SpotLightVisualization.x3d._VP_Two_examples_of_a_single_SpotLight.png' found='true'/>
      <Viewpoint description='[38] SpotLightVisualization.x3d View from above'
         fileName='SpotLightVisualization.x3d._VP_View_from_above.png' found='true'/>
      <Viewpoint description='[39] SpotLightVisualization.x3d View from behind DirectionalLight'
         fileName='SpotLightVisualization.x3d._VP_View_from_behind_DirectionalLight.png' found='true'/>
      <Viewpoint description='[40] SpotLightVisualization.x3d View from behind SpotLight'
         fileName='SpotLightVisualization.x3d._VP_View_from_behind_SpotLight.png' found='true'/>
      <Viewpoint description='[41] SpotLightVisualization.x3d Side view of SpotLight outline'
         fileName='SpotLightVisualization.x3d._VP_Side_view_of_SpotLight_outline.png' found='true'/>
      <Viewpoint description='[42] SpotLightVisualization.x3d (default X3D view from 0 0 10)'
         fileName='SpotLightVisualization.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 April 2009' creator='Don Brutzman'
       description='Simple TextureBackground node with images only.' license='../license.html'
       modified='18 December 2023' name='TextureBackgroundExample'
       subject='X3D TextureBackground example'
       thumbnail='_thumbnails/TextureBackgroundExampleThumbnail.png' title='Texture Background Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/TextureBackgroundExample.x3d'>
      <Viewpoint description='[43] TextureBackgroundExample.x3d (default X3D view from 0 0 10)'
         fileName='TextureBackgroundExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='Added an image panorama with the Background node to the Kelp Forest world.'
       license='../license.html' modified='2 March 2026' name='TextureBackgroundKelpForestMain'
       subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/TextureBackgroundKelpForestMainThumbnail.png'
       title='Texture Background Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter11LightingEnvironmentalEffects/TextureBackgroundKelpForestMain.x3d'>
      <Viewpoint description='[44] TextureBackgroundKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png'
         found='false'/>
      <Viewpoint description='[45] TextureBackgroundKelpForestMain.x3d Side Windows'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[46] TextureBackgroundKelpForestMain.x3d Star Fish'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[47] TextureBackgroundKelpForestMain.x3d Inside Tank'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[48] TextureBackgroundKelpForestMain.x3d Top floor'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[49] TextureBackgroundKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[50] TextureBackgroundKelpForestMain.x3d Pump House'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[51] TextureBackgroundKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='TextureBackgroundKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter12EnvironmentSensorSound' title='Chapter 12 Environment Sensor Sound'>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='Disabled collision with all objects with a Collision node in the Kelp Forest world.'
       license='../license.html' modified='2 March 2026' name='CollisionKelpForestMain'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/CollisionKelpForestMainThumbnail.png'
       title='Collision Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/CollisionKelpForestMain.x3d'>
      <Viewpoint description='[1] CollisionKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='CollisionKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='false'/>
      <Viewpoint description='[2] CollisionKelpForestMain.x3d Side Windows'
         fileName='CollisionKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[3] CollisionKelpForestMain.x3d Star Fish'
         fileName='CollisionKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[4] CollisionKelpForestMain.x3d Inside Tank'
         fileName='CollisionKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[5] CollisionKelpForestMain.x3d Top floor'
         fileName='CollisionKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[6] CollisionKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='CollisionKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[7] CollisionKelpForestMain.x3d Pump House'
         fileName='CollisionKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[8] CollisionKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='CollisionKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='17 July 2008' creator='Don Brutzman' description='Simple test of LoadSensor node'
       license='../license.html' modified='27 July 2024' name='LoadSensorExample'
       subject='X3D LoadSensor example' thumbnail='_thumbnails/LoadSensorExampleThumbnail.png'
       title='Load Sensor Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorExample.x3d'>
      <Viewpoint description='[9] LoadSensorExample.x3d LoadSensor test'
         fileName='LoadSensorExample.x3d._VP_LoadSensor_test.png' found='false'/>
      <Viewpoint description='[10] LoadSensorExample.x3d (default X3D view from 0 0 10)'
         fileName='LoadSensorExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='An example use of the LoadSensor node in the Kelp Forest world.'
       license='../license.html' modified='2 March 2026' name='LoadSensorKelpForestMain'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/LoadSensorKelpForestMainThumbnail.png'
       title='Load Sensor Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain.x3d'>
      <Viewpoint description='[11] LoadSensorKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='LoadSensorKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='false'/>
      <Viewpoint description='[12] LoadSensorKelpForestMain.x3d Side Windows'
         fileName='LoadSensorKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[13] LoadSensorKelpForestMain.x3d Star Fish'
         fileName='LoadSensorKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[14] LoadSensorKelpForestMain.x3d Inside Tank'
         fileName='LoadSensorKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[15] LoadSensorKelpForestMain.x3d Top floor'
         fileName='LoadSensorKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[16] LoadSensorKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='LoadSensorKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[17] LoadSensorKelpForestMain.x3d Pump House'
         fileName='LoadSensorKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[18] LoadSensorKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='LoadSensorKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='An example use of the LoadSensor node in the Kelp Forest world.'
       license='../license.html' modified='2 March 2026' name='LoadSensorKelpForestMain_timeOut'
       subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/LoadSensorKelpForestMain_timeOutThumbnail.png'
       title='Load Sensor Kelp Forest Main time Out'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/LoadSensorKelpForestMain_timeOut.x3d'>
      <Viewpoint
         description='[19] LoadSensorKelpForestMain_timeOut.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png'
         found='false'/>
      <Viewpoint description='[20] LoadSensorKelpForestMain_timeOut.x3d Side Windows'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[21] LoadSensorKelpForestMain_timeOut.x3d Star Fish'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[22] LoadSensorKelpForestMain_timeOut.x3d Inside Tank'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[23] LoadSensorKelpForestMain_timeOut.x3d Top floor'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[24] LoadSensorKelpForestMain_timeOut.x3d Bird&amp;amp;apos;s Eye View'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[25] LoadSensorKelpForestMain_timeOut.x3d Pump House'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[26] LoadSensorKelpForestMain_timeOut.x3d (default X3D view from 0 0 10)'
         fileName='LoadSensorKelpForestMain_timeOut.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Demonstrates use of a ProximitySensor in building a HUD' license='../license.html'
       modified='27 July 2024' name='ProximitySensorExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ProximitySensorExampleThumbnail.png' title='Proximity Sensor Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorExample.x3d'>
      <Viewpoint description='[27] ProximitySensorExample.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='This example uses a ProximitySensor node to position a heads-up display (HUD) in the Kelp Forest world.'
       license='../license.html' modified='2 March 2026' name='ProximitySensorKelpForestMain'
       subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/ProximitySensorKelpForestMainThumbnail.png'
       title='Proximity Sensor Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorKelpForestMain.x3d'>
      <Viewpoint description='[28] ProximitySensorKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png'
         found='false'/>
      <Viewpoint description='[29] ProximitySensorKelpForestMain.x3d Side Windows'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[30] ProximitySensorKelpForestMain.x3d Star Fish'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[31] ProximitySensorKelpForestMain.x3d Inside Tank'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[32] ProximitySensorKelpForestMain.x3d Top floor'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[33] ProximitySensorKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[34] ProximitySensorKelpForestMain.x3d Pump House'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[35] ProximitySensorKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Example multiple ProximitySensor non-overlapping regions' license='../license.html'
       modified='20 October 2019' name='ProximitySensorMultiple'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ProximitySensorMultipleThumbnail.png' title='Proximity Sensor Multiple'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorMultiple.x3d'>
      <Viewpoint description='[36] ProximitySensorMultiple.x3d Book Viewpoint'
         fileName='ProximitySensorMultiple.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[37] ProximitySensorMultiple.x3d Inside proximity box 1'
         fileName='ProximitySensorMultiple.x3d._VP_Inside_proximity_box_1.png' found='true'/>
      <Viewpoint description='[38] ProximitySensorMultiple.x3d Inside proximity box 2'
         fileName='ProximitySensorMultiple.x3d._VP_Inside_proximity_box_2.png' found='true'/>
      <Viewpoint description='[39] ProximitySensorMultiple.x3d Inside proximity box 3'
         fileName='ProximitySensorMultiple.x3d._VP_Inside_proximity_box_3.png' found='true'/>
      <Viewpoint description='[40] ProximitySensorMultiple.x3d Inside proximity box 4'
         fileName='ProximitySensorMultiple.x3d._VP_Inside_proximity_box_4.png' found='true'/>
      <Viewpoint description='[41] ProximitySensorMultiple.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorMultiple.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Example ProximitySensor regions' license='../license.html'
       modified='20 October 2019' name='ProximitySensorNoOverlap'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ProximitySensorNoOverlapThumbnail.png' title='Proximity Sensor No Overlap'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorNoOverlap.x3d'>
      <Viewpoint description='[42] ProximitySensorNoOverlap.x3d Book Viewpoint'
         fileName='ProximitySensorNoOverlap.x3d._VP_Book_Viewpoint.png' found='false'/>
      <Viewpoint description='[43] ProximitySensorNoOverlap.x3d Inside proximity box 1'
         fileName='ProximitySensorNoOverlap.x3d._VP_Inside_proximity_box_1.png' found='true'/>
      <Viewpoint description='[44] ProximitySensorNoOverlap.x3d Inside proximity box 2'
         fileName='ProximitySensorNoOverlap.x3d._VP_Inside_proximity_box_2.png' found='true'/>
      <Viewpoint description='[45] ProximitySensorNoOverlap.x3d Inside proximity box 3'
         fileName='ProximitySensorNoOverlap.x3d._VP_Inside_proximity_box_3.png' found='true'/>
      <Viewpoint description='[46] ProximitySensorNoOverlap.x3d Inside proximity box 4'
         fileName='ProximitySensorNoOverlap.x3d._VP_Inside_proximity_box_4.png' found='true'/>
      <Viewpoint description='[47] ProximitySensorNoOverlap.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorNoOverlap.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Example multiply-instanced ProximitySensor with overlapping regions'
       license='../license.html' modified='20 October 2019' name='ProximitySensorOverlap'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ProximitySensorOverlapThumbnail.png' title='Proximity Sensor Overlap'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorOverlap.x3d'>
      <Viewpoint description='[48] ProximitySensorOverlap.x3d Book Viewpoint'
         fileName='ProximitySensorOverlap.x3d._VP_Book_Viewpoint.png' found='false'/>
      <Viewpoint description='[49] ProximitySensorOverlap.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorOverlap.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Example of a single ProximitySensor region' license='../license.html'
       modified='20 October 2019' name='ProximitySensorSingle'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/ProximitySensorSingleThumbnail.png' title='Proximity Sensor Single'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/ProximitySensorSingle.x3d'>
      <Viewpoint description='[50] ProximitySensorSingle.x3d Book Viewpoint'
         fileName='ProximitySensorSingle.x3d._VP_Book_Viewpoint.png' found='true'/>
      <Viewpoint description='[51] ProximitySensorSingle.x3d Inside proximity box'
         fileName='ProximitySensorSingle.x3d._VP_Inside_proximity_box.png' found='true'/>
      <Viewpoint description='[52] ProximitySensorSingle.x3d (default X3D view from 0 0 10)'
         fileName='ProximitySensorSingle.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 2006' creator='Don Brutzman'
       description='An example of the Sound and AudioClip node showing the effect of the various volume regions'
       license='../license.html' modified='2 March 2026' name='SoundAudioClip'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SoundAudioClipThumbnail.png' title='Sound Audio Clip'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/SoundAudioClip.x3d'>
      <Viewpoint description='[53] SoundAudioClip.x3d Sound spheroid approximating ellipsoid volume'
         fileName='SoundAudioClip.x3d._VP_Sound_spheroid_approximating_ellipsoid_volume.png'
         found='true'/>
      <Viewpoint description='[54] SoundAudioClip.x3d 100m distant'
         fileName='SoundAudioClip.x3d._VP_100m_distant.png' found='true'/>
      <Viewpoint description='[55] SoundAudioClip.x3d 50m distant'
         fileName='SoundAudioClip.x3d._VP_50m_distant.png' found='true'/>
      <Viewpoint description='[56] SoundAudioClip.x3d 25m distant'
         fileName='SoundAudioClip.x3d._VP_25m_distant.png' found='true'/>
      <Viewpoint description='[57] SoundAudioClip.x3d 10m distant'
         fileName='SoundAudioClip.x3d._VP_10m_distant.png' found='true'/>
      <Viewpoint description='[58] SoundAudioClip.x3d center'
         fileName='SoundAudioClip.x3d._VP_center.png' found='true'/>
      <Viewpoint description='[59] SoundAudioClip.x3d (default X3D view from 0 0 10)'
         fileName='SoundAudioClip.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 November 2013' creator='Don Brutzman'
       description='Provide a test scene for sound files using various audio formats.'
       license='../license.html' modified='20 October 2019' name='SoundFileFormats'
       subject='X3D audio formats test' thumbnail='_thumbnails/SoundFileFormatsThumbnail.png'
       title='Sound File Formats'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/SoundFileFormats.x3d'>
      <Viewpoint description='[60] SoundFileFormats.x3d (default X3D view from 0 0 10)'
         fileName='SoundFileFormats.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='19 July 2008' creator='Leonard Daly and Don Brutzman'
       description='UsingLoadSensor to test when AudioClip loading is complete'
       license='../license.html' modified='20 October 2019' name='SoundLoadSensorTest'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SoundLoadSensorTestThumbnail.png' title='Sound Load Sensor Test'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/SoundLoadSensorTest.x3d'>
      <Viewpoint description='[61] SoundLoadSensorTest.x3d (default X3D view from 0 0 10)'
         fileName='SoundLoadSensorTest.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 November 2009' creator='Don Brutzman'
       description='An example of the Sound node for testing X3D-Edit author-assist visualization'
       license='../license.html' modified='2 March 2026' name='SoundVisualization'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SoundVisualizationThumbnail.png' title='Sound Visualization'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/SoundVisualization.x3d'>
      <Viewpoint description='[62] SoundVisualization.x3d outside'
         fileName='SoundVisualization.x3d._VP_outside.png' found='true'/>
      <Viewpoint description='[63] SoundVisualization.x3d inside'
         fileName='SoundVisualization.x3d._VP_inside.png' found='true'/>
      <Viewpoint description='[64] SoundVisualization.x3d above'
         fileName='SoundVisualization.x3d._VP_above.png' found='true'/>
      <Viewpoint description='[65] SoundVisualization.x3d (default X3D view from 0 0 10)'
         fileName='SoundVisualization.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman Revised: Leonard Daly for X3D Book'
       description='VisibilitySensor example.' license='../license.html' modified='2 March 2026'
       name='VisibilitySensorKelpForestMain' subject='Kelp Forest 3D models'
       thumbnail='_thumbnails/VisibilitySensorKelpForestMainThumbnail.png'
       title='Visibility Sensor Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter12EnvironmentSensorSound/VisibilitySensorKelpForestMain.x3d'>
      <Viewpoint description='[66] VisibilitySensorKelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png'
         found='false'/>
      <Viewpoint description='[67] VisibilitySensorKelpForestMain.x3d Side Windows'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[68] VisibilitySensorKelpForestMain.x3d Star Fish'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[69] VisibilitySensorKelpForestMain.x3d Inside Tank'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[70] VisibilitySensorKelpForestMain.x3d Top floor'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[71] VisibilitySensorKelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[72] VisibilitySensorKelpForestMain.x3d Pump House'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[73] VisibilitySensorKelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='VisibilitySensorKelpForestMain.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter13GeometryTrianglesQuadrilaterals'
     title='Chapter 13 Geometry Triangles Quadrilaterals'>
    <Page created='31 August 2008' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the IndexedQuadSet node.' license='../license.html'
       modified='27 July 2024' name='IndexedQuadSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/IndexedQuadSetExampleThumbnail.png' title='Indexed Quad Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/IndexedQuadSetExample.x3d'>
      <Viewpoint description='[1] IndexedQuadSetExample.x3d IndexedQuadSet example'
         fileName='IndexedQuadSetExample.x3d._VP_IndexedQuadSet_example.png' found='false'/>
      <Viewpoint description='[2] IndexedQuadSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedQuadSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the IndexedTriangleFanSet node.'
       license='../license.html' modified='27 July 2024' name='IndexedTriangleFanSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/IndexedTriangleFanSetExampleThumbnail.png'
       title='Indexed Triangle Fan Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/IndexedTriangleFanSetExample.x3d'>
      <Viewpoint description='[3] IndexedTriangleFanSetExample.x3d Book View'
         fileName='IndexedTriangleFanSetExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[4] IndexedTriangleFanSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedTriangleFanSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the IndexedTriangleSet node.'
       license='../license.html' modified='27 July 2024' name='IndexedTriangleSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/IndexedTriangleSetExampleThumbnail.png'
       title='Indexed Triangle Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/IndexedTriangleSetExample.x3d'>
      <Viewpoint description='[5] IndexedTriangleSetExample.x3d Book View'
         fileName='IndexedTriangleSetExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[6] IndexedTriangleSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedTriangleSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='An example of the use of the IndexedTriangleStripSet node.'
       license='../license.html' modified='27 July 2024' name='IndexedTriangleStripSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/IndexedTriangleStripSetExampleThumbnail.png'
       title='Indexed Triangle Strip Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/IndexedTriangleStripSetExample.x3d'>
      <Viewpoint description='[7] IndexedTriangleStripSetExample.x3d IndexedTriangleStripSet view'
         fileName='IndexedTriangleStripSetExample.x3d._VP_IndexedTriangleStripSet_view.png'
         found='false'/>
      <Viewpoint description='[8] IndexedTriangleStripSetExample.x3d (default X3D view from 0 0 10)'
         fileName='IndexedTriangleStripSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 January 2007' creator='Leonard Daly and Don Brutzman'
       description='Animated example of a morphing TriangleSet' license='../license.html'
       modified='27 July 2024' name='MorphingTriangleSet'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/MorphingTriangleSetThumbnail.png' title='Morphing Triangle Set'
       url='https://www.web3.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/MorphingTriangleSetExample.x3d'>
      <Viewpoint description='[9] MorphingTriangleSet.x3d Book View - Cube'
         fileName='MorphingTriangleSet.x3d._VP_Book_View_-_Cube.png' found='true'/>
      <Viewpoint description='[10] MorphingTriangleSet.x3d Book View - Pyramid'
         fileName='MorphingTriangleSet.x3d._VP_Book_View_-_Pyramid.png' found='true'/>
      <Viewpoint description='[11] MorphingTriangleSet.x3d (default X3D view from 0 0 10)'
         fileName='MorphingTriangleSet.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='Illustration of nonplanar polygons.' license='../license.html'
       modified='20 October 2019' name='NonplanarPolygons'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/NonplanarPolygonsThumbnail.png' title='Nonplanar Polygons'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/NonplanarPolygons.x3d'>
      <Viewpoint description='[12] NonplanarPolygons.x3d Initial'
         fileName='NonplanarPolygons.x3d._VP_Initial.png' found='true'/>
      <Viewpoint description='[13] NonplanarPolygons.x3d Book View'
         fileName='NonplanarPolygons.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[14] NonplanarPolygons.x3d (default X3D view from 0 0 10)'
         fileName='NonplanarPolygons.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple illustration of the Normal node on the coloring of triangles.'
       license='../license.html' modified='27 July 2024' name='NormalExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/NormalExampleThumbnail.png' title='Normal Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/NormalExample.x3d'>
      <Viewpoint description='[15] NormalExample.x3d Book View'
         fileName='NormalExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[16] NormalExample.x3d (default X3D view from 0 0 10)'
         fileName='NormalExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='31 August 2008' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the QuadSet node.' license='../license.html'
       modified='18 December 2023' name='QuadSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/QuadSetExampleThumbnail.png' title='Quad Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/QuadSetExample.x3d'>
      <Viewpoint description='[17] QuadSetExample.x3d QuadSet'
         fileName='QuadSetExample.x3d._VP_QuadSet.png' found='false'/>
      <Viewpoint description='[18] QuadSetExample.x3d (default X3D view from 0 0 10)'
         fileName='QuadSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A collection of example usage for all IndexedTriangle*Set nodes.'
       license='../license.html' modified='20 October 2019' name='SummaryIndexedTriangleSets'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/SummaryIndexedTriangleSetsThumbnail.png'
       title='Summary Indexed Triangle Sets'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/SummaryIndexedTriangleSets.x3d'>
      <Viewpoint description='[19] SummaryIndexedTriangleSets.x3d Book View'
         fileName='SummaryIndexedTriangleSets.x3d._VP_Book_View.png' found='true'/>
      <Viewpoint description='[20] SummaryIndexedTriangleSets.x3d (default X3D view from 0 0 10)'
         fileName='SummaryIndexedTriangleSets.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the TriangleFanSet node.' license='../license.html'
       modified='27 July 2024' name='TriangleFanSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TriangleFanSetExampleThumbnail.png' title='Triangle Fan Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/TriangleFanSetExample.x3d'>
      <Viewpoint description='[21] TriangleFanSetExample.x3d Book View'
         fileName='TriangleFanSetExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[22] TriangleFanSetExample.x3d (default X3D view from 0 0 10)'
         fileName='TriangleFanSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the TriangleSet node.' license='../license.html'
       modified='27 July 2024' name='TriangleSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TriangleSetExampleThumbnail.png' title='Triangle Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/TriangleSetExample.x3d'>
      <Viewpoint description='[23] TriangleSetExample.x3d Book View 1'
         fileName='TriangleSetExample.x3d._VP_Book_View_1.png' found='false'/>
      <Viewpoint description='[24] TriangleSetExample.x3d Book View 2'
         fileName='TriangleSetExample.x3d._VP_Book_View_2.png' found='false'/>
      <Viewpoint description='[25] TriangleSetExample.x3d (default X3D view from 0 0 10)'
         fileName='TriangleSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='22 May 2006' creator='Leonard Daly and Don Brutzman'
       description='A simple example of the use of the TriangleStripSet node.' license='../license.html'
       modified='27 July 2024' name='TriangleStripSetExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TriangleStripSetExampleThumbnail.png' title='Triangle Strip Set Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter13GeometryTrianglesQuadrilaterals/TriangleStripSetExample.x3d'>
      <Viewpoint description='[26] TriangleStripSetExample.x3d Initial'
         fileName='TriangleStripSetExample.x3d._VP_Initial.png' found='false'/>
      <Viewpoint description='[27] TriangleStripSetExample.x3d Book View'
         fileName='TriangleStripSetExample.x3d._VP_Book_View.png' found='false'/>
      <Viewpoint description='[28] TriangleStripSetExample.x3d (default X3D view from 0 0 10)'
         fileName='TriangleStripSetExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter14Prototypes' title='Chapter 14 Prototypes'>
    <Page TODO='Xj3D not displaying materials loaded from ExternProtoDeclare ProtoInstance nodes'
       created='7 April 2002' creator='David Roussel'
       description='Example ExternProtoDeclare/ProtoInstance usage of X3D/VRML materials, originally converted from SGI&apos;s Open Inventor material examples. Excerpted from original.'
       license='../license.html' modified='19 January 2025' name='ArtDecoExamplesExcerpt'
       subject='Universal Media Material Library'
       thumbnail='_thumbnails/ArtDecoExamplesExcerptThumbnail.png' title='Art Deco Examples Excerpt'
       translator='James Harney, Don Brutzman NPS'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/ArtDecoExamplesExcerpt.x3d'>
      <Viewpoint description='[1] ArtDecoExamplesExcerpt.x3d Front view'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Front_view.png' found='true'/>
      <Viewpoint description='[2] ArtDecoExamplesExcerpt.x3d Low Right'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Low_Right.png' found='true'/>
      <Viewpoint description='[3] ArtDecoExamplesExcerpt.x3d Low Left'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Low_Left.png' found='true'/>
      <Viewpoint description='[4] ArtDecoExamplesExcerpt.x3d Back view'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Back_view.png' found='true'/>
      <Viewpoint description='[5] ArtDecoExamplesExcerpt.x3d Close Front'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Close_Front.png' found='true'/>
      <Viewpoint description='[6] ArtDecoExamplesExcerpt.x3d ArtDeco00'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_ArtDeco00.png' found='true'/>
      <Viewpoint description='[7] ArtDecoExamplesExcerpt.x3d ArtDeco01'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_ArtDeco01.png' found='true'/>
      <Viewpoint description='[8] ArtDecoExamplesExcerpt.x3d ArtDeco02'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_ArtDeco02.png' found='true'/>
      <Viewpoint description='[9] ArtDecoExamplesExcerpt.x3d (default X3D view from 0 0 10)'
         fileName='ArtDecoExamplesExcerpt.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='7 April 2002' creator='David Roussel'
       description='Prototype declarations defining values for X3D/VRML materials, originally converted from SGI&apos;s Open Inventor material examples. Excerpted from original.'
       license='../license.html' modified='20 October 2019' name='ArtDecoPrototypesExcerpt'
       subject='Universal Media Material Library'
       thumbnail='_thumbnails/ArtDecoPrototypesExcerptThumbnail.png' title='Art Deco Prototypes Excerpt'
       translator='James Harney, Don Brutzman NPS'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/ArtDecoPrototypesExcerpt.x3d'>
      <Viewpoint description='[10] ArtDecoPrototypesExcerpt.x3d (default X3D view from 0 0 10)'
         fileName='ArtDecoPrototypesExcerpt.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Prototype definition that demonstrates use of a simple HeadsUpDisplay (HUD) prototype that maintains a stable position for its children on the screen.'
       license='../license.html' modified='20 October 2019' name='HeadsUpDisplayExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/HeadsUpDisplayExampleThumbnail.png' title='Heads Up Display Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayExample.x3d'>
      <Viewpoint description='[11] HeadsUpDisplayExample.x3d Heads-up display (HUD)'
         fileName='HeadsUpDisplayExample.x3d._VP_Heads-up_display_(HUD).png' found='true'/>
      <Viewpoint description='[12] HeadsUpDisplayExample.x3d (default X3D view from 0 0 10)'
         fileName='HeadsUpDisplayExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Reusable Prototype definition that applies a ProximitySensor for a simple HeadsUpDisplay (HUD) prototype that maintains a stable position for its children on the screen.'
       license='../license.html' modified='20 October 2019' name='HeadsUpDisplayPrototype'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/HeadsUpDisplayPrototypeThumbnail.png' title='Heads Up Display Prototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayPrototype.x3d'>
      <Viewpoint description='[13] HeadsUpDisplayPrototype.x3d Heads-up display (HUD)'
         fileName='HeadsUpDisplayPrototype.x3d._VP_Heads-up_display_(HUD).png' found='true'/>
      <Viewpoint description='[14] HeadsUpDisplayPrototype.x3d (default X3D view from 0 0 10)'
         fileName='HeadsUpDisplayPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='15 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Demonstrates use of a ProximitySensor in building a HUD, with display values showing current view location.'
       license='../license.html' modified='20 October 2019' name='HudKelpForest'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/HudKelpForestThumbnail.png' title='Hud Kelp Forest'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HudKelpForest.x3d'>
      <Viewpoint description='[15] HudKelpForest.x3d (default X3D view from 0 0 10)'
         fileName='HudKelpForest.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 March 2008' creator='Don Brutzman'
       description='Mimic a Material node and modulate the diffuseColor field as an animation effect, provided as a prototype for reusability.'
       hint='Learning suggestion for authors: try changing the modulation script so that it goes from [0 ... 1] and then [1 ... 0] alternating, rather than abruptly shifting from 1 immediately back to 0.'
       license='../license.html' modified='15 July 2025' name='MaterialModulator'
       subject='X3D prototype requiring Script inputOutput fields'
       thumbnail='_thumbnails/MaterialModulatorThumbnail.png' title='Material Modulator'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/MaterialModulator.x3d'>
      <Viewpoint description='[16] MaterialModulator.x3d (default X3D view from 0 0 10)'
         fileName='MaterialModulator.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='7 September 2017' creator='Don Brutzman'
       description='Demonstrate multiple instances of an external prototype.'
       hint='Learning suggestion for authors: try changing the modulation script so that it goes from [0 ... 1] and then [1 ... 0] alternating, rather than abruptly shifting from 1 immediately back to 0.'
       license='../license.html' modified='2 January 2025' name='MaterialModulatorExamples'
       subject='X3D prototype instances DEF USE'
       thumbnail='_thumbnails/MaterialModulatorExamplesThumbnail.png'
       title='Material Modulator Examples'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/MaterialModulatorExamples.x3d'>
      <Viewpoint description='[17] MaterialModulatorExamples.x3d (default X3D view from 0 0 10)'
         fileName='MaterialModulatorExamples.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page
       TODO='Add external ROUTEs to original example as a further test case for Prototype Expander design.'
       created='2 July 2016' creator='Don Brutzman, John Carlson, Roy Walmsley'
       description='Provide example for expansion of a MaterialModulator as regular X3D nodes, rather than a ProtoDeclare/ProtoInstance combination. MaterialModulator mimics a Material node and modulates diffuseColor field as an animation effect.'
       license='../license.html' modified='15 July 2025' name='MaterialModulatorPrototypeExpanded'
       subject='X3D prototype expander, IS/connect, Script inputOutput field'
       thumbnail='_thumbnails/MaterialModulatorPrototypeExpandedThumbnail.png'
       title='Material Modulator Prototype Expanded'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/MaterialModulatorPrototypeExpanded.x3d'>
      <Viewpoint description='[18] MaterialModulatorPrototypeExpanded.x3d (default X3D view from 0 0 10)'
         fileName='MaterialModulatorPrototypeExpanded.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='16 July 2006' creator='Leonard Daly and Don Brutzman'
       description='Simple Prototype for the display of text strings, combining functionality of Text and FontStyle nodes.'
       license='../license.html' modified='22 February 2022' name='TextStringPrototype'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/TextStringPrototypeThumbnail.png' title='Text String Prototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/TextStringPrototype.x3d'>
      <Viewpoint description='[19] TextStringPrototype.x3d (default X3D view from 0 0 10)'
         fileName='TextStringPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page creator='Don Brutzman'
       description='Display view frustum associated with a given pair of Viewpoint and NavigationInfo nodes, illustrating ProtoInstance reuse of a separately declared prototype.'
       license='../license.html' modified='2 March 2026' name='ViewFrustumExample'
       subject='view culling frustum' thumbnail='_thumbnails/ViewFrustumExampleThumbnail.png'
       title='View Frustum Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/ViewFrustumExample.x3d'>
      <Viewpoint description='[20] ViewFrustumExample.x3d ViewFrustum from above, looking down'
         fileName='ViewFrustumExample.x3d._VP_ViewFrustum_from_above,_looking_down.png' found='true'/>
      <Viewpoint description='[21] ViewFrustumExample.x3d ViewFrustum from point of view'
         fileName='ViewFrustumExample.x3d._VP_ViewFrustum_from_point_of_view.png' found='true'/>
      <Viewpoint description='[22] ViewFrustumExample.x3d ViewFrustum behind point of view'
         fileName='ViewFrustumExample.x3d._VP_ViewFrustum_behind_point_of_view.png' found='true'/>
      <Viewpoint description='[23] ViewFrustumExample.x3d ViewFrustum oblique side view'
         fileName='ViewFrustumExample.x3d._VP_ViewFrustum_oblique_side_view.png' found='true'/>
      <Viewpoint description='[24] ViewFrustumExample.x3d ViewFrustum ViewpointNode'
         fileName='ViewFrustumExample.x3d._VP_ViewFrustum_ViewpointNode.png' found='false'/>
      <Viewpoint description='[25] ViewFrustumExample.x3d (default X3D view from 0 0 10)'
         fileName='ViewFrustumExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page creator='Don Brutzman'
       description='Define a view frustum associated with a given pair of Viewpoint and NavigationInfo nodes, provided as a reusable prototype.'
       license='../license.html' modified='27 November 2024' name='ViewFrustumPrototype'
       subject='view culling frustum' thumbnail='_thumbnails/ViewFrustumPrototypeThumbnail.png'
       title='View Frustum Prototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/ViewFrustumPrototype.x3d'>
      <Viewpoint description='[26] ViewFrustumPrototype.x3d (default X3D view from 0 0 10)'
         fileName='ViewFrustumPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='28 March 2016' creator='Don Brutzman'
       description='Example use of prototype node for displaying current viewpoint location and orientation in the player console.'
       license='../license.html' modified='2 March 2026' name='WhereAmIExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/WhereAmIExampleThumbnail.png' title='Where Am IExample'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/WhereAmIExample.x3d'>
      <Viewpoint description='[27] WhereAmIExample.x3d WhereAmI prototype test'
         fileName='WhereAmIExample.x3d._VP_WhereAmI_prototype_test.png' found='false'/>
      <Viewpoint description='[28] WhereAmIExample.x3d Viewpoint 2'
         fileName='WhereAmIExample.x3d._VP_Viewpoint_2.png' found='true'/>
      <Viewpoint description='[29] WhereAmIExample.x3d Viewpoint 3'
         fileName='WhereAmIExample.x3d._VP_Viewpoint_3.png' found='true'/>
      <Viewpoint description='[30] WhereAmIExample.x3d Viewpoint 4'
         fileName='WhereAmIExample.x3d._VP_Viewpoint_4.png' found='true'/>
      <Viewpoint description='[31] WhereAmIExample.x3d (default X3D view from 0 0 10)'
         fileName='WhereAmIExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 January 1999' creator='Leonard Daly and Don Brutzman'
       description='Prototype node declaration for displaying current viewpoint location and orientation in the player console.'
       license='../license.html' modified='2 March 2026' name='WhereAmIPrototype'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/WhereAmIPrototypeThumbnail.png' title='Where Am IPrototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/WhereAmIPrototype.x3d'>
      <Viewpoint description='[32] WhereAmIPrototype.x3d WhereAmI prototype test'
         fileName='WhereAmIPrototype.x3d._VP_WhereAmI_prototype_test.png' found='true'/>
      <Viewpoint description='[33] WhereAmIPrototype.x3d (default X3D view from 0 0 10)'
         fileName='WhereAmIPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='10 September 2021' creator='*Don Brutzman'
       description='Prototype example to illustrate why additional non-rendering nodes might be needed after first node in ProtoBody'
       license='../license.html' name='X3dArchitectureConceptsPrototypeBodyValidationExample'
       specificationSection='X3D Architecture, ISO/IEC 19775-1: 202x, Clause 4 Concepts, 4.4.4.3 PROTO definition semantics'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/concepts.html#PROTOdefinitionsemantics'
       subject='X3D prototype specification'
       thumbnail='_thumbnails/X3dArchitectureConceptsPrototypeBodyValidationExampleThumbnail.png'
       title=' X3D Architecture Concepts Prototype Body Validation Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/X3dArchitectureConceptsPrototypeBodyValidationExample.x3d'>
      <Viewpoint description='[34] X3dArchitectureConceptsPrototypeBodyValidationExample.x3d'
         fileName='X3dArchitectureConceptsPrototypeBodyValidationExample.x3d._VP_Default_viewpoint.png'
         found='false'/>
    </Page>
  </Chapter>
  <Chapter name='Chapter15Metadata' title='Chapter 15 Metadata'>
    <Page created='30 September 2011' creator='Don Brutzman'
       description='Simple examples of meta statements, comments, WorldInfo node and typed metadata nodes.'
       info='Authoring note: MetadataBoolean requires X3D version 3.3, as used in this example scene'
       license='../license.html' modified='30 September 2023' name='MetadataNodeExamplesX3D3'
       specificationSection='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, 4 Concepts, 4.3.2 Root nodes'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/concepts.html#Rootnodes'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/MetadataNodeExamplesX3D3Thumbnail.png'
       title='Metadata Node Examples X3D 3'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamplesX3D3.x3d'>
      <Viewpoint
         description='[1] MetadataNodeExamplesX3D3.x3d View scene source to see metadata examples'
         fileName='MetadataNodeExamplesX3D3.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[2] MetadataNodeExamplesX3D3.x3d (default X3D view from 0 0 10)'
         fileName='MetadataNodeExamplesX3D3.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='30 September 2011' creator='Don Brutzman'
       description='Simple examples of meta statements, comments, WorldInfo node and typed metadata nodes.'
       info='Authoring note: MetadataBoolean requires X3D version 4.0, as used in this example scene'
       license='../license.html' modified='30 September 2023' name='MetadataNodeExamplesX3D4'
       specificationSection='X3D 4.0 Architecture, ISO/IEC 19775-1:2023, 4 Concepts, 4.3.2 Root nodes'
       specificationUrl='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/concepts.html#Rootnodes'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/MetadataNodeExamplesX3D4Thumbnail.png'
       title='Metadata Node Examples X3D 4'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/MetadataNodeExamplesX3D4.x3d'>
      <Viewpoint
         description='[3] MetadataNodeExamplesX3D4.x3d View scene source to see metadata examples'
         fileName='MetadataNodeExamplesX3D4.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[4] MetadataNodeExamplesX3D4.x3d (default X3D view from 0 0 10)'
         fileName='MetadataNodeExamplesX3D4.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='3 March 2018' creator='Don Brutzman'
       description='Simple examples of meta statements, comments, a WorldInfo node and a MetadataString node.'
       info='Information in head and meta elements is retained after a scene is parsed and loaded, and can be referenced via the Scene Access Interface (SAI) or Document Object Model (DOM)'
       license='../license.html' modified='7 December 2024' name='WorldInfoExample'
       subject='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com'
       thumbnail='_thumbnails/WorldInfoExampleThumbnail.png' title='World Info Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExample.x3d'>
      <Viewpoint description='[5] WorldInfoExample.x3d View scene source to see metadata examples'
         fileName='WorldInfoExample.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[6] WorldInfoExample.x3d (default X3D view from 0 0 10)'
         fileName='WorldInfoExample.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='16 November 2021' creator='Don Brutzman'
       description='This X3D3 scene contains MetadataSet with a non-null metadata field and multiple value nodes. Also provides a test target for python x3d package development, can x3d.py package generate this valid X3D file?'
       info='Original name MetadataSetWithMetadata.x3d'
       license='https://creativecommons.org/licenses/by/4.0' modified='7 April 2024'
       name='WorldInfoExampleMetadataSetX3D3'
       specificationSection='X3D encodings, ISO/IEC 19776-1, Part 1: XML encoding, Annex B.6.1 x3d-4.0.xsd'
       specificationUrl='https://web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-1v4.0-WD1/Part01/Schema.html#Version4.0Schema'
       thumbnail='_thumbnails/WorldInfoExampleMetadataSetX3D3Thumbnail.png'
       title='World Info Example Metadata Set X3D 3'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExampleMetadataSetX3D3.x3d'>
      <Viewpoint
         description='[7] WorldInfoExampleMetadataSetX3D3.x3d View scene source to see metadata examples'
         fileName='WorldInfoExampleMetadataSetX3D3.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[8] WorldInfoExampleMetadataSetX3D3.x3d (default X3D view from 0 0 10)'
         fileName='WorldInfoExampleMetadataSetX3D3.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='16 November 2021' creator='Don Brutzman'
       description='This X3D4 scene contains MetadataSet with a non-null metadata field and multiple value nodes. Also provides a test target for python x3d package development, can x3d.py package generate this valid X3D file?'
       info='Original file name MetadataSetWithMetadata.x3d'
       license='https://creativecommons.org/licenses/by/4.0' modified='7 April 2024'
       name='WorldInfoExampleMetadataSetX3D4'
       specificationSection='X3D encodings, ISO/IEC 19776-1, Part 1: XML encoding, Annex B.6.1 x3d-4.0.xsd'
       specificationUrl='https://web3d.org/specifications/X3Dv4Draft/ISO-IEC19776-1v4.0-WD1/Part01/Schema.html#Version4.0Schema'
       thumbnail='_thumbnails/WorldInfoExampleMetadataSetX3D4Thumbnail.png'
       title='World Info Example Metadata Set X3D 4'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/WorldInfoExampleMetadataSetX3D4.x3d'>
      <Viewpoint
         description='[9] WorldInfoExampleMetadataSetX3D4.x3d View scene source to see metadata examples'
         fileName='WorldInfoExampleMetadataSetX3D4.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[10] WorldInfoExampleMetadataSetX3D4.x3d (default X3D view from 0 0 10)'
         fileName='WorldInfoExampleMetadataSetX3D4.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page
       TODO='Once pattern OK, write conversion stylesheets XmpToX3dMetadata.xslt and X3dMetadataToXmp.xslt'
       created='29 April 2021' creator='Don Brutzman, Vince Marchetti, Jakub Flotynski, Dick Puk'
       description='Simple XMP sidecar example: Hello XMP metadata!'
       info='X3D support for xml:lang attribute not provided in X3D XML Schema, instead use MetadataString as best practice.'
       license='https://www.web3d.org/x3d/content/examples/license.html' modified='15 July 2025'
       name='XmpMetadataEmbedded' thumbnail='_thumbnails/XmpMetadataEmbeddedThumbnail.png'
       title='Xmp Metadata Embedded'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15Metadata/XmpMetadataEmbedded.x3d'
       warning='Source model assumes default containerField=value for X3D4 Metadata nodes, specification resolution needed'>
      <Viewpoint description='[11] XmpMetadataEmbedded.x3d View scene source to see metadata examples'
         fileName='XmpMetadataEmbedded.x3d._VP_View_scene_source_to_see_metadata_examples.png'
         found='false'/>
      <Viewpoint description='[12] XmpMetadataEmbedded.x3d (default X3D view from 0 0 10)'
         fileName='XmpMetadataEmbedded.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
  </Chapter>
  <Chapter name='KelpForestExhibit' title='Kelp Forest Exhibit'>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='Create a new fish type through configuration of the CircleFishLod prototype.'
       license='../license.html' modified='20 October 2019' name='BlackSurfPerch'
       thumbnail='_thumbnails/BlackSurfPerchThumbnail.png' title='Black Surf Perch'
       translator='Jeff Weekley'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlackSurfPerch.x3d'>
      <Viewpoint description='[1] BlackSurfPerch.x3d Black SurfPerch'
         fileName='BlackSurfPerch.x3d._VP_Black_SurfPerch.png' found='true'/>
      <Viewpoint description='[2] BlackSurfPerch.x3d (default X3D view from 0 0 10)'
         fileName='BlackSurfPerch.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='Create a new fish type through configuration of the CircleFishLod prototype.'
       license='../license.html' modified='20 October 2019' name='BlueRockFish'
       thumbnail='_thumbnails/BlueRockFishThumbnail.png' title='Blue Rock Fish'
       translator='Jeff Weekley'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/BlueRockFish.x3d'>
      <Viewpoint description='[3] BlueRockFish.x3d Blue Rockfish'
         fileName='BlueRockFish.x3d._VP_Blue_Rockfish.png' found='true'/>
      <Viewpoint description='[4] BlueRockFish.x3d (default X3D view from 0 0 10)'
         fileName='BlueRockFish.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='20 September 2001' creator='Matthew Braun'
       description='A Fog node that adjusts as the viewer&apos;s orientation and position changes. This is a good candidate to become a Prototype since Fog does not automatically bind when inlined.'
       license='../license.html' modified='20 October 2019' name='ChangingFog' subject='Fog'
       thumbnail='_thumbnails/ChangingFogThumbnail.png' title='Changing Fog'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/ChangingFog.x3d'>
      <Viewpoint description='[5] ChangingFog.x3d Start' fileName='ChangingFog.x3d._VP_Start.png'
         found='true'/>
      <Viewpoint description='[6] ChangingFog.x3d Looking up from start'
         fileName='ChangingFog.x3d._VP_Looking_up_from_start.png' found='true'/>
      <Viewpoint description='[7] ChangingFog.x3d 10m above, looking straight up'
         fileName='ChangingFog.x3d._VP_10m_above,_looking_straight_up.png' found='true'/>
      <Viewpoint description='[8] ChangingFog.x3d 10m above start'
         fileName='ChangingFog.x3d._VP_10m_above_start.png' found='true'/>
      <Viewpoint description='[9] ChangingFog.x3d 10m above, looking straight down'
         fileName='ChangingFog.x3d._VP_10m_above,_looking_straight_down.png' found='true'/>
      <Viewpoint description='[10] ChangingFog.x3d 10m below, looking down'
         fileName='ChangingFog.x3d._VP_10m_below,_looking_down.png' found='true'/>
      <Viewpoint description='[11] ChangingFog.x3d 10m below start'
         fileName='ChangingFog.x3d._VP_10m_below_start.png' found='true'/>
      <Viewpoint description='[12] ChangingFog.x3d 10m below, looking up'
         fileName='ChangingFog.x3d._VP_10m_below,_looking_up.png' found='true'/>
      <Viewpoint description='[13] ChangingFog.x3d (default X3D view from 0 0 10)'
         fileName='ChangingFog.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a circle fish using the CircleFish prototype. Fish size max width is 10 cm (X-axis) length is 1 m (Y-axis) max height is 1 m (Z-axis)'
       license='../license.html' modified='20 October 2019' name='CircleFishExample'
       thumbnail='_thumbnails/CircleFishExampleThumbnail.png' title='Circle Fish Example'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishExample.x3d'>
      <Viewpoint description='[14] CircleFishExample.x3d Circle Fish'
         fileName='CircleFishExample.x3d._VP_Circle_Fish.png' found='false'/>
      <Viewpoint description='[15] CircleFishExample.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a circle fish using the CircleFishLod prototype.' license='../license.html'
       modified='2 March 2026' name='CircleFishLodExample'
       thumbnail='_thumbnails/CircleFishLodExampleThumbnail.png' title='Circle Fish Lod Example'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishLodExample.x3d'
       warning='coordinates and orientations still have problems'>
      <Viewpoint description='[16] CircleFishLodExample.x3d Circle Fish LOD'
         fileName='CircleFishLodExample.x3d._VP_Circle_Fish_LOD.png' found='true'/>
      <Viewpoint description='[17] CircleFishLodExample.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishLodExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1998' creator='Ildeniz Duman'
       description='Modifies an externally defined CircleFish prototype by adding Level of Detail (LOD)'
       license='../license.html' modified='20 October 2019' name='CircleFishLodPrototype'
       thumbnail='_thumbnails/CircleFishLodPrototypeThumbnail.png' title='Circle Fish Lod Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishLodPrototype.x3d'>
      <Viewpoint description='[18] CircleFishLodPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishLodPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='This is a prototype for a CircleFish, which is also used by CircleFishLod. Default fish size: length is 1 m (Y-axis), max Height is 1 m (Z-axis), max Width is 10 cm (X-axis).'
       license='../license.html' modified='20 October 2019' name='CircleFishPrototype'
       thumbnail='_thumbnails/CircleFishPrototypeThumbnail.png' title='Circle Fish Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishPrototype.x3d'>
      <Viewpoint description='[19] CircleFishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='CircleFishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 April 2002' creator='Todd Gagnon and Mark A. Boyd'
       description='Viewer for tank placards - needs photo on one side, placard on other, and conversion into prototype once ready.'
       license='../license.html' modified='20 October 2019' name='CopperRockFishPlacardViewer'
       thumbnail='_thumbnails/CopperRockFishPlacardViewerThumbnail.png'
       title='Copper Rock Fish Placard Viewer'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/CopperRockfishPlacardViewer.x3d'>
      <Viewpoint description='[20] CopperRockFishPlacardViewer.x3d Copper Rockfish'
         fileName='CopperRockFishPlacardViewer.x3d._VP_Copper_Rockfish.png' found='true'/>
      <Viewpoint description='[21] CopperRockFishPlacardViewer.x3d (default X3D view from 0 0 10)'
         fileName='CopperRockFishPlacardViewer.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles, Sean Hynes'
       description='One simple Fish with three levels of detail.' license='../license.html'
       modified='20 October 2019' name='Fish' thumbnail='_thumbnails/FishThumbnail.png' title='Fish'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Fish.x3d'>
      <Viewpoint description='[22] Fish.x3d Fish High Resolution'
         fileName='Fish.x3d._VP_Fish_High_Resolution.png' found='true'/>
      <Viewpoint description='[23] Fish.x3d Fish Medium Resolution'
         fileName='Fish.x3d._VP_Fish_Medium_Resolution.png' found='true'/>
      <Viewpoint description='[24] Fish.x3d Fish Low Resolution'
         fileName='Fish.x3d._VP_Fish_Low_Resolution.png' found='true'/>
      <Viewpoint description='[25] Fish.x3d Fish No Resolution'
         fileName='Fish.x3d._VP_Fish_No_Resolution.png' found='true'/>
      <Viewpoint description='[26] Fish.x3d (default X3D view from 0 0 10)'
         fileName='Fish.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Example instances of the Fish prototype.' license='../license.html'
       modified='20 October 2019' name='FishExamples' thumbnail='_thumbnails/FishExamplesThumbnail.png'
       title='Fish Examples' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishExamples.x3d'>
      <Viewpoint description='[27] FishExamples.x3d (default X3D view from 0 0 10)'
         fileName='FishExamples.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='17 December 2001' creator='Scott Tufts'
       description='This file compares all of the fish prototypes.' license='../license.html'
       modified='30 September 2023' name='FishModelComparison'
       thumbnail='_thumbnails/FishModelComparisonThumbnail.png' title='Fish Model Comparison'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishModelComparison.x3d'>
      <Viewpoint description='[28] FishModelComparison.x3d (default X3D view from 0 0 10)'
         fileName='FishModelComparison.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='This is a reusable prototype of a generic fish, which can be configured upon instancing to create customized fish.'
       license='../license.html' modified='20 October 2019' name='FishPrototype'
       thumbnail='_thumbnails/FishPrototypeThumbnail.png' title='Fish Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishPrototype.x3d'
       warning='Circular fish behavior is embedded in prototype, instead the circular path needs to be used in external files or possibly parameterized.'>
      <Viewpoint description='[29] FishPrototype.x3d (default X3D view from 0 0 10)'
         fileName='FishPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles, Sean Hynes'
       description='Fish Schooling Demo' license='../license.html' modified='14 December 2024'
       name='FishSchool' thumbnail='_thumbnails/FishSchoolThumbnail.png' title='Fish School'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchool.x3d'>
      <Viewpoint description='[30] FishSchool.x3d Close to School - FS'
         fileName='FishSchool.x3d._VP_Close_to_School_-_FS.png' found='true'/>
      <Viewpoint description='[31] FishSchool.x3d Nose on Glass - FS'
         fileName='FishSchool.x3d._VP_Nose_on_Glass_-_FS.png' found='true'/>
      <Viewpoint description='[32] FishSchool.x3d Fish Feeding - FS'
         fileName='FishSchool.x3d._VP_Fish_Feeding_-_FS.png' found='true'/>
      <Viewpoint description='[33] FishSchool.x3d Left Side - FS'
         fileName='FishSchool.x3d._VP_Left_Side_-_FS.png' found='true'/>
      <Viewpoint description='[34] FishSchool.x3d Right Side - FS'
         fileName='FishSchool.x3d._VP_Right_Side_-_FS.png' found='true'/>
      <Viewpoint description='[35] FishSchool.x3d Middle Looking Out - FS'
         fileName='FishSchool.x3d._VP_Middle_Looking_Out_-_FS.png' found='true'/>
      <Viewpoint description='[36] FishSchool.x3d Fish 0 view'
         fileName='FishSchool.x3d._VP_Fish_0_view.png' found='true'/>
      <Viewpoint description='[37] FishSchool.x3d Fish 1 view'
         fileName='FishSchool.x3d._VP_Fish_1_view.png' found='true'/>
      <Viewpoint description='[38] FishSchool.x3d Fish 2 view'
         fileName='FishSchool.x3d._VP_Fish_2_view.png' found='true'/>
      <Viewpoint description='[39] FishSchool.x3d Fish 3 view'
         fileName='FishSchool.x3d._VP_Fish_3_view.png' found='true'/>
      <Viewpoint description='[40] FishSchool.x3d Fish 4 view'
         fileName='FishSchool.x3d._VP_Fish_4_view.png' found='true'/>
      <Viewpoint description='[41] FishSchool.x3d Fish 5 view'
         fileName='FishSchool.x3d._VP_Fish_5_view.png' found='true'/>
      <Viewpoint description='[42] FishSchool.x3d Fish 6 view'
         fileName='FishSchool.x3d._VP_Fish_6_view.png' found='true'/>
      <Viewpoint description='[43] FishSchool.x3d Fish 7 view'
         fileName='FishSchool.x3d._VP_Fish_7_view.png' found='true'/>
      <Viewpoint description='[44] FishSchool.x3d Fish 8 view'
         fileName='FishSchool.x3d._VP_Fish_8_view.png' found='true'/>
      <Viewpoint description='[45] FishSchool.x3d Fish 9 view'
         fileName='FishSchool.x3d._VP_Fish_9_view.png' found='true'/>
      <Viewpoint description='[46] FishSchool.x3d (default X3D view from 0 0 10)'
         fileName='FishSchool.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Instancing a prototype to match a specific fish.' license='../license.html'
       modified='21 July 2025' name='Garibaldi' thumbnail='_thumbnails/GaribaldiThumbnail.png'
       title='Garibaldi'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Garibaldi.x3d'>
      <Viewpoint description='[47] Garibaldi.x3d Garibaldi' fileName='Garibaldi.x3d._VP_Garibaldi.png'
         found='true'/>
      <Viewpoint description='[48] Garibaldi.x3d (default X3D view from 0 0 10)'
         fileName='Garibaldi.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='This is a group of HalfMoon fish implemented as ProtoInstances.'
       license='../license.html' modified='20 October 2019' name='HalfMoonGroup'
       thumbnail='_thumbnails/HalfMoonGroupThumbnail.png' title='Half Moon Group'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonGroup.x3d'>
      <Viewpoint description='[49] HalfMoonGroup.x3d HalfMoon Group'
         fileName='HalfMoonGroup.x3d._VP_HalfMoon_Group.png' found='true'/>
      <Viewpoint description='[50] HalfMoonGroup.x3d (default X3D view from 0 0 10)'
         fileName='HalfMoonGroup.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='Prototype for a group of HalfMoon fish in the Kelp forest.'
       license='../license.html' modified='22 February 2022' name='HalfMoonPrototype'
       thumbnail='_thumbnails/HalfMoonPrototypeThumbnail.png' title='Half Moon Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/HalfMoonPrototype.x3d'
       warning='Wiggle causes texture flashing. TODO: move animation to example file.'>
      <Viewpoint description='[51] HalfMoonPrototype.x3d (default X3D view from 0 0 10)'
         fileName='HalfMoonPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Welcome text message (positioned high and low) that introduces visitor to Kelp Forest Exhibit upon initial entry - zoom camera back beyond 40m range to make this text visible.'
       license='../license.html' modified='20 October 2019' name='IntroductionMessage'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/IntroductionMessageThumbnail.png'
       title='Introduction Message'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/IntroductionMessage.x3d'>
      <Viewpoint description='[52] IntroductionMessage.x3d (default X3D view from 0 0 10)'
         fileName='IntroductionMessage.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' description='Kelp bass is a type of fish.' license='../license.html'
       modified='20 October 2019' name='KelpBass' thumbnail='_thumbnails/KelpBassThumbnail.png'
       title='Kelp Bass' translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBass.x3d'>
      <Viewpoint description='[53] KelpBass.x3d Kelp Bass' fileName='KelpBass.x3d._VP_Kelp_Bass.png'
         found='false'/>
      <Viewpoint description='[54] KelpBass.x3d (default X3D view from 0 0 10)'
         fileName='KelpBass.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Joseph Cannon, Dan DeVos'
       description='One leaf of Kelp moving around a Bulb. Cycle time is 11 seconds, which is twice the cycle time of tank surface motion.'
       license='../license.html' modified='20 October 2019' name='KelpBulb'
       thumbnail='_thumbnails/KelpBulbThumbnail.png' title='Kelp Bulb'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpBulb.x3d'>
      <Viewpoint description='[55] KelpBulb.x3d (default X3D view from 0 0 10)'
         fileName='KelpBulb.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Joseph Cannon, Dan DeVos, Don Brutzman'
       description='Creates 3 instances of Kelp that sway.' license='../license.html'
       modified='20 October 2019' name='KelpExamplesNoBase'
       thumbnail='_thumbnails/KelpExamplesNoBaseThumbnail.png' title='Kelp Examples No Base'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpExamplesNoBase.x3d'>
      <Viewpoint description='[56] KelpExamplesNoBase.x3d (default X3D view from 0 0 10)'
         fileName='KelpExamplesNoBase.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='2 October 2001' creator='Matthew Braun'
       description='An extruded piece of kelp for the Kelp Forest project. Bulb is separate.'
       license='../license.html' modified='20 October 2019' name='KelpFlexibleStipe'
       thumbnail='_thumbnails/KelpFlexibleStipeThumbnail.png' title='Kelp Flexible Stipe'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpFlexibleStipe.x3d'>
      <Viewpoint description='[57] KelpFlexibleStipe.x3d Kelp stipe and holdfast'
         fileName='KelpFlexibleStipe.x3d._VP_Kelp_stipe_and_holdfast.png' found='true'/>
      <Viewpoint description='[58] KelpFlexibleStipe.x3d (default X3D view from 0 0 10)'
         fileName='KelpFlexibleStipe.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman'
       description='This is the main entry to the Kelp Forest that loads all of the other components as Inline scenes.'
       license='../license.html' modified='2 March 2026' name='KelpForestMain'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/KelpForestMainThumbnail.png'
       title='Kelp Forest Main'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d'>
      <Viewpoint description='[59] KelpForestMain.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='KelpForestMain.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='false'/>
      <Viewpoint description='[60] KelpForestMain.x3d Side Windows'
         fileName='KelpForestMain.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[61] KelpForestMain.x3d Star Fish'
         fileName='KelpForestMain.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[62] KelpForestMain.x3d Inside Tank'
         fileName='KelpForestMain.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[63] KelpForestMain.x3d Top floor'
         fileName='KelpForestMain.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[64] KelpForestMain.x3d Bird&amp;amp;apos;s Eye View'
         fileName='KelpForestMain.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[65] KelpForestMain.x3d Pump House'
         fileName='KelpForestMain.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[66] KelpForestMain.x3d (default X3D view from 0 0 10)'
         fileName='KelpForestMain.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='1 June 1998' creator='Don Brutzman'
       description='This is the main entry to the Kelp Forest that loads all of the other components as Inline scenes.'
       license='../license.html' modified='2 March 2026' name='KelpForestNoNancy'
       subject='Kelp Forest 3D models' thumbnail='_thumbnails/KelpForestNoNancyThumbnail.png'
       title='Kelp Forest No Nancy'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestMain.x3d'>
      <Viewpoint description='[67] KelpForestNoNancy.x3d Kelp Forest Monterey Bay Aquarium'
         fileName='KelpForestNoNancy.x3d._VP_Kelp_Forest_Monterey_Bay_Aquarium.png' found='true'/>
      <Viewpoint description='[68] KelpForestNoNancy.x3d Side Windows'
         fileName='KelpForestNoNancy.x3d._VP_Side_Windows.png' found='true'/>
      <Viewpoint description='[69] KelpForestNoNancy.x3d Star Fish'
         fileName='KelpForestNoNancy.x3d._VP_Star_Fish.png' found='true'/>
      <Viewpoint description='[70] KelpForestNoNancy.x3d Inside Tank'
         fileName='KelpForestNoNancy.x3d._VP_Inside_Tank.png' found='true'/>
      <Viewpoint description='[71] KelpForestNoNancy.x3d Top floor'
         fileName='KelpForestNoNancy.x3d._VP_Top_floor.png' found='true'/>
      <Viewpoint description='[72] KelpForestNoNancy.x3d Bird&amp;amp;apos;s Eye View'
         fileName='KelpForestNoNancy.x3d._VP_Bird&amp;amp;apos;s_Eye_View.png' found='false'/>
      <Viewpoint description='[73] KelpForestNoNancy.x3d Pump House'
         fileName='KelpForestNoNancy.x3d._VP_Pump_House.png' found='true'/>
      <Viewpoint description='[74] KelpForestNoNancy.x3d (default X3D view from 0 0 10)'
         fileName='KelpForestNoNancy.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='18 March 1999' creator='Joseph Cannon, Dan DeVos'
       description='Creates Kelp Prototype - this file uses Bulb and is used by KelpExamplesNoBase.'
       license='../license.html' modified='20 October 2019' name='KelpPrototype'
       thumbnail='_thumbnails/KelpPrototypeThumbnail.png' title='Kelp Prototype'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpPrototype.x3d'>
      <Viewpoint description='[75] KelpPrototype.x3d click message to view example'
         fileName='KelpPrototype.x3d._VP_click_message_to_view_example.png' found='true'/>
      <Viewpoint description='[76] KelpPrototype.x3d (default X3D view from 0 0 10)'
         fileName='KelpPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='Create a new fish type through configuration of the CircleFishLod prototype.'
       license='../license.html' modified='20 October 2019' name='KelpSurfPerch'
       thumbnail='_thumbnails/KelpSurfPerchThumbnail.png' title='Kelp Surf Perch'
       translator='Jeff Weekley'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpSurfPerch.x3d'>
      <Viewpoint description='[77] KelpSurfPerch.x3d Kelp SurfPerch'
         fileName='KelpSurfPerch.x3d._VP_Kelp_SurfPerch.png' found='true'/>
      <Viewpoint description='[78] KelpSurfPerch.x3d (default X3D view from 0 0 10)'
         fileName='KelpSurfPerch.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='11 June 1998' creator='Mark Boyd'
       description='Kelp Forest Tank at the Monterey Bay Aquarium.' license='../license.html'
       modified='20 October 2019' name='KelpTank' thumbnail='_thumbnails/KelpTankThumbnail.png'
       title='Kelp Tank'
       translator='Jeffrey Weekley, using NIST VRML to X3D Translator, with review and editing in Xeena.'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d'>
      <Viewpoint description='[79] KelpTank.x3d (default X3D view from 0 0 10)'
         fileName='KelpTank.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='17 May 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Topside light for Kelp Forest Exhibit.' license='../license.html'
       modified='20 October 2019' name='KelpTankExternalLight'
       thumbnail='_thumbnails/KelpTankExternalLightThumbnail.png' title='Kelp Tank External Light'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTankExternalLight.x3d'>
      <Viewpoint description='[80] KelpTankExternalLight.x3d (default X3D view from 0 0 10)'
         fileName='KelpTankExternalLight.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='3 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Topside lights which illuminate the Kelp Forest Exhibit at night.'
       license='../license.html' modified='20 October 2019' name='KelpTankExternalLights'
       thumbnail='_thumbnails/KelpTankExternalLightsThumbnail.png' title='Kelp Tank External Lights'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTankExternalLights.x3d'>
      <Viewpoint description='[81] KelpTankExternalLights.x3d (default X3D view from 0 0 10)'
         fileName='KelpTankExternalLights.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='9 June 1998' creator='Todd Gagnon'
       description='Moving water surface for KelpTank - initial view is perpendicular, rotate viewpoint up to see motion. Cycle time is 5.5 seconds to match pump, with slight time lag to indicate inertia of quasi-steady-state equilibrium..'
       license='../license.html' modified='20 October 2019' name='KelpTankWaterSurface'
       thumbnail='_thumbnails/KelpTankWaterSurfaceThumbnail.png' title='Kelp Tank Water Surface'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpTankWaterSurface.x3d'>
      <Viewpoint description='[82] KelpTankWaterSurface.x3d (default X3D view from 0 0 10)'
         fileName='KelpTankWaterSurface.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='8 June 1998' creator='Todd Gagnon and Mark A. Boyd'
       description='Positive-displacement cylinder pump to emulate breakers surge, designed and built by David Packard.'
       license='../license.html' modified='20 October 2019' name='PumpHouse'
       thumbnail='_thumbnails/PumpHouseThumbnail.png' title='Pump House'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/PumpHouse.x3d'>
      <Viewpoint description='[83] PumpHouse.x3d (default X3D view from 0 0 10)'
         fileName='PumpHouse.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='29 April 2021' creator='Ray McLain, Moss Landing Marine Labs (MLML)'
       description='Rock-like floor and walls of kelp forest exhibit, modeled to scale.'
       hint='enable TouchSensor to show hitPoint values in console window' license='../license.html'
       name='RockFloor' thumbnail='_thumbnails/RockFloorThumbnail.png' title='Rock Floor'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RockFloor.x3d'>
      <Viewpoint description='[84] RockFloor.x3d (default X3D view from 0 0 10)'
         fileName='RockFloor.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Ildeniz Duman'
       description='A group of RubberLip fish, instanced using the CircleFish prototype.'
       license='../license.html' modified='20 October 2019' name='RubberLipGroup'
       thumbnail='_thumbnails/RubberLipGroupThumbnail.png' title='Rubber Lip Group'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/RubberLipGroup.x3d'
       warning='Circular fish behavior is embedded in prototype, instead the circular path needs to be used in external files or possibly parameterized.'>
      <Viewpoint description='[85] RubberLipGroup.x3d (default X3D view from 0 0 10)'
         fileName='RubberLipGroup.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles, Sean Hynes'
       description='One Sardine, three levels of detail.' license='../license.html'
       modified='28 October 2023' name='Sardine' thumbnail='_thumbnails/SardineThumbnail.png'
       title='Sardine'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Sardine.x3d'>
      <Viewpoint description='[86] Sardine.x3d Closeup view right'
         fileName='Sardine.x3d._VP_Closeup_view_right.png' found='false'/>
      <Viewpoint description='[87] Sardine.x3d Closeup view right face'
         fileName='Sardine.x3d._VP_Closeup_view_right_face.png' found='false'/>
      <Viewpoint description='[88] Sardine.x3d Closeup view face to face'
         fileName='Sardine.x3d._VP_Closeup_view_face_to_face.png' found='false'/>
      <Viewpoint description='[89] Sardine.x3d Closeup view left face'
         fileName='Sardine.x3d._VP_Closeup_view_left_face.png' found='false'/>
      <Viewpoint description='[90] Sardine.x3d Closeup view left'
         fileName='Sardine.x3d._VP_Closeup_view_left.png' found='false'/>
      <Viewpoint description='[91] Sardine.x3d Closeup view left tail'
         fileName='Sardine.x3d._VP_Closeup_view_left_tail.png' found='false'/>
      <Viewpoint description='[92] Sardine.x3d Closeup view tail'
         fileName='Sardine.x3d._VP_Closeup_view_tail.png' found='false'/>
      <Viewpoint description='[93] Sardine.x3d Closeup view right tail'
         fileName='Sardine.x3d._VP_Closeup_view_right_tail.png' found='false'/>
      <Viewpoint description='[94] Sardine.x3d Closeup view top looking down'
         fileName='Sardine.x3d._VP_Closeup_view_top_looking_down.png' found='false'/>
      <Viewpoint description='[95] Sardine.x3d Closeup view bottom looking up'
         fileName='Sardine.x3d._VP_Closeup_view_bottom_looking_up.png' found='false'/>
      <Viewpoint description='[96] Sardine.x3d Single viewpoint when fairly close to sardine'
         fileName='Sardine.x3d._VP_Single_viewpoint_when_fairly_close_to_sardine.png' found='false'/>
      <Viewpoint description='[97] Sardine.x3d (default X3D view from 0 0 10)'
         fileName='Sardine.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='School of sardines'
       license='../license.html' modified='20 October 2019' name='SardineSchool'
       thumbnail='_thumbnails/SardineSchoolThumbnail.png' title='Sardine School' translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchool.x3d'>
      <Viewpoint description='[98] SardineSchool.x3d Sardine School'
         fileName='SardineSchool.x3d._VP_Sardine_School.png' found='true'/>
      <Viewpoint description='[99] SardineSchool.x3d Sardine Ride'
         fileName='SardineSchool.x3d._VP_Sardine_Ride.png' found='true'/>
      <Viewpoint description='[100] SardineSchool.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchool.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='sardine school - 20 fish'
       license='../license.html' modified='20 October 2019' name='SardineSchoolDouble'
       thumbnail='_thumbnails/SardineSchoolDoubleThumbnail.png' title='Sardine School Double'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchoolDouble.x3d'>
      <Viewpoint description='[101] SardineSchoolDouble.x3d Original Viewpoint in original file'
         fileName='SardineSchoolDouble.x3d._VP_Original_Viewpoint_in_original_file.png' found='true'/>
      <Viewpoint description='[102] SardineSchoolDouble.x3d Sardine ride'
         fileName='SardineSchoolDouble.x3d._VP_Sardine_ride.png' found='true'/>
      <Viewpoint description='[103] SardineSchoolDouble.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchoolDouble.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='Sardine school with 30 fish'
       license='../license.html' modified='20 October 2019' name='SardineSchoolFinal'
       thumbnail='_thumbnails/SardineSchoolFinalThumbnail.png' title='Sardine School Final'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchoolFinal.x3d'>
      <Viewpoint description='[104] SardineSchoolFinal.x3d Original Viewpoint in original file'
         fileName='SardineSchoolFinal.x3d._VP_Original_Viewpoint_in_original_file.png' found='true'/>
      <Viewpoint description='[105] SardineSchoolFinal.x3d Sardine ride'
         fileName='SardineSchoolFinal.x3d._VP_Sardine_ride.png' found='true'/>
      <Viewpoint description='[106] SardineSchoolFinal.x3d Sardine4 ride'
         fileName='SardineSchoolFinal.x3d._VP_Sardine4_ride.png' found='true'/>
      <Viewpoint description='[107] SardineSchoolFinal.x3d Ride on Sardine 9'
         fileName='SardineSchoolFinal.x3d._VP_Ride_on_Sardine_9.png' found='true'/>
      <Viewpoint description='[108] SardineSchoolFinal.x3d View from Back'
         fileName='SardineSchoolFinal.x3d._VP_View_from_Back.png' found='true'/>
      <Viewpoint description='[109] SardineSchoolFinal.x3d View from under and center of original view'
         fileName='SardineSchoolFinal.x3d._VP_View_from_under_and_center_of_original_view.png'
         found='true'/>
      <Viewpoint description='[110] SardineSchoolFinal.x3d View from left side of original view'
         fileName='SardineSchoolFinal.x3d._VP_View_from_left_side_of_original_view.png' found='true'/>
      <Viewpoint description='[111] SardineSchoolFinal.x3d View from right side of original view'
         fileName='SardineSchoolFinal.x3d._VP_View_from_right_side_of_original_view.png' found='true'/>
      <Viewpoint description='[112] SardineSchoolFinal.x3d View from above center of original view'
         fileName='SardineSchoolFinal.x3d._VP_View_from_above_center_of_original_view.png' found='true'/>
      <Viewpoint description='[113] SardineSchoolFinal.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchoolFinal.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='sardine school - 30 fish'
       license='../license.html' modified='20 October 2019' name='SardineSchoolMidterm'
       thumbnail='_thumbnails/SardineSchoolMidtermThumbnail.png' title='Sardine School Midterm'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchoolMidterm.x3d'>
      <Viewpoint description='[114] SardineSchoolMidterm.x3d Original Viewpoint in original file'
         fileName='SardineSchoolMidterm.x3d._VP_Original_Viewpoint_in_original_file.png' found='true'/>
      <Viewpoint description='[115] SardineSchoolMidterm.x3d Sardine ride'
         fileName='SardineSchoolMidterm.x3d._VP_Sardine_ride.png' found='true'/>
      <Viewpoint description='[116] SardineSchoolMidterm.x3d Sardine4 ride'
         fileName='SardineSchoolMidterm.x3d._VP_Sardine4_ride.png' found='true'/>
      <Viewpoint description='[117] SardineSchoolMidterm.x3d Ride on Sardine 9'
         fileName='SardineSchoolMidterm.x3d._VP_Ride_on_Sardine_9.png' found='true'/>
      <Viewpoint description='[118] SardineSchoolMidterm.x3d View from Back'
         fileName='SardineSchoolMidterm.x3d._VP_View_from_Back.png' found='true'/>
      <Viewpoint description='[119] SardineSchoolMidterm.x3d View from under and center of original view'
         fileName='SardineSchoolMidterm.x3d._VP_View_from_under_and_center_of_original_view.png'
         found='true'/>
      <Viewpoint description='[120] SardineSchoolMidterm.x3d View from left side of original view'
         fileName='SardineSchoolMidterm.x3d._VP_View_from_left_side_of_original_view.png' found='true'/>
      <Viewpoint description='[121] SardineSchoolMidterm.x3d View from right side of original view'
         fileName='SardineSchoolMidterm.x3d._VP_View_from_right_side_of_original_view.png' found='true'/>
      <Viewpoint description='[122] SardineSchoolMidterm.x3d View from above center of original view'
         fileName='SardineSchoolMidterm.x3d._VP_View_from_above_center_of_original_view.png'
         found='true'/>
      <Viewpoint description='[123] SardineSchoolMidterm.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchoolMidterm.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='sardine school - 10 fish'
       license='../license.html' modified='20 October 2019' name='SardineSchoolOriginal'
       thumbnail='_thumbnails/SardineSchoolOriginalThumbnail.png' title='Sardine School Original'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchoolOriginal.x3d'>
      <Viewpoint description='[124] SardineSchoolOriginal.x3d Original Viewpoint in original file'
         fileName='SardineSchoolOriginal.x3d._VP_Original_Viewpoint_in_original_file.png' found='true'/>
      <Viewpoint description='[125] SardineSchoolOriginal.x3d Sardine ride'
         fileName='SardineSchoolOriginal.x3d._VP_Sardine_ride.png' found='true'/>
      <Viewpoint description='[126] SardineSchoolOriginal.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchoolOriginal.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles' description='sardine school - 30 fish'
       license='../license.html' modified='20 October 2019' name='SardineSchoolTriple'
       thumbnail='_thumbnails/SardineSchoolTripleThumbnail.png' title='Sardine School Triple'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineSchoolTriple.x3d'>
      <Viewpoint description='[127] SardineSchoolTriple.x3d Original Viewpoint in original file'
         fileName='SardineSchoolTriple.x3d._VP_Original_Viewpoint_in_original_file.png' found='true'/>
      <Viewpoint description='[128] SardineSchoolTriple.x3d Sardine ride'
         fileName='SardineSchoolTriple.x3d._VP_Sardine_ride.png' found='true'/>
      <Viewpoint description='[129] SardineSchoolTriple.x3d (default X3D view from 0 0 10)'
         fileName='SardineSchoolTriple.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles'
       description='Picture of a sardine for high detail' license='../license.html'
       modified='20 October 2019' name='SardineShape' thumbnail='_thumbnails/SardineShapeThumbnail.png'
       title='Sardine Shape' translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineShape.x3d'>
      <Viewpoint description='[130] SardineShape.x3d (default X3D view from 0 0 10)'
         fileName='SardineShape.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles'
       description='Picture of a sardine for high detail' license='../license.html'
       modified='20 October 2019' name='SardineWagging'
       thumbnail='_thumbnails/SardineWaggingThumbnail.png' title='Sardine Wagging'
       translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineWagging.x3d'>
      <Viewpoint description='[131] SardineWagging.x3d (default X3D view from 0 0 10)'
         fileName='SardineWagging.x3d._VP_Default_viewpoint.png' found='false'/>
    </Page>
    <Page created='25 September 1998' creator='Stewart Liles'
       description='Individual Sardine for use in the Sardine School.' license='../license.html'
       modified='20 October 2019' name='SardineX' thumbnail='_thumbnails/SardineXThumbnail.png'
       title='Sardine X' translator='Sean Hynes'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SardineX.x3d'>
      <Viewpoint description='[132] SardineX.x3d (default X3D view from 0 0 10)'
         fileName='SardineX.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Karl Tenney'
       description='SeaStar used in the kelp forest project' license='../license.html'
       modified='20 October 2019' name='SeaStarGroup' thumbnail='_thumbnails/SeaStarGroupThumbnail.png'
       title='Sea Star Group' translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarGroup.x3d'>
      <Viewpoint description='[133] SeaStarGroup.x3d (default X3D view from 0 0 10)'
         fileName='SeaStarGroup.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='19 December 2002' creator='Charles Adams'
       description='Example instance of a SeaStar high-resolution prototype using default settings.'
       license='../license.html' modified='7 December 2024' name='SeaStarHighResolutionExample'
       thumbnail='_thumbnails/SeaStarHighResolutionExampleThumbnail.png'
       title='Sea Star High Resolution Example'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarHighResolutionExample.x3d'>
      <Viewpoint description='[134] SeaStarHighResolutionExample.x3d Sea star, high resolution'
         fileName='SeaStarHighResolutionExample.x3d._VP_Sea_star,_high_resolution.png' found='true'/>
      <Viewpoint description='[135] SeaStarHighResolutionExample.x3d (default X3D view from 0 0 10)'
         fileName='SeaStarHighResolutionExample.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='25 November 2002' creator='Charles Adams'
       description='High-resolution model of a seastar, created in Maya 4 and exposed as a prototype for further reuse.'
       license='../license.html' modified='7 December 2024' name='SeaStarHighResolutionPrototype'
       thumbnail='_thumbnails/SeaStarHighResolutionPrototypeThumbnail.png'
       title='Sea Star High Resolution Prototype'
       translator='Xeena VRML importer, X3D-Edit 3.1, https://www.web3d.org/x3d/content/README.X3D-Edit.html'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarHighResolutionPrototype.x3d'>
      <Viewpoint description='[136] SeaStarHighResolutionPrototype.x3d (default X3D view from 0 0 10)'
         fileName='SeaStarHighResolutionPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='17 December 2001' creator='Karl Tenney'
       description='Prototype of a simple SeaStar. Zoom in to inspect.' license='../license.html'
       modified='20 October 2019' name='SeaStarPrototype'
       thumbnail='_thumbnails/SeaStarPrototypeThumbnail.png' title='Sea Star Prototype'
       translator='Scott Tufts'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarPrototype.x3d'>
      <Viewpoint description='[137] SeaStarPrototype.x3d (default X3D view from 0 0 10)'
         fileName='SeaStarPrototype.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Karl Tenney'
       description='A simple sea star constructed out of scaled Sphere primitives.'
       license='../license.html' modified='20 October 2019' name='SeaStarSimple'
       thumbnail='_thumbnails/SeaStarSimpleThumbnail.png' title='Sea Star Simple'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SeaStarSimple.x3d'>
      <Viewpoint description='[138] SeaStarSimple.x3d SeaStarSimple default'
         fileName='SeaStarSimple.x3d._VP_SeaStarSimple_default.png' found='true'/>
      <Viewpoint description='[139] SeaStarSimple.x3d SeaStarSimple main'
         fileName='SeaStarSimple.x3d._VP_SeaStarSimple_main.png' found='true'/>
      <Viewpoint description='[140] SeaStarSimple.x3d SeaStarSimple from above'
         fileName='SeaStarSimple.x3d._VP_SeaStarSimple_from_above.png' found='true'/>
      <Viewpoint description='[141] SeaStarSimple.x3d (default X3D view from 0 0 10)'
         fileName='SeaStarSimple.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='Lefty Shark, who has the red/gold NPS logo because he is proud of being a Marine animal.'
       license='../license.html' modified='20 October 2019' name='SharkLefty' subject='shark X3D'
       thumbnail='_thumbnails/SharkLeftyThumbnail.png' title='Shark Lefty' translator='Donald Julian'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLefty.x3d'>
      <Viewpoint description='[142] SharkLefty.x3d Behind Lefty Shark'
         fileName='SharkLefty.x3d._VP_Behind_Lefty_Shark.png' found='true'/>
      <Viewpoint description='[143] SharkLefty.x3d In front of Lefty Shark'
         fileName='SharkLefty.x3d._VP_In_front_of_Lefty_Shark.png' found='true'/>
      <Viewpoint description='[144] SharkLefty.x3d (default X3D view from 0 0 10)'
         fileName='SharkLefty.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='Lefty Shark with animation to traverse the tank' license='../license.html'
       modified='20 October 2019' name='SharkLeftyLocale'
       thumbnail='_thumbnails/SharkLeftyLocaleThumbnail.png' title='Shark Lefty Locale'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLeftyLocale.x3d'>
      <Viewpoint description='[145] SharkLeftyLocale.x3d (default X3D view from 0 0 10)'
         fileName='SharkLeftyLocale.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='Lucy Shark is a tour guide for the Kelp Forest exhibit.' license='../license.html'
       modified='20 October 2019' name='SharkLucy' subject='shark X3D'
       thumbnail='_thumbnails/SharkLucyThumbnail.png' title='Shark Lucy' translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucy.x3d'>
      <Viewpoint description='[146] SharkLucy.x3d Behind Lucy Shark'
         fileName='SharkLucy.x3d._VP_Behind_Lucy_Shark.png' found='true'/>
      <Viewpoint description='[147] SharkLucy.x3d In front of Lucy Shark'
         fileName='SharkLucy.x3d._VP_In_front_of_Lucy_Shark.png' found='true'/>
      <Viewpoint description='[148] SharkLucy.x3d (default X3D view from 0 0 10)'
         fileName='SharkLucy.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 June 1998' creator='Tim McLean'
       description='Lucy Shark with animation to traverse the tank' license='../license.html'
       modified='20 October 2019' name='SharkLucyLocale'
       thumbnail='_thumbnails/SharkLucyLocaleThumbnail.png' title='Shark Lucy Locale'
       translator='Don Brutzman'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/SharkLucyLocale.x3d'>
      <Viewpoint description='[149] SharkLucyLocale.x3d (default X3D view from 0 0 10)'
         fileName='SharkLucyLocale.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='1 May 1998' creator='Ildeniz Duman'
       description='Create a new fish type through configuration of the CircleFishLod prototype.'
       license='../license.html' modified='20 October 2019' name='StripedSurfPerch'
       thumbnail='_thumbnails/StripedSurfPerchThumbnail.png' title='Striped Surf Perch'
       translator='Jeff Weekley'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerch.x3d'>
      <Viewpoint description='[150] StripedSurfPerch.x3d Striped SurfPerch'
         fileName='StripedSurfPerch.x3d._VP_Striped_SurfPerch.png' found='true'/>
      <Viewpoint description='[151] StripedSurfPerch.x3d (default X3D view from 0 0 10)'
         fileName='StripedSurfPerch.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='18 February 2001' creator='Michael Collins'
       description='One fish plaque with lithograph on one side and actual picture on the back. Click on plaque to go to picture or click on buttons to change picture.'
       license='../license.html' modified='29 November 2025' name='StripedSurfPerchPlaque'
       thumbnail='_thumbnails/StripedSurfPerchPlaqueThumbnail.png' title='Striped Surf Perch Plaque'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/StripedSurfPerchPlaque.x3d'
       warning='under development'>
      <Viewpoint description='[152] StripedSurfPerchPlaque.x3d Striped Surf Perch'
         fileName='StripedSurfPerchPlaque.x3d._VP_Striped_Surf_Perch.png' found='true'/>
      <Viewpoint description='[153] StripedSurfPerchPlaque.x3d (default X3D view from 0 0 10)'
         fileName='StripedSurfPerchPlaque.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
    <Page created='18 February 2001' creator='Michael Collins'
       description='One fish plaque with lithograph on one side and actual picture on the back. Click on plaque to go to picture or click on buttons to change picture.'
       license='../license.html' modified='25 March 2020' name='TreeFishPlaque'
       thumbnail='_thumbnails/TreeFishPlaqueThumbnail.png' title='Tree Fish Plaque'
       url='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/TreeFishPlaque.x3d'
       warning='unfinished'>
      <Viewpoint description='[154] TreeFishPlaque.x3d Tree Fish'
         fileName='TreeFishPlaque.x3d._VP_Tree_Fish.png' found='true'/>
      <Viewpoint description='[155] TreeFishPlaque.x3d (default X3D view from 0 0 10)'
         fileName='TreeFishPlaque.x3d._VP_Default_viewpoint.png' found='true'/>
    </Page>
  </Chapter>
</ContentCatalog>


