<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saxon="http://icl.com/saxon"
      xmlns="http://www.w3.org/TR/xhtml1/strict">
   <head>
      <title>Figure31.4WoodAppearancePrototypesLibrary.x3d (X3dToXhtml listing)</title>
      <!-- I18N -->
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge"/>
      <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
      <style type="text/css">
span.element {color: navy}
span.attribute {color: green}
span.value {color: teal}
span.plain {color: black}
span.gray  {color: gray}
span.idName {color: maroon}
a.idName {color: maroon}
div.center {text-align: center}
div.indent {margin-left: 25px}

span.prototype {color: purple}
a.prototype {color: purple}
a.prototype:visited {color: black}
span.route {color: red}
b.warning {color: #CC5500}
b.error {color: #CC0000}

                </style>
      <style type="text/css">
table.curvedEdges { border:10px solid RoyalBlue;-webkit-border-radius:13px;-moz-border-radius:13px;-ms-border-radius:13px;-o-border-radius:13px;border-radius:13px; }
table.curvedEdges td, table.curvedEdges th { border-bottom:1px dotted black;padding:5px; }
</style>
      <meta name="generator" content="XSLT processor SAXON 9.1.0.2 from Saxonica"/>
      <meta name="generator" content="http://www.web3d.org/x3d/stylesheets/X3dToXhtml.xslt"/>
      <meta name="generator"
            content="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToXhtml.xslt"/>
      <link rel="shortcut icon"
            href="http://www.web3d.org/x3d/content/icons/X3DtextIcon16.png"
            title="X3D"/>
   </head>
   <body>
      <code title="XML declaration"><?xml version="1.0" encoding="UTF-8"?></code>
      <br/>
      <code title="Document Type Declaration (DTD) for X3D validation"><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "<a href="http://www.web3d.org/specifications/x3d-3.0.dtd">http://www.web3d.org/specifications/x3d-3.0.dtd</a>"></code>
      <div>
<span title="X3D is the top-most XML element for an Extensible 3D (X3D) Graphics file"><<span class="element">X3D</span> <span title="X3D Immersive Profile supports most nodes, similar to VRML97"><span class="attribute">profile</span>='<span class="value">Immersive</span>'</span> <span class="attribute">version</span>='<span class="value">3.0</span>' <span title="XML namespace for X3D Graphics schema validation"><span title="XML namespace for XML Schema validation">
            <span class="attribute">xmlns:xsd</span>='<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>'
</span>
         <span title="XML namespace for X3D Graphics schema validation">
            <span class="attribute">xsd:noNamespaceSchemaLocation</span>
         </span>='
<a href="http://www.web3d.org/specifications/x3d-3.0.xsd">http://www.web3d.org/specifications/x3d-3.0.xsd</a>
'</span>>
</span><div class="indent">
<span title="head can contain component, unit, and author-defined metadata (meta) tags"><<span class="element">head</span>>
</span><div class="indent">
<span title="meta 'title' provides file name for this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">title</span>' <span class="attribute">content</span>='<a href="Figure31.4WoodAppearancePrototypesLibrary.x3d">Figure31.4WoodAppearancePrototypesLibrary.x3d</a>'/>
</span><br />

<span title="meta 'creator' provides name of original author"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">creator</span>' <span class="attribute">content</span>='<span class="value">Figure 31.4, The VRML 2.0 Sourcebook, Copyright [1997] By Andrea L. Ames, David R. Nadeau, and John L. Moreland</span>'/>
</span><br />

<span title="meta 'reference' provides name or reference link to a supporting resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">reference</span>' <span class="attribute">content</span>='
<a href="http://www.wiley.com/legacy/compbooks/vrml2sbk/ch31/31fig04.htm">http://www.wiley.com/legacy/compbooks/vrml2sbk/ch31/31fig04.htm</a>
'/>
</span><br />

<span title="meta 'translator' provides name of person performing translation from another format or language"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">translator</span>' <span class="attribute">content</span>='<span class="value">Don Brutzman</span>'/>
</span><br />

<span title="meta 'created' provides date of initial version"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">created</span>' <span class="attribute">content</span>='<span class="value">31 October 2000</span>'/>
</span><br />

<span title="meta 'modified' provides date of modified version"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">modified</span>' <span class="attribute">content</span>='<span class="value">28 May 2016</span>'/>
</span><br />

<span title="meta 'description' provides summary overview describing this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">description</span>' <span class="attribute">content</span>='<span class="plain">An external file containing an appearance library with wood appearances.</span>'/>
</span><br />

<span title="meta 'identifier' provides the unique Uniform Resource Identifier (URI) or url address for this resource"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">identifier</span>' <span class="attribute">content</span>='
<a href="http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.4WoodAppearancePrototypesLibrary.x3d">http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.4WoodAppearancePrototypesLibrary.x3d</a>
'/>
</span><br />

<span title="meta 'generator' provides name of authoring tool or translation tool producing this scene"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">generator</span>' <span class="attribute">content</span>='<span class="value">X3D-Edit 3.3, </span>
               <a href="https://savage.nps.edu/X3D-Edit" target="_blank">https://savage.nps.edu/X3D-Edit</a>'/>
</span><br />

<span title="meta 'license' provides software license link or information"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">license</span>' <span class="attribute">content</span>='
<a href="../../license.html">../../license.html</a>'/>
</span></div><span title="head can contain component, unit, and author-defined metadata (meta) tags"></<span class="element">head</span>>
</span><br /><span style="color:white">
<!--
</span>
            <div class="center">
               <hr style="width:100%"/>
               <b>
                  <i>Index for ProtoDeclare definitions</i>
               </b>: 
<a title="go to this declaration" href="#ProtoDeclare_DarkOak" class="prototype">DarkOak</a>,
<a title="go to this declaration" href="#ProtoDeclare_LightOak" class="prototype">LightOak</a>
<br /><hr width="50%"/>
               <b>
                  <i>Index for DEF nodes</i>
               </b>: 
<a title="go to this Appearance node" href="#DarkOakAppearance" class="idName">DarkOakAppearance</a>,
<a title="go to this Appearance node" href="#LightOakAppearance" class="idName">LightOakAppearance</a>,
<a title="go to this ImageTexture node" href="#wood_g_scope1" class="idName">wood_g_scope1</a>,
<a title="go to this ImageTexture node" href="#wood_g_scope2" class="idName">wood_g_scope2</a>
               <hr style="width:100%"/>
            </div>
            <span style="color:white">
-->
</span><br />

<span title="Scene is the root node that contains an X3D scene graph"><<span class="element">Scene</span>>
</span><div class="indent">
               <a name="ProtoDeclare_DarkOak"> </a> 
<span title="ProtoDeclare is a Prototype declaration, defining a new node made up of other node(s)"><<span class="prototype">ProtoDeclare</span> <span class="attribute">name</span>='<span class="prototype">DarkOak</span>'>
</span><div class="indent">
<<span class="prototype">ProtoInterface</span>>
<div class="indent">
                     <a name="DarkOakProtoField_textureTransform"> </a> 
<span title="A field element defines an interface attribute or node"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">textureTransform</span>' <span class="attribute">type</span>='<span class="value">SFNode</span>' <span class="attribute">accessType</span>='<span class="value">inputOutput</span>'>
</span><div class="indent">
                        <span title="XML comment"><!-- NULL node as child --></span>
                     </div><span title="A field element defines an interface attribute or node"></<span class="prototype">field</span>>
</span></div></<span class="prototype">ProtoInterface</span>>
<br />

<<span class="prototype">ProtoBody</span>>
<div class="indent">
                     <a name="DarkOakAppearance"> </a> 
<span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><<span class="element">Appearance</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">DarkOakAppearance</span>'>
</span><div class="indent">
                        <span title="XML comment"><!-- textureTransform field IS exposed through the Prototype field interface with same name --></span>
<br />

<span title="IS connects ProtoDeclare interface fields to node fields inside ProtoDeclare definitions"><<span class="element">IS</span>>
</span><div class="indent">
<span title="connect tags define each ProtoDeclare field connection within ProtoDeclare definitions"><<span class="element">connect</span> <span class="attribute">nodeField</span>='<span class="prototype" title="connect interface events to this field in given node">textureTransform</span>' <span class="attribute">protoField</span>='<span title="field interface connecting events into the prototype interior"><span class="prototype"><a title="go to the protoField definition"
                                 href="#DarkOak LightOakProtoField_textureTransform"
                                 class="prototype">textureTransform</a></span></span>'/>
</span></div><span title="IS connects ProtoDeclare interface fields to node fields inside ProtoDeclare definitions"></<span class="element">IS</span>>
</span><br />

<span title="Material specifies surface rendering properties for associated geometry"><<span class="element">Material</span> <span class="attribute">diffuseColor</span>='<span class="value">1 0.45 0.23</span>'/>
</span><br />
<a name="wood_g_scope1"> </a> 
<span title="ImageTexture maps a 2D-image file onto a geometric shape"><<span class="element">ImageTexture</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">wood_g_scope1</span>'
<br />
  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span class="attribute">url</span>='
"<a href="../Chapter17-Textures/wood_g.jpg">../Chapter17-Textures/wood_g.jpg</a>"
"<a href="http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter17-Textures/wood_g.jpg">http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter17-Textures/wood_g.jpg</a>" '</span>/>
</span></div><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"></<span class="element">Appearance</span>>
</span></div></<span class="prototype">ProtoBody</span>>
</div><span title="ProtoDeclare is a Prototype declaration, defining a new node made up of other node(s)"></<span class="prototype">ProtoDeclare</span>>
</span><br />
<a name="ProtoDeclare_LightOak"> </a> 
<span title="ProtoDeclare is a Prototype declaration, defining a new node made up of other node(s)"><<span class="prototype">ProtoDeclare</span> <span class="attribute">name</span>='<span class="prototype">LightOak</span>'>
</span><div class="indent">
<<span class="prototype">ProtoInterface</span>>
<div class="indent">
                     <a name="LightOakProtoField_textureTransform"> </a> 
<span title="A field element defines an interface attribute or node"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">textureTransform</span>' <span class="attribute">type</span>='<span class="value">SFNode</span>' <span class="attribute">accessType</span>='<span class="value">inputOutput</span>'>
</span><div class="indent">
                        <span title="XML comment"><!-- NULL node as child --></span>
                     </div><span title="A field element defines an interface attribute or node"></<span class="prototype">field</span>>
</span></div></<span class="prototype">ProtoInterface</span>>
<br />

<<span class="prototype">ProtoBody</span>>
<div class="indent">
                     <a name="LightOakAppearance"> </a> 
<span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><<span class="element">Appearance</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">LightOakAppearance</span>'>
</span><div class="indent">
                        <span title="XML comment"><!-- textureTransform field IS exposed through the Prototype field interface with same name --></span>
<br />

<span title="IS connects ProtoDeclare interface fields to node fields inside ProtoDeclare definitions"><<span class="element">IS</span>>
</span><div class="indent">
<span title="connect tags define each ProtoDeclare field connection within ProtoDeclare definitions"><<span class="element">connect</span> <span class="attribute">nodeField</span>='<span class="prototype" title="connect interface events to this field in given node">textureTransform</span>' <span class="attribute">protoField</span>='<span title="field interface connecting events into the prototype interior"><span class="prototype"><a title="go to the protoField definition"
                                 href="#DarkOak LightOakProtoField_textureTransform"
                                 class="prototype">textureTransform</a></span></span>'/>
</span></div><span title="IS connects ProtoDeclare interface fields to node fields inside ProtoDeclare definitions"></<span class="element">IS</span>>
</span><br />

<span title="Material specifies surface rendering properties for associated geometry"><<span class="element">Material</span> <span class="attribute">diffuseColor</span>='<span class="value">1 0.65 0.53</span>'/>
</span><br /><span title="XML comment"><!-- 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. --></span>
<br />
<a name="wood_g_scope2"> </a> 
<span title="ImageTexture maps a 2D-image file onto a geometric shape"><<span class="element">ImageTexture</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">wood_g_scope2</span>'
<br />
  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span class="attribute">url</span>='
"<a href="../Chapter17-Textures/wood_g.jpg">../Chapter17-Textures/wood_g.jpg</a>"
"<a href="http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter17-Textures/wood_g.jpg">http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter17-Textures/wood_g.jpg</a>" '</span>/>
</span></div><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"></<span class="element">Appearance</span>>
</span></div></<span class="prototype">ProtoBody</span>>
</div><span title="ProtoDeclare is a Prototype declaration, defining a new node made up of other node(s)"></<span class="prototype">ProtoDeclare</span>>
</span><br /><span title="XML comment"><!-- 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. --></span>
<br />

<span title="Selecting Anchored geometry loads content specified by the url field"><<span class="element">Anchor</span> <span class="attribute">description</span>='<span class="value">Figure31.5WoodAppearanceExternalPrototypes link</span>'
<br />
  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span class="attribute">url</span>='
 "<a href="Figure31.5WoodAppearanceExternalPrototypes.x3d">Figure31.5WoodAppearanceExternalPrototypes.x3d</a>" "<a href="http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.x3d">http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.x3d</a>"  "<a href="Figure31.5WoodAppearanceExternalPrototypes.wrl">Figure31.5WoodAppearanceExternalPrototypes.wrl</a>" "<a href="http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.wrl">http://www.web3d.org/x3d/content/examples/Vrml2.0Sourcebook/Chapter31-Prototypes/Figure31.5WoodAppearanceExternalPrototypes.wrl</a>" '</span>>
</span><div class="indent">
<span title="Shape contains geometry and optional corresponding Appearance"><<span class="element">Shape</span>>
</span><div class="indent">
<span title="Text is a geometry primitive node"><<span class="element">Text</span> <span class="attribute">string</span>='<span class="value">"Figure31.4WoodAppearancePrototypesLibrary" "contains prototype definitions" "" "Click on text to see these Appearances in" "Figure31.5WoodAppearanceExternalPrototypes"</span>'>
</span><div class="indent">
<span title="FontStyle defines the size, family, justification, and other styles used by Text nodes"><<span class="element">FontStyle</span> <span class="attribute">justify</span>='<span class="value">"MIDDLE" "MIDDLE"</span>' <span class="attribute">size</span>='<span class="value">0.5</span>'/>
</span></div><span title="Text is a geometry primitive node"></<span class="element">Text</span>>
</span><br />

<span title="ProtoInstance creates an instance of a locally or externally declared prototype node"><<span class="prototype">ProtoInstance</span> <span class="attribute">name</span>='<a title="go to the defining ProtoDeclare for this prototype instance"
                        href="#ProtoDeclare_LightOak"
                        class="prototype">LightOak</a>' <span class="attribute">containerField</span>='<span class="value">appearance</span>'/>
</span></div><span title="Shape contains geometry and optional corresponding Appearance"></<span class="element">Shape</span>>
</span></div><span title="Selecting Anchored geometry loads content specified by the url field"></<span class="element">Anchor</span>>
</span></div><span title="Scene is the root node that contains an X3D scene graph"></<span class="element">Scene</span>>
</span></div><span title="X3D is the top-most XML element for an Extensible 3D (X3D) Graphics file"></<span class="element">X3D</span>>
</span><br /><span style="color:white">
<!--
</span>
         <div class="center">
            <hr style="width:100%"/>
            <b>
               <i>Index for ProtoDeclare definitions</i>
            </b>: 
<a title="go to this declaration" href="#ProtoDeclare_DarkOak" class="prototype">DarkOak</a>,
<a title="go to this declaration" href="#ProtoDeclare_LightOak" class="prototype">LightOak</a>
<br /><hr width="50%"/>
            <b>
               <i>Index for DEF nodes</i>
            </b>: 
<a title="go to this Appearance node" href="#DarkOakAppearance" class="idName">DarkOakAppearance</a>,
<a title="go to this Appearance node" href="#LightOakAppearance" class="idName">LightOakAppearance</a>,
<a title="go to this ImageTexture node" href="#wood_g_scope1" class="idName">wood_g_scope1</a>,
<a title="go to this ImageTexture node" href="#wood_g_scope2" class="idName">wood_g_scope2</a>
            <hr style="width:100%"/>
         </div>
         <span style="color:white">
-->
</span>
      </div>
      <p style="text-align:center; background-color:lightgrey">
         <span style="color:lightgrey"><!--</span>
Color key: <!--(matching X3D and XML terminology) -->
<<span class="element">X3dNode</span>
         <span class="idName"> DEF</span>='<span class="idName">idName</span>' <span class="attribute">field</span>='<span class="value">value</span>'/> 
 matches 
<<span class="element">XmlElement</span>
         <span class="idName"> DEF</span>='<span class="idName">idName</span>' <span class="attribute">attribute</span>='<span class="value">value</span>'/>    
<<span class="prototype">Prototype</span> 
         <span class="attribute">name</span>='<span class="prototype">ProtoName</span>'>
        <<span class="prototype">field</span>
         <span class="attribute">name</span>='<span class="prototype">fieldName</span>'/> </<span class="prototype">Prototype</span>>
<span style="color:lightgrey"> --></span>
      </p>
      <p style="text-align:center; background-color:white">
         <span style="color:white"><!--</span>

                    Additional help information about X3D scenes:  
                    <a href="http://www.web3d.org/x3d/content/examples/X3dResources.html"
            title="Numerous resources that support X3D graphics">X3D Resources</a>,
                    <a href="http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html"
            title="Style guidelines, authoring tips and best practices">X3D Scene Authoring Hints</a>
                    and
                    <a href="http://www.web3d.org/x3d/content/X3dTooltips.html"
            title="Summary descriptions and authoring hints for each X3D node (element) and field (attribute)">X3D Tooltips</a>
         <span style="color:white">--></span>
      </p>
   </body>
</html>