<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Interchange' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='Figure13.17bMorphingCubeLineSet.x3d' name='title'/>
    <meta content='Figure 13.17, The VRML 2.0 Sourcebook, Copyright [1997] By Andrea L. Ames, David R. Nadeau, and John L. Moreland' name='creator'/>
    <meta content='http://www.wiley.com/legacy/compbooks/vrml2sbk/ch13/13fig17.htm' name='reference'/>
    <meta content='Don Brutzman and Colleen Case' name='translators'/>
    <meta content='16 August 2000' name='created'/>
    <meta content='14 January 2010' name='modified'/>
    <meta content='A morphing cube shape using IndexedLineSet and CoordinateInterpolator. Note that constant-width lines thwart perspective rendering and lead to optical-illusion effects.' name='description'/>
    <meta content='http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter13-PointsLinesFaces/Figure13.17bMorphingCubeLineSet.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit' name='generator'/>
    <meta content='../../license.html' name='license'/>
  </head>
  <Scene>
    <Group>
      <Shape>
        <Appearance>
          <!-- Note use of emissiveColor rather than diffuseColor, so that lines will render. -->
          <Material emissiveColor='0 1 1'/>
        </Appearance>
        <!-- Note that coordIndex sets repeat first and last values in order to close each polygon outline. -->
        <IndexedLineSet coordIndex='0 1 2 3 0 -1 7 6 5 4 7 -1 0 4 5 1 0 -1 1 5 6 2 1 -1 2 6 7 3 2 -1 3 7 4 0 3 -1'>
          <Coordinate DEF='CUBE_COORDINATES' point='-1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0'/>
        </IndexedLineSet>
      </Shape>
      <TimeSensor DEF='CLOCK' cycleInterval='4' loop='true'/>
      <CoordinateInterpolator DEF='CUBE_MORPH' key='0.0 0.5 1.0' keyValue='-1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.5 1.0 1.5 1.5 1.0 1.5 1.5 1.0 -1.5 -1.5 1.0 -1.5 -0.5 -1.0 0.5 0.5 -1.0 0.5 0.5 -1.0 -0.5 -0.5 -1.0 -0.5 -1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 1.0 1.0 -1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0 -1.0'/>
    </Group>
    <ROUTE fromField='fraction_changed' fromNode='CLOCK' toField='set_fraction' toNode='CUBE_MORPH'/>
    <ROUTE fromField='value_changed' fromNode='CUBE_MORPH' toField='set_point' toNode='CUBE_COORDINATES'/>
  </Scene>
</X3D>