<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'>
  <head>
    <meta content='TestSliders.x3d' name='title'/>
    <meta content='X3D Follower example' name='description'/>
    <meta content='Herbert Stocker' name='creator'/>
    <meta content='Don Brutzman' name='translator'/>
    <meta content='18 April 2006' name='created'/>
    <meta content='2 December 2011' name='translated'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='originals/test_Sliders.wrl' name='reference'/>
    <meta content='Stocker_06_Followers.pdf' name='reference'/>
    <meta content='http://www.hersto.com/Publications/Followers' name='reference'/>
    <meta content='X3D version 3.2 or greater' name='requires'/>
    <meta content='X3D Follower Chaser Damper' name='subject'/>
    <meta content='under development' name='warning'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/Basic/Followers/TestSliders.x3d' name='identifier'/>
    <meta content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html' name='generator'/>
    <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='TestSliders.x3d'/>
    <ExternProtoDeclare name='Slider' url='"Slider.x3d#Slider" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Slider.x3d#Slider" "Slider.wrl#Slider" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Slider.wrl#Slider"'>
      <field accessType='initializeOnly' name='initial_position' type='SFFloat'/>
      <field accessType='inputOutput' name='radiusKnob' type='SFFloat'/>
      <field accessType='inputOutput' name='radiusStick' type='SFFloat'/>
      <field accessType='inputOutput' name='min' type='SFFloat'/>
      <field accessType='outputOnly' name='position_changed' type='SFFloat'/>
      <field accessType='inputOutput' name='appearance' type='SFNode'/>
      <field accessType='inputOutput' name='smoothMovements' type='SFBool'/>
      <field accessType='inputOnly' name='set_position' type='SFFloat'/>
      <field accessType='inputOutput' name='pageSize' type='SFFloat'/>
      <field accessType='inputOutput' name='max' type='SFFloat'/>
      <field accessType='inputOutput' name='height' type='SFFloat'/>
    </ExternProtoDeclare>
    <NavigationInfo type='"EXAMINE"'/>
    <Viewpoint description='view 1' orientation='-0.527 0.846 0.075 0.462' position='2.741 3.259 6.6'/>
    <Viewpoint description='view 2' orientation='0.973 0.232 0.024 0.466' position='0.865 -1.591 6.723'/>
    <Viewpoint description='view 3' orientation='0.997 0.06 0.05 1.705' position='0.934 -5.744 -0.794'/>
    <Viewpoint description='view 4' orientation='0.888 0.23 0.399 3.139' position='5.165 3.009 -4.663'/>
    <Viewpoint description='view 5' orientation='0.116 0.234 -0.965 1.866' position='0.424 -2.489 8.627'/>
    <Viewpoint description='view 6' orientation='-0.3 0.639 -0.708 1.922' position='6.309 -1.261 2.853'/>
    <Transform>
      <Transform rotation='0.983 0.152 0.098 0.286'>
        <Transform rotation='0.705 0.654 -0.274 -1.09'>
          <Transform rotation='0.0 0.0 -1.0 1.5708' translation='2.5 0.0 0.0'>
            <ProtoInstance DEF='SldX' name='Slider'>
              <fieldValue name='initial_position' value='2.5'/>
              <fieldValue name='radiusKnob' value='0.225'/>
              <fieldValue name='min' value='1.0'/>
              <fieldValue name='radiusStick' value='0.15'/>
              <fieldValue name='appearance'>
                <Appearance DEF='App'>
                  <Material ambientIntensity='0.055' diffuseColor='0.75 0.0 0.55' emissiveColor='0.1 0.0 0.07' shininess='0.157' specularColor='0.67 0.67 0.67'/>
                </Appearance>
              </fieldValue>
              <fieldValue name='pageSize' value='1.0'/>
              <fieldValue name='max' value='5.0'/>
            </ProtoInstance>
            <Transform translation='0.0 -1.25 0.0'>
              <Shape>
                <Appearance USE='App'/>
                <Cylinder height='2.5' radius='0.02'/>
              </Shape>
            </Transform>
          </Transform>
          <Transform translation='0.0 2.5 0.0'>
            <ProtoInstance DEF='SldY' name='Slider'>
              <fieldValue name='initial_position' value='2.5'/>
              <fieldValue name='radiusKnob' value='0.225'/>
              <fieldValue name='min' value='1.0'/>
              <fieldValue name='radiusStick' value='0.15'/>
              <fieldValue name='appearance'>
                <Appearance USE='App'/>
              </fieldValue>
              <fieldValue name='pageSize' value='1.0'/>
              <fieldValue name='max' value='5.0'/>
            </ProtoInstance>
            <Transform translation='0.0 -1.25 0.0'>
              <Shape>
                <Appearance USE='App'/>
                <Cylinder height='2.5' radius='0.02'/>
              </Shape>
            </Transform>
          </Transform>
          <Transform rotation='1.0 0.0 0.0 1.5708' translation='0.0 0.0 2.5'>
            <ProtoInstance DEF='SldZ' name='Slider'>
              <fieldValue name='initial_position' value='2.5'/>
              <fieldValue name='radiusKnob' value='0.225'/>
              <fieldValue name='min' value='1.0'/>
              <fieldValue name='radiusStick' value='0.15'/>
              <fieldValue name='appearance'>
                <Appearance USE='App'/>
              </fieldValue>
              <fieldValue name='pageSize' value='1.0'/>
              <fieldValue name='max' value='5.0'/>
            </ProtoInstance>
            <Transform translation='0.0 -1.25 0.0'>
              <Shape>
                <Appearance USE='App'/>
                <Cylinder height='2.5' radius='0.02'/>
              </Shape>
            </Transform>
          </Transform>
        </Transform>
      </Transform>
    </Transform>
    <Transform rotation='0.983 0.152 0.098 0.286'>
      <Transform rotation='0.705 0.654 -0.274 -1.09'>
        <Transform DEF='Trans'>
          <TouchSensor DEF='TchBox' description='touch to activate'/>
          <Shape>
            <Appearance>
              <Material ambientIntensity='0.0933' diffuseColor='0.37 0.0 0.75' emissiveColor='0.05 0.0 0.1' shininess='0.41' specularColor='0.91 0.91 0.91'/>
            </Appearance>
            <Box size='0.3 0.3 0.3'/>
          </Shape>
        </Transform>
      </Transform>
    </Transform>
    <Script DEF='Worker'>
      <field accessType='inputOnly' name='set_Z' type='SFFloat'/>
      <field accessType='inputOnly' name='set_Y' type='SFFloat'/>
      <field accessType='inputOnly' name='set_X' type='SFFloat'/>
      <field accessType='initializeOnly' name='Pos' type='SFVec3f' value='1.0 1.0 1.0'/>
      <field accessType='outputOnly' name='Pos_changed' type='SFVec3f'/>
      <![CDATA[
ecmascript:

function set_X(x) { Pos.x= x; }
function set_Y(y) { Pos.y= y; }
function set_Z(z) { Pos.z= z; }

function eventsProcessed()
{
    Pos_changed= Pos;
}
]]>
    </Script>
    <ROUTE fromField='position_changed' fromNode='SldX' toField='set_X' toNode='Worker'/>
    <ROUTE fromField='position_changed' fromNode='SldY' toField='set_Y' toNode='Worker'/>
    <ROUTE fromField='position_changed' fromNode='SldZ' toField='set_Z' toNode='Worker'/>
    <ROUTE fromField='Pos_changed' fromNode='Worker' toField='scale' toNode='Trans'/>
    <Script DEF='SmoothWorker'>
      <field accessType='outputOnly' name='SmoothMovements' type='SFBool'/>
      <field accessType='inputOnly' name='Box_touched' type='SFTime'/>
      <![CDATA[
ecmascript:

function initialize()
{
    SmoothMovements= true;
}

function Box_touched(now)
{
    SmoothMovements= !SmoothMovements;
}
]]>
    </Script>
    <ROUTE fromField='touchTime' fromNode='TchBox' toField='Box_touched' toNode='SmoothWorker'/>
  </Scene>
</X3D>