<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='TestViewpointJump.x3d' name='title'/>
    <meta content='Conformance Test for Viewpoint: immediate switching (jump=true) and smooth animation (jump=false). Press PgUp/PgDn or touch geometry to change viewpoints.' name='description'/>
    <meta content='CosmoPlayer 2.1.1 fails when "Animate transition between viewpoints" option is turned off. First, try this test by opening the Control Panel, selecting "Animate transition between viewpoints". Use Page Down key to switch between viewpoints. You should smoothly transition between viewpoints. Next, turn the "Animate transition bewtween viewpoints" option off. Use Page Down key to switch between viewpoints. You should see a jump to the objects labeled "jump=true" and an animated transition to the objects labeled "jump=false".' name='warning'/>
    <meta content='Jeffrey Weekley and Don Brutzman' name='creator'/>
    <meta content='25 July 2001' name='created'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='https://www.web3d.org/technicalinfo/specifications/vrml97/part1/nodesRef.html#Viewpoint' name='reference'/>
    <meta content='Viewpoint conformance test' name='subject'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Basic/development/TestViewpointJump.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='TestViewpointJump.x3d'/>
    <Viewpoint description='Initial viewpoint, default jump (jump true)' position='0 0 7.5'/>
    <!-- default value for field is jump='true' -->
    <Viewpoint DEF='ConeView' description='Red Cone (jump true)' orientation='0 -1 0 1' position='-4.6 1.4 1.9'/>
    <Viewpoint DEF='SphereView' description='Blue Sphere (jump false)' jump='false' orientation='0 1 0 .7572' position='4.7 -1.2 3.3'/>
    <Viewpoint DEF='CubeView' description='Magenta Cube (jump true)' orientation='0 -1 0 1.0529' position='-6.1 -1.5 2.7'/>
    <Viewpoint DEF='CylinderView' description='White Cylinder (jump false)' jump='false' orientation='0 1 0 1' position='5.6 1.4 2.8'/>
    <Group DEF='Geometry'>
      <Transform DEF='Box' translation='-1.5 -1.5 0'>
        <Shape>
          <Box size='1 1 1'/>
          <Appearance>
            <Material diffuseColor='1 0 1'/>
          </Appearance>
        </Shape>
        <Transform translation='0 1 0'>
          <Billboard>
            <Shape>
              <Text string='"Magenta Cube Viewpoint" "jump=true"'>
                <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.25'/>
              </Text>
              <Appearance>
                <Material diffuseColor='0.4 0.8 0.6' shininess='0.8'/>
              </Appearance>
            </Shape>
          </Billboard>
        </Transform>
        <TouchSensor DEF='BoxTouchSensor' description='click to bind this viewpoint'/>
        <ROUTE fromField='isActive' fromNode='BoxTouchSensor' toField='set_bind' toNode='CubeView'/>
      </Transform>
      <Transform DEF='Sphere' translation='1.5 -1.5 0'>
        <Shape>
          <Sphere radius='0.5'/>
          <Appearance>
            <Material diffuseColor='0 0 1'/>
          </Appearance>
        </Shape>
        <Transform translation='0 1 0'>
          <Billboard>
            <Shape>
              <Text string='"Blue Sphere Viewpoint" "jump=false"'>
                <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.25'/>
              </Text>
              <Appearance>
                <Material diffuseColor='0.4 0.8 0.6' shininess='0.8'/>
              </Appearance>
            </Shape>
          </Billboard>
        </Transform>
        <TouchSensor DEF='SphereTouchSensor' description='click for blue sphere viewpoint'/>
        <ROUTE fromField='isActive' fromNode='SphereTouchSensor' toField='set_bind' toNode='SphereView'/>
      </Transform>
      <Transform DEF='Cone' translation='-1.5 1.25 0'>
        <Shape>
          <Cone bottomRadius='0.5' height='1'/>
          <Appearance>
            <Material diffuseColor='1 0 0'/>
          </Appearance>
        </Shape>
        <Transform translation='0 1 0'>
          <Billboard>
            <Shape>
              <Text string='"Red Cone Viewpoint" "jump=true"'>
                <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.25'/>
              </Text>
              <Appearance>
                <Material diffuseColor='0.4 0.8 0.6' shininess='0.8'/>
              </Appearance>
            </Shape>
          </Billboard>
        </Transform>
        <TouchSensor DEF='ConeTouchSensor' description='click for red cone viewpoint'/>
        <ROUTE fromField='isActive' fromNode='ConeTouchSensor' toField='set_bind' toNode='ConeView'/>
      </Transform>
      <Transform DEF='Cylinder' translation='1.5 1.25 0'>
        <Shape>
          <Cylinder height='1' radius='0.5'/>
          <Appearance>
            <Material diffuseColor='1 1 1'/>
          </Appearance>
        </Shape>
        <Transform translation='0 1 0'>
          <Billboard>
            <Shape>
              <Text string='"White Cylinder Viewpoint" "jump=false"'>
                <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.25'/>
              </Text>
              <Appearance>
                <Material diffuseColor='0.4 0.8 0.6' shininess='0.8'/>
              </Appearance>
            </Shape>
          </Billboard>
        </Transform>
        <TouchSensor DEF='CylinderTouchSensor' description='click for white cylinder viewpoint'/>
        <ROUTE fromField='isActive' fromNode='CylinderTouchSensor' toField='set_bind' toNode='CylinderView'/>
      </Transform>
    </Group>
  </Scene>
</X3D>