<?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='Immersive' 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 name='titlecontent='IntegerSequencerExample.x3d'/>
<meta name='descriptioncontent='This example shows how to use the IntegerSequencer prototype in an animated scenario.'/>
<meta name='creatorcontent='Don Brutzman'/>
<meta name='createdcontent='13 April 2002'/>
<meta name='modifiedcontent='12 January 2014'/>
<meta name='referencecontent=' http://www.web3d.org/technicalinfo/specifications/vrml97/part1/nodesRef.html#ScalarInterpolator '/>
<meta name='referencecontent=' http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoPrototypes.x3d '/>
<meta name='subjectcontent='integer sequencer'/>
<meta name='identifiercontent=' http://www.web3d.org/x3d/content/examples/Basic/development/IntegerSequencerExample.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<Background groundColor='0.2 0.2 0.2skyColor='0.2 0.2 0.2'/>
<!-- ROUTE information for Clock node:  [from TouchToStart.touchTime to set_startTime ] [from TouchToStart.isOver to enabled ] [from fraction_changed to IntegerSequencerInstance.set_fraction ] -->
<TimeSensor DEF='ClockcycleInterval='12enabled='falseloop='true'/>
<!-- ROUTE information for IntegerSequencerInstance node:  [from Clock.fraction_changed to set_fraction ] [from TouchPrevious.isActive to previous ] [from TouchNext.isActive to next ] [from value_changed to CountDownSwitch.whichChoice ] -->
<IntegerSequencer DEF='IntegerSequencerInstancekey='0 0.08333 0.1667 0.25 0.3333 0.4167 0.5 0.5833 0.6666 0.75 0.8333 0.9167 1.0keyValue='10 9 8 7 6 5 4 3 2 1 0 -1 10containerField='children'/>
<ROUTE fromNode='ClockfromField='fraction_changedtoNode='IntegerSequencerInstancetoField='set_fraction'/>
<Transform translation='0 2 0'>
<Shape>
<Text string='"IntegerSequencer => Switch" "touch blue text to count down"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material diffuseColor='0.4 0.6 0.8'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchToStart node:  [from touchTime to Clock.set_startTime ] [from isOver to Clock.enabled ] -->
<TouchSensor DEF='TouchToStartdescription='Touch To Start'/>
<ROUTE fromNode='TouchToStartfromField='touchTimetoNode='ClocktoField='set_startTime'/>
<ROUTE fromNode='TouchToStartfromField='isOvertoNode='ClocktoField='enabled'/>
<!-- background box to simplify touching -->
<Transform translation='0 0 -0.5'>
<Shape>
<Box size='11 2 0.1'/>
<Appearance>
<Material diffuseColor='0.2 0.2 0.2transparency='0.95'/>
</Appearance>
</Shape>
</Transform>
</Transform>
<Transform translation='-3 -2.5 0'>
<Shape>
<Text string='"click for" "previous key" "(count up)"'>
<FontStyle DEF='PreviousNextFontjustify='"MIDDLE" "MIDDLE"size='0.7'/>
</Text>
<Appearance>
<Material diffuseColor='0.8 0.6 0.4'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchPrevious node:  [from isActive to IntegerSequencerInstance.previous ] -->
<TouchSensor DEF='TouchPreviousdescription='touch for previous'/>
<ROUTE fromNode='TouchPreviousfromField='isActivetoNode='IntegerSequencerInstancetoField='previous'/>
</Transform>
<Transform translation='3 -2.5 0'>
<Shape>
<Text string='"click for" "next key" "(count down)"'>
<FontStyle USE='PreviousNextFont'/>
</Text>
<Appearance>
<Material diffuseColor='0.8 0.6 0.4'/>
</Appearance>
</Shape>
<!-- ROUTE information for TouchNext node:  [from isActive to IntegerSequencerInstance.next ] -->
<TouchSensor DEF='TouchNextdescription='touch for next'/>
<ROUTE fromNode='TouchNextfromField='isActivetoNode='IntegerSequencerInstancetoField='next'/>
</Transform>
<!-- Interesting materials from Universal Media library -->
<ExternProtoDeclare name='ArtDeco02'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco02" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco02" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco02" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco02" '/>

<ExternProtoDeclare name='ArtDeco04'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco04" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco04" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco04" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco04" '/>

<ExternProtoDeclare name='ArtDeco05'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco05" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco05" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco05" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco05" '/>

<ExternProtoDeclare name='ArtDeco08'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco08" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco08" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco08" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco08" '/>

<ExternProtoDeclare name='ArtDeco09'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco09" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco09" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco09" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco09" '/>

<ExternProtoDeclare name='ArtDeco13'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco13" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco13" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco13" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco13" '/>

<ExternProtoDeclare name='ArtDeco18'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco18" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco18" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco18" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco18" '/>

<ExternProtoDeclare name='ArtDeco21'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco21" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco21" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco21" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco21" '/>

<ExternProtoDeclare name='ArtDeco24'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco24" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco24" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco24" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco24" '/>

<ExternProtoDeclare name='ArtDeco25'
  url=' "../UniversalMediaMaterials/ArtDecoPrototypes.wrl#ArtDeco25" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoDemo.wrl#ArtDeco25" "../UniversalMediaMaterials/ArtDecoPrototypes.x3d#ArtDeco25" "http://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials/ArtDecoExamples.x3d#ArtDeco25" '/>

<Transform translation='0 -0.5 0'>
<!-- ROUTE information for CountDownSwitch node:  [from IntegerSequencerInstance.value_changed to whichChoice ] -->
<Switch DEF='CountDownSwitchwhichChoice='0'>
<Group>
<Shape>
<Text length='0string='"child choice 0"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco02containerField='material'/>
</Appearance>
</Shape>
</Group>
<Shape>
<Text length='0string='"child choice 1"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco09containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 2"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco08containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 3"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco18containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 4"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco21containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 5"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco24containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 6"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco25containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 7"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco13containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 8"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco05containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 9"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco04containerField='material'/>
</Appearance>
</Shape>
<Shape>
<Text length='0string='"child choice 10"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<ProtoInstance name='ArtDeco02containerField='material'/>
</Appearance>
</Shape>
</Switch>
</Transform>
<ROUTE fromNode='IntegerSequencerInstancefromField='value_changedtoNode='CountDownSwitchtoField='whichChoice'/>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definitions : ArtDeco02, ArtDeco04, ArtDeco05, ArtDeco08, ArtDeco09, ArtDeco13, ArtDeco18, ArtDeco21, ArtDeco24, ArtDeco25

Index for DEF nodes : Clock, CountDownSwitch, IntegerSequencerInstance, PreviousNextFont, TouchNext, TouchPrevious, TouchToStart
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D extensibility)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

<!-- Additional help information about X3D scenes: X3D Resources, X3D Scene Authoring Hints and X3D Tooltips -->