<?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 content='Figure31.4WoodAppearancePrototypesLibrary.x3d' name='title'/>
    <meta content='Figure 31.4, 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/ch31/31fig04.htm' name='reference'/>
    <meta content='Don Brutzman' name='translator'/>
    <meta content='31 October 2000' name='created'/>
    <meta content='28 May 2016' name='modified'/>
    <meta content='An external file containing an appearance library with wood appearances.' name='description'/>
    <meta content='http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter31-Prototypes/Figure31.4WoodAppearancePrototypesLibrary.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>
    <ProtoDeclare name='DarkOak'>
      <ProtoInterface>
        <field accessType='inputOutput' name='textureTransform' type='SFNode'>
          <!-- NULL node as child -->
        </field>
      </ProtoInterface>
      <ProtoBody>
        <Appearance DEF='DarkOakAppearance'>
          <!-- textureTransform field IS exposed through the Prototype field interface with same name -->
          <IS>
            <connect nodeField='textureTransform' protoField='textureTransform'/>
          </IS>
          <Material diffuseColor='1 0.45 0.23'/>
          <ImageTexture DEF='wood_g_scope1' url='"../Chapter17-Textures/wood_g.jpg" "http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter17-Textures/wood_g.jpg"'/>
        </Appearance>
      </ProtoBody>
    </ProtoDeclare>
    <ProtoDeclare name='LightOak'>
      <ProtoInterface>
        <field accessType='inputOutput' name='textureTransform' type='SFNode'>
          <!-- NULL node as child -->
        </field>
      </ProtoInterface>
      <ProtoBody>
        <Appearance DEF='LightOakAppearance'>
          <!-- textureTransform field IS exposed through the Prototype field interface with same name -->
          <IS>
            <connect nodeField='textureTransform' protoField='textureTransform'/>
          </IS>
          <Material diffuseColor='1 0.65 0.53'/>
          <!-- Note that each prototype declaration has independent scope, and so DEF/USE is not possible for sharing. DEF remains a good way to identify the image file however. -->
          <ImageTexture DEF='wood_g_scope2' url='"../Chapter17-Textures/wood_g.jpg" "http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter17-Textures/wood_g.jpg"'/>
        </Appearance>
      </ProtoBody>
    </ProtoDeclare>
    <!-- It is a good practice to include default message linking to an example scene, in case a user tries to view this Prototype library directly. -->
    <Anchor description='Figure31.5WoodAppearanceExternalPrototypes link' url='"Figure31.5WoodAppearanceExternalPrototypes.x3d" "http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.x3d" "Figure31.5WoodAppearanceExternalPrototypes.wrl" "http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.wrl"'>
      <Shape>
        <Text string='"Figure31.4WoodAppearancePrototypesLibrary" "contains prototype definitions" "" "Click on text to see these Appearances in" "Figure31.5WoodAppearanceExternalPrototypes"'>
          <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.5'/>
        </Text>
        <ProtoInstance containerField='appearance' name='LightOak'/>
      </Shape>
    </Anchor>
  </Scene>
</X3D>