<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interactive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  <head>
    <meta content='Doors.x3d' name='title'/>
    <meta content='Two doors activated by different fields from a TouchSensor node.' name='description'/>
    <meta content='Leonard Daly and Don Brutzman' name='creator'/>
    <meta content='6 June 2006' name='created'/>
    <meta content='20 October 2019' name='modified'/>
    <meta content='https://X3dGraphics.com' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dResources.html' name='reference'/>
    <meta content='Copyright 2006, Daly Realism and Don Brutzman' name='rights'/>
    <meta content='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com' name='subject'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/Doors.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='Doors.x3d'/>
    <Background skyColor='1 1 1'/>
    <NavigationInfo type='"WALK" "ANY"'/>
    <Viewpoint description='Initial default' position='0 1.4 10'/>
    <Viewpoint description='Book View' position='0 1.4 4.5'/>
    <Transform>
      <Shape>
        <Appearance>
          <Material diffuseColor='.6 .2 0' shininess='0'/>
          <ImageTexture url='"brick_3.jpg" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/brick_3.jpg" "http://www.dei.isep.ipp.pt/~losa/public/cg/UniversalMedia/textures/urban/brick_3.jpg"'/>
        </Appearance>
        <IndexedFaceSet DEF='Wall' coordIndex='0 1 2 3 -1 0 3 8 11 -1 4 5 6 7 -1 8 9 10 11 -1 12 15 14 13 -1 12 23 20 15 -1 16 19 18 17 -1 20 23 22 21 -1 0 1 13 12 -1 2 14 15 3 -1 4 16 17 5 -1 7 6 18 19 -1 8 20 21 9 -1 11 10 22 23 -1 0 11 23 12 -1 1 13 14 2 -1 3 15 16 4 -1 7 19 20 8 -1 5 17 18 6 -1 9 21 22 10 -1'>
          <Coordinate point='-2 3 0 -2 0 0 -1.5 0 0 -1.5 2.25 0 -.5 2.25 0 -.5 0 0 .5 0 0 .5 2.25 0 1.5 2.25 0 1.5 0 0 2 0 0 2 3 0 -2 3 -.1 -2 0 -.1 -1.5 0 -.1 -1.5 2.25 -.1 -.5 2.25 -.1 -.5 0 -.1 .5 0 -.1 .5 2.25 -.1 1.5 2.25 -.1 1.5 0 -.1 2 0 -.1 2 3 -.1'/>
        </IndexedFaceSet>
      </Shape>
    </Transform>
    <Transform DEF='DoorLeftTransform' center='-.5 0 0' translation='-1 1.125 -.05'>
      <Group DEF='Door'>
        <Shape DEF='DoorShape'>
          <Appearance DEF='DoorApp'>
            <Material DEF='DoorMat' diffuseColor='0 .7 0'/>
            <ImageTexture DEF='DoorImage' url='"door_1.jpg" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity/door_1.jpg" "http://www.dei.isep.ipp.pt/~losa/public/cg/UniversalMedia/textures/urban/door_1.jpg"'/>
          </Appearance>
          <IndexedFaceSet DEF='DoorGeometry' coordIndex='0 1 2 3 -1 4 7 6 5 -1 0 1 5 4 -1 1 5 6 2 -1 2 6 7 3 -1 3 7 6 4 -1'>
            <Coordinate point='-.5 -1.125 .05 .5 -1.125 .05 .5 1.125 .05 -.5 1.125 .05 -.5 -1.125 -.05 .5 -1.125 -.05 .5 1.125 -.05 -.5 1.125 -.05'/>
            <TextureCoordinate point='0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 .95 0 1 .95 .95 .95 1 0 .95 0 1 .95 .95 .95 1 0 .95 0 1 .95 .95 .95 1 0 .95 0 1 .95 .95 .95'/>
          </IndexedFaceSet>
        </Shape>
      </Group>
      <OrientationInterpolator DEF='MoverLeft' key='0 1' keyValue='0 1 0 0 0 1 0 -1'/>
      <TimeSensor DEF='TimerLeft' cycleInterval='3'/>
      <TimeTrigger DEF='TriggerLeft'/>
      <BooleanFilter DEF='FilterLeft'/>
      <TouchSensor DEF='TouchLeft' description='touch to activate'/>
      <ROUTE fromField='isActive' fromNode='TouchLeft' toField='set_boolean' toNode='FilterLeft'/>
      <ROUTE fromField='inputTrue' fromNode='FilterLeft' toField='set_boolean' toNode='TriggerLeft'/>
      <ROUTE fromField='triggerTime' fromNode='TriggerLeft' toField='startTime' toNode='TimerLeft'/>
      <ROUTE fromField='fraction_changed' fromNode='TimerLeft' toField='set_fraction' toNode='MoverLeft'/>
      <ROUTE fromField='value_changed' fromNode='MoverLeft' toField='rotation' toNode='DoorLeftTransform'/>
    </Transform>
    <Transform DEF='DoorRight' center='-.5 0 0' translation='1 1.125 -.05'>
      <Group USE='Door'/>
      <OrientationInterpolator DEF='MoverRight' key='0 1' keyValue='0 1 0 0 0 1 0 -1'/>
      <TimeSensor DEF='TimerRight' cycleInterval='3'/>
      <TouchSensor DEF='TouchRight' description='touch to activate'/>
      <ROUTE fromField='touchTime' fromNode='TouchRight' toField='startTime' toNode='TimerRight'/>
      <ROUTE fromField='fraction_changed' fromNode='TimerRight' toField='set_fraction' toNode='MoverRight'/>
      <ROUTE fromField='value_changed' fromNode='MoverRight' toField='rotation' toNode='DoorRight'/>
    </Transform>
  </Scene>
</X3D>