<?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>GizmoFader.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.3//EN" "<a href="http://www.web3d.org/specifications/x3d-3.3.dtd">http://www.web3d.org/specifications/x3d-3.3.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.3</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.3.xsd">http://www.web3d.org/specifications/x3d-3.3.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="GizmoFader.x3d">GizmoFader.x3d</a>'/>
</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">Mailing list example, with event tracing added using X3D-Edit.</span>'/>
</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">Andreas Plesch</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">29 October 2016</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">29 October 2016</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://web3d.org/pipermail/x3d-public_web3d.org/2016-October/005440.html">http://web3d.org/pipermail/x3d-public_web3d.org/2016-October/005440.html</a>
'/>
</span><br />

<span title="meta 'subject' provides search-index subject keywords, key phrases, or classification codes"><<span class="element">meta</span> <span class="attribute">name</span>='<span class="value">subject</span>' <span class="attribute">content</span>='<span class="value">event utilities debug trace</span>'/>
</span><br />

<span title="meta 'warning' provides warning information about a known problem that impedes proper operation"><<span class="element">meta</span> <span class="attribute">name</span>='<b class="warning"> warning </b>' <span class="attribute">content</span>='<b class="warning"> This  scene  is  a  test  fragment </b>'/>
</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></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 DEF nodes</i>
               </b>: 
<a title="go to this ScalarInterpolator node" href="#fadeIn" class="idName">fadeIn</a>,
<a title="go to this ScalarInterpolator node" href="#fadeOut" class="idName">fadeOut</a>,
<a title="go to this TimeTrigger node" href="#getTimeIn" class="idName">getTimeIn</a>,
<a title="go to this TimeTrigger node" href="#getTimeOut" class="idName">getTimeOut</a>,
<a title="go to this BooleanFilter node" href="#splitBool" class="idName">splitBool</a>,
<a title="go to this TimeSensor node" href="#timerIn" class="idName">timerIn</a>,
<a title="go to this TimeSensor node" href="#timerOut" class="idName">timerOut</a>,
<a title="go to this Script node" href="#Trace_BooleanFilter_splitBool"
                  class="idName">Trace_BooleanFilter_splitBool</a>,
<a title="go to this Script node"
                  href="#Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime"
                  class="idName">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</a>,
<a title="go to this Script node" href="#Trace_ScalarInterpolator_fadeOut"
                  class="idName">Trace_ScalarInterpolator_fadeOut</a>,
<a title="go to this Script node" href="#Trace_TimeSensor_timerIn" class="idName">Trace_TimeSensor_timerIn</a>,
<a title="go to this Script node" href="#Trace_TimeTrigger_getTimeOut"
                  class="idName">Trace_TimeTrigger_getTimeOut</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">
               <span title="XML comment"><!-- fade gizmo in and out --></span>
<br />
<a name="timerIn"> </a> 
<!-- <span class="idName">timerIn</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_16"><i>from</i> <span class="idName">getTimeIn</span>.<span class="attribute">triggerTime</span> <i>to</i> <span class="attribute">startTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_0"><i>from</i> <span class="attribute">fraction_changed</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">fraction</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_1"><i>from</i> <span class="attribute">cycleInterval</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">cycleInterval</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_2"><i>from</i> <span class="attribute">startTime</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">startTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_3"><i>from</i> <span class="attribute">stopTime</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">stopTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_4"><i>from</i> <span class="attribute">cycleTime</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">cycleTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_5"><i>from</i> <span class="attribute">time</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">time</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_6"><i>from</i> <span class="attribute">enabled</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">enabled</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_7"><i>from</i> <span class="attribute">loop</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">loop</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_8"><i>from</i> <span class="attribute">isActive</span> <i>to</i> <span class="idName">Trace_TimeSensor_timerIn</span>.<span class="attribute">isActive</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_22"><i>from</i> <span class="attribute">fraction_changed</span> <i>to</i> <span class="idName">fadeIn</span>.<span class="attribute">set_fraction</span>
               </a>]
 --><br />
<span title="TimeSensor continuously generates events as time passes"><<span class="element">TimeSensor</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">timerIn</span>'/>
</span><br />

<span title="Group is a Grouping node that can contain most nodes"><<span class="element">Group</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- ======= TimeSensor Trace ============================================== --></span>
<br />
<a name="Trace_TimeSensor_timerIn"> </a> 
<!-- <span class="idName">Trace_TimeSensor_timerIn</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_0"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">fraction_changed</span> <i>to</i> <span class="attribute">fraction</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_1"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">cycleInterval</span> <i>to</i> <span class="attribute">cycleInterval</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_2"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">startTime</span> <i>to</i> <span class="attribute">startTime</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_3"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">stopTime</span> <i>to</i> <span class="attribute">stopTime</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_4"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">cycleTime</span> <i>to</i> <span class="attribute">cycleTime</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_5"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">time</span> <i>to</i> <span class="attribute">time</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_6"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">enabled</span> <i>to</i> <span class="attribute">enabled</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_7"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">loop</span> <i>to</i> <span class="attribute">loop</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_8"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">isActive</span> <i>to</i> <span class="attribute">isActive</span>
                  </a>]
 --><br />
<<span class="element">Script</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">Trace_TimeSensor_timerIn</span>' <span class="attribute">mustEvaluate</span>='<span class="value">true</span>'>
<div class="indent">
                     <span title="XML comment"><!-- Trace TimeSensor values on X3D browser console --></span>
<br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">reportInterval</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">1.0</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'
<br />
 <span title="application information for this field"><span class="gray">appinfo</span>='<span class="gray">Sampling frequency in seconds (0 means all values)</span>'</span>/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">fraction</span>' <span class="attribute">type</span>='<span class="value">SFFloat</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">cycleInterval</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">startTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">stopTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">pauseTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">resumeTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">cycleTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">elapsedTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">-1</span>' <span class="attribute">accessType</span>='<span class="value">inputOutput</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">time</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">-1</span>' <span class="attribute">accessType</span>='<span class="value">inputOutput</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">enabled</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">loop</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">isActive</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">isPaused</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">timeStampPreviousReport</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">-1</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'/>
</span><br />
</div class="indent">
</div class="indent">
</div class="indent">
<code>
                        <b><![CDATA[</b>
                     </code>
                     <pre>
        
  ecmascript:
    function fraction (eventValue, timeStamp) {
      // input eventValue received for trace field
      if (timeStamp - timeStampPreviousReport >= reportInterval) {
        Browser.print ('Trace_TimeSensor_timerIn type=SFFloat fraction_changed=' + eventValue + '\n');
        timeStampPreviousReport = timeStamp;
      }
    }
    function cycleInterval (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime cycleInterval=' + eventValue.toString() + ' ' + timeOfDay (eventValue) + '\n');
    }
    function startTime (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime startTime=' + eventValue.toString() + ' ' + timeOfDay (eventValue) + '\n');
    }
    function stopTime (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime stopTime=' + eventValue.toString() + ' ' + timeOfDay (eventValue) + '\n');
    }
    function pauseTime (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime pauseTime=' + eventValue.toString() + ' ' + timeOfDay (eventValue) + '\n');
    }
    function resumeTime (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime resumeTime=' + eventValue.toString() + ' ' + timeOfDay (eventValue) + '\n');
    }
    function cycleTime (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFTime cycleTime=' + eventValue + ' ' + timeOfDay(eventValue) + '\n');
    }
    function enabled (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFBool enabled=' + eventValue + '\n');
    }
    function loop (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFBool loop=' + eventValue + '\n');
    }
    function isActive (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFBool isActive=' + eventValue + '\n');
    }
    function isPaused (eventValue) {
      Browser.print ('Trace_TimeSensor_timerIn type=SFBool isPaused=' + eventValue + '\n');
    }
    function timeOfDay (someTime) {
      hh = Math.floor (someTime /(60*60)) % 24;
      mm = Math.floor (someTime / 60)     % 60;
      ss = Math.floor (someTime)          % 60;
      if (hh < 9) hour   = '0' + hh;
      else        hour   =       hh;
      if (mm < 9) minute = '0' + mm;
      else        minute =       mm;
      if (ss < 9) second = '0' + ss;
      else        second =       ss;
      return '(' + hour + ':' + minute + ':' + second + ' GMT)';
    }
  
      </pre>
                     <code>
                        <b>]]></b>
                     </code>
<div class="indent">
<div class="indent">
<div class="indent">
</div></<span class="element">Script</span>>
<br /><span title="XML comment"><!-- Authors can remove ROUTEs for fields that do not need to be traced, but unused fields do not report anyway --></span>
<br /><span title="XML comment"><!-- TODO BSContact TimeSensor errors: support missing for pauseTime, resumeTime, elapsedTime, isPaused :( --></span>
<br />
<a name="ROUTE_0"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">fraction_changed</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">fraction</span>'/>
</span><br />
<a name="ROUTE_1"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">cycleInterval</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">cycleInterval</span>'/>
</span><br />
<a name="ROUTE_2"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">startTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">startTime</span>'/>
</span><br />
<a name="ROUTE_3"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">stopTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">stopTime</span>'/>
</span><br />
<a name="ROUTE_4"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">cycleTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">cycleTime</span>'/>
</span><br />
<a name="ROUTE_5"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">time</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">time</span>'/>
</span><br />
<a name="ROUTE_6"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">enabled</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">enabled</span>'/>
</span><br />
<a name="ROUTE_7"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">loop</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">loop</span>'/>
</span><br />
<a name="ROUTE_8"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">isActive</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#Trace_TimeSensor_timerIn"
                     class="idName">Trace_TimeSensor_timerIn</a>' <span class="attribute">toField</span>='<span class="value">isActive</span>'/>
</span><br /><span title="XML comment"><!-- ======= TimeSensor Trace block complete ===================================================== --></span>
               </div><span title="Group is a Grouping node that can contain most nodes"></<span class="element">Group</span>>
</span><br />
<a name="timerOut"> </a> 
<!-- <span class="idName">timerOut</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_17"><i>from</i> <span class="idName">getTimeOut</span>.<span class="attribute">triggerTime</span> <i>to</i> <span class="attribute">startTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_23"><i>from</i> <span class="attribute">fraction_changed</span> <i>to</i> <span class="idName">fadeOut</span>.<span class="attribute">set_fraction</span>
               </a>]
 --><br />
<span title="TimeSensor continuously generates events as time passes"><<span class="element">TimeSensor</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">timerOut</span>'/>
</span><br />
<a name="getTimeIn"> </a> 
<!-- <span class="idName">getTimeIn</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_14"><i>from</i> <span class="idName">splitBool</span>.<span class="attribute">inputTrue</span> <i>to</i> <span class="attribute">set_boolean</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_16"><i>from</i> <span class="attribute">triggerTime</span> <i>to</i> <span class="idName">timerIn</span>.<span class="attribute">startTime</span>
               </a>]
 --><br />
<span title="TimeTrigger converts boolean true events to time events"><<span class="element">TimeTrigger</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">getTimeIn</span>' <span class="attribute">containerField</span>='<span class="value">children</span>'/>
</span><br />
<a name="getTimeOut"> </a> 
<!-- <span class="idName">getTimeOut</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_15"><i>from</i> <span class="idName">splitBool</span>.<span class="attribute">inputFalse</span> <i>to</i> <span class="attribute">set_boolean</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_9"><i>from</i> <span class="attribute">triggerTime</span> <i>to</i> <span class="idName">Trace_TimeTrigger_getTimeOut</span>.<span class="attribute">triggerTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_17"><i>from</i> <span class="attribute">triggerTime</span> <i>to</i> <span class="idName">timerOut</span>.<span class="attribute">startTime</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_18"><i>from</i> <span class="attribute">triggerTime</span> <i>to</i> <span class="idName">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</span>.<span class="attribute">traceValue</span>
               </a>]
 --><br />
<span title="TimeTrigger converts boolean true events to time events"><<span class="element">TimeTrigger</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">getTimeOut</span>' <span class="attribute">containerField</span>='<span class="value">children</span>'/>
</span><br />

<span title="Group is a Grouping node that can contain most nodes"><<span class="element">Group</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- ======= TimeTrigger Trace ============================================== --></span>
<br />
<a name="Trace_TimeTrigger_getTimeOut"> </a> 
<!-- <span class="idName">Trace_TimeTrigger_getTimeOut</span> <i>ROUTE</i>: 
[<a title="go to this ROUTE" href="#ROUTE_9"><i>from</i> <span class="idName">getTimeOut</span>.<span class="attribute">triggerTime</span> <i>to</i> <span class="attribute">triggerTime</span>
                  </a>]
 --><br />
<<span class="element">Script</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">Trace_TimeTrigger_getTimeOut</span>' <span class="attribute">mustEvaluate</span>='<span class="value">true</span>'>
<div class="indent">
                     <span title="XML comment"><!-- Trace ROUTEd event values on X3D browser console --></span>
<br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">triggerTime</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />
</div class="indent">
</div class="indent">
</div class="indent">
<code>
                        <b><![CDATA[</b>
                     </code>
                     <pre>
        
  ecmascript:
    function triggerTime (eventValue) {
      Browser.print ('Trace_TimeTrigger_getTimeOut type=SFTime triggerTime=' + eventValue + ' ' + timeOfDay (eventValue) + '\n');
    }
    function timeOfDay (someTime) {
      hh = Math.floor (someTime /(60*60)) % 24;
      mm = Math.floor (someTime / 60)     % 60;
      ss = Math.floor (someTime)          % 60;
      if (hh < 9) hour   = '0' + hh;        else        hour   =       hh;
      if (mm < 9) minute = '0' + mm;        else        minute =       mm;
      if (ss < 9) second = '0' + ss;        else        second =       ss;
      return '(' + hour + ':' + minute + ':' + second + ' GMT)';
    }
  
      </pre>
                     <code>
                        <b>]]></b>
                     </code>
<div class="indent">
<div class="indent">
<div class="indent">
</div></<span class="element">Script</span>>
<br />
<a name="ROUTE_9"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#getTimeOut"
                     class="idName">getTimeOut</a>' <span class="attribute">fromField</span>='<span class="value">triggerTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_TimeTrigger_getTimeOut"
                     class="idName">Trace_TimeTrigger_getTimeOut</a>' <span class="attribute">toField</span>='<span class="value">triggerTime</span>'/>
</span><br /><span title="XML comment"><!-- ======= TimeTrigger Trace block complete ===================================================== --></span>
               </div><span title="Group is a Grouping node that can contain most nodes"></<span class="element">Group</span>>
</span><br />
<a name="splitBool"> </a> 
<!-- <span class="idName">splitBool</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_13"><i>from</i> <span class="idName">bandsSensor</span>.<span class="attribute">isOver</span> <i>to</i> <span class="attribute">set_boolean</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_10"><i>from</i> <span class="attribute">inputTrue</span> <i>to</i> <span class="idName">Trace_BooleanFilter_splitBool</span>.<span class="attribute">inputTrue</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_11"><i>from</i> <span class="attribute">inputFalse</span> <i>to</i> <span class="idName">Trace_BooleanFilter_splitBool</span>.<span class="attribute">inputFalse</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_12"><i>from</i> <span class="attribute">inputNegate</span> <i>to</i> <span class="idName">Trace_BooleanFilter_splitBool</span>.<span class="attribute">inputNegate</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_14"><i>from</i> <span class="attribute">inputTrue</span> <i>to</i> <span class="idName">getTimeIn</span>.<span class="attribute">set_boolean</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_15"><i>from</i> <span class="attribute">inputFalse</span> <i>to</i> <span class="idName">getTimeOut</span>.<span class="attribute">set_boolean</span>
               </a>]
 --><br />
<span title="BooleanFilter selectively passes true, false or negated events"><<span class="element">BooleanFilter</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">splitBool</span>' <span class="attribute">containerField</span>='<span class="value">children</span>'/>
</span><br />

<span title="Group is a Grouping node that can contain most nodes"><<span class="element">Group</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- ======= BooleanFilter Trace ============================================== --></span>
<br />
<a name="Trace_BooleanFilter_splitBool"> </a> 
<!-- <span class="idName">Trace_BooleanFilter_splitBool</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_10"><i>from</i> <span class="idName">splitBool</span>.<span class="attribute">inputTrue</span> <i>to</i> <span class="attribute">inputTrue</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_11"><i>from</i> <span class="idName">splitBool</span>.<span class="attribute">inputFalse</span> <i>to</i> <span class="attribute">inputFalse</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_12"><i>from</i> <span class="idName">splitBool</span>.<span class="attribute">inputNegate</span> <i>to</i> <span class="attribute">inputNegate</span>
                  </a>]
 --><br />
<<span class="element">Script</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">Trace_BooleanFilter_splitBool</span>' <span class="attribute">mustEvaluate</span>='<span class="value">true</span>'>
<div class="indent">
                     <span title="XML comment"><!-- Trace ROUTEd event values on X3D browser console --></span>
<br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">inputTrue</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">inputFalse</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">inputNegate</span>' <span class="attribute">type</span>='<span class="value">SFBool</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />
</div class="indent">
</div class="indent">
</div class="indent">
<code>
                        <b><![CDATA[</b>
                     </code>
                     <pre>
        
  ecmascript:
    function inputTrue (eventValue) {
      Browser.print ('Trace_BooleanFilter_splitBool type=SFBool inputTrue=' + eventValue + '\n');
    }
    function inputFalse (eventValue) {
      Browser.print ('Trace_BooleanFilter_splitBool type=SFBool inputFalse=' + eventValue + '\n');
    }
    function inputNegate (eventValue) {
      Browser.print ('Trace_BooleanFilter_splitBool type=SFBool inputNegate=' + eventValue + '\n');
    }
  
      </pre>
                     <code>
                        <b>]]></b>
                     </code>
<div class="indent">
<div class="indent">
<div class="indent">
</div></<span class="element">Script</span>>
<br />
<a name="ROUTE_10"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">fromField</span>='<span class="value">inputTrue</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_BooleanFilter_splitBool"
                     class="idName">Trace_BooleanFilter_splitBool</a>' <span class="attribute">toField</span>='<span class="value">inputTrue</span>'/>
</span><br />
<a name="ROUTE_11"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">fromField</span>='<span class="value">inputFalse</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_BooleanFilter_splitBool"
                     class="idName">Trace_BooleanFilter_splitBool</a>' <span class="attribute">toField</span>='<span class="value">inputFalse</span>'/>
</span><br />
<a name="ROUTE_12"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">fromField</span>='<span class="value">inputNegate</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_BooleanFilter_splitBool"
                     class="idName">Trace_BooleanFilter_splitBool</a>' <span class="attribute">toField</span>='<span class="value">inputNegate</span>'/>
</span><br /><span title="XML comment"><!-- ======= BooleanFilter Trace block complete ===================================================== --></span>
               </div><span title="Group is a Grouping node that can contain most nodes"></<span class="element">Group</span>>
</span><br />
<a name="ROUTE_13"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<span class="idName">bandsSensor</span>' <span class="attribute">fromField</span>='<span class="value">isOver</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">toField</span>='<span class="value">set_boolean</span>'/>
</span><br />
<a name="ROUTE_14"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">fromField</span>='<span class="value">inputTrue</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#getTimeIn" class="idName">getTimeIn</a>' <span class="attribute">toField</span>='<span class="value">set_boolean</span>'/>
</span><br />
<a name="ROUTE_15"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#splitBool" class="idName">splitBool</a>' <span class="attribute">fromField</span>='<span class="value">inputFalse</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#getTimeOut"
                  class="idName">getTimeOut</a>' <span class="attribute">toField</span>='<span class="value">set_boolean</span>'/>
</span><br />
<a name="ROUTE_16"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#getTimeIn" class="idName">getTimeIn</a>' <span class="attribute">fromField</span>='<span class="value">triggerTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">toField</span>='<span class="value">startTime</span>'/>
</span><br />
<a name="ROUTE_17"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#getTimeOut"
                  class="idName">getTimeOut</a>' <span class="attribute">fromField</span>='<span class="value">triggerTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#timerOut" class="idName">timerOut</a>' <span class="attribute">toField</span>='<span class="value">startTime</span>'/>
</span><br />

<span title="Group is a Grouping node that can contain most nodes"><<span class="element">Group</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- ======= ROUTE Trace ============================================== --></span>
<br />
<a name="Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime"> </a> 
<!-- <span class="idName">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</span> <i>ROUTE</i>: 
[<a title="go to this ROUTE" href="#ROUTE_18"><i>from</i> <span class="idName">getTimeOut</span>.<span class="attribute">triggerTime</span> <i>to</i> <span class="attribute">traceValue</span>
                  </a>]
 --><br />
<<span class="element">Script</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</span>' <span class="attribute">mustEvaluate</span>='<span class="value">true</span>'>
<div class="indent">
                     <span title="XML comment"><!-- Trace ROUTEd event values on X3D browser console --></span>
<br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">reportInterval</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">1.0</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'
<br />
 <span title="application information for this field"><span class="gray">appinfo</span>='<span class="gray">Sampling frequency in seconds (0 means all values)</span>'</span>/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">traceValue</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">timeStampPreviousReport</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">-1</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'/>
</span><br />
</div class="indent">
</div class="indent">
</div class="indent">
<code>
                        <b><![CDATA[</b>
                     </code>
                     <pre>
        
  ecmascript:
    function traceValue (eventValue, timeStamp) {
      // input eventValue received for trace field
      if (timeStamp - timeStampPreviousReport >= reportInterval) {
        Browser.print ('Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime type=SFTime value=' + eventValue.toString() + '\n');
        timeStampPreviousReport = timeStamp;
      }
    }
    function timeOfDay (someTime) {
      hh = Math.floor (someTime /(60*60)) % 24;
      mm = Math.floor (someTime / 60)     % 60;
      ss = Math.floor (someTime)          % 60;
      if (hh < 9) hour   = '0' + hh;
      else        hour   =       hh;
      if (mm < 9) minute = '0' + mm;
      else        minute =       mm;
      if (ss < 9) second = '0' + ss;
      else        second =       ss;
      return '(' + hour + ':' + minute + ':' + second + ' GMT)';
    }
  
      </pre>
                     <code>
                        <b>]]></b>
                     </code>
<div class="indent">
<div class="indent">
<div class="indent">
</div></<span class="element">Script</span>>
<br />
<a name="ROUTE_18"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#getTimeOut"
                     class="idName">getTimeOut</a>' <span class="attribute">fromField</span>='<span class="value">triggerTime</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime"
                     class="idName">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</a>' <span class="attribute">toField</span>='<span class="value">traceValue</span>'/>
</span><br /><span title="XML comment"><!-- ======= ROUTE Trace block complete ===================================================== --></span>
               </div><span title="Group is a Grouping node that can contain most nodes"></<span class="element">Group</span>>
</span><br />
<a name="fadeIn"> </a> 
<!-- <span class="idName">fadeIn</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_22"><i>from</i> <span class="idName">timerIn</span>.<span class="attribute">fraction_changed</span> <i>to</i> <span class="attribute">set_fraction</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_24"><i>from</i> <span class="attribute">value_changed</span> <i>to</i> <span class="idName">RED_APP_Mat</span>.<span class="attribute">transparency</span>
               </a>]
 --><br />
<span title="Interpolator nodes output event values using piecewise-linear function definitions"><<span class="element">ScalarInterpolator</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">fadeIn</span>' <span class="attribute">key</span>='<span class="value">0 0.5 1</span>' <span class="attribute">keyValue</span>='<span class="value">0.9 0.25 0</span>'/>
</span><br />
<a name="fadeOut"> </a> 
<!-- <span class="idName">fadeOut</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_23"><i>from</i> <span class="idName">timerOut</span>.<span class="attribute">fraction_changed</span> <i>to</i> <span class="attribute">set_fraction</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_19"><i>from</i> <span class="attribute">value_changed</span> <i>to</i> <span class="idName">Trace_ScalarInterpolator_fadeOut</span>.<span class="attribute">value_changed</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_20"><i>from</i> <span class="attribute">key</span> <i>to</i> <span class="idName">Trace_ScalarInterpolator_fadeOut</span>.<span class="attribute">key</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_21"><i>from</i> <span class="attribute">keyValue</span> <i>to</i> <span class="idName">Trace_ScalarInterpolator_fadeOut</span>.<span class="attribute">keyValue</span>
               </a>]
[<a title="go to this ROUTE" href="#ROUTE_25"><i>from</i> <span class="attribute">value_changed</span> <i>to</i> <span class="idName">RED_APP_Mat</span>.<span class="attribute">transparency</span>
               </a>]
 --><br />
<span title="Interpolator nodes output event values using piecewise-linear function definitions"><<span class="element">ScalarInterpolator</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">fadeOut</span>' <span class="attribute">key</span>='<span class="value">0 0.5 1</span>' <span class="attribute">keyValue</span>='<span class="value">0 0.75 0.9</span>'/>
</span><br />

<span title="Group is a Grouping node that can contain most nodes"><<span class="element">Group</span>>
</span><div class="indent">
                  <span title="XML comment"><!-- ======= ScalarInterpolator Trace ============================================== --></span>
<br />
<a name="Trace_ScalarInterpolator_fadeOut"> </a> 
<!-- <span class="idName">Trace_ScalarInterpolator_fadeOut</span> <i>ROUTEs</i>: 
[<a title="go to this ROUTE" href="#ROUTE_19"><i>from</i> <span class="idName">fadeOut</span>.<span class="attribute">value_changed</span> <i>to</i> <span class="attribute">value_changed</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_20"><i>from</i> <span class="idName">fadeOut</span>.<span class="attribute">key</span> <i>to</i> <span class="attribute">key</span>
                  </a>]
[<a title="go to this ROUTE" href="#ROUTE_21"><i>from</i> <span class="idName">fadeOut</span>.<span class="attribute">keyValue</span> <i>to</i> <span class="attribute">keyValue</span>
                  </a>]
 --><br />
<<span class="element">Script</span> <span class="attribute">DEF</span>='<span class="idName" title="DEF name is a unique ID for a given node">Trace_ScalarInterpolator_fadeOut</span>' <span class="attribute">mustEvaluate</span>='<span class="value">true</span>'>
<div class="indent">
<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">reportInterval</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">1.0</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'
<br />
 <span title="application information for this field"><span class="gray">appinfo</span>='<span class="gray">Sampling frequency in seconds (0 means all values)</span>'</span>/>
</span><br /><span title="XML comment"><!-- Trace ROUTEd event values on X3D browser console --></span>
<br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">value_changed</span>' <span class="attribute">type</span>='<span class="value">SFFloat</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">key</span>' <span class="attribute">type</span>='<span class="value">MFFloat</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">keyValue</span>' <span class="attribute">type</span>='<span class="value">MFFloat</span>' <span class="attribute">accessType</span>='<span class="value">inputOnly</span>'/>
</span><br />

<span title="A field element defines an interface attribute or node for a parent Script"><<span class="prototype">field</span> <span class="attribute">name</span>='<span class="prototype">timeStampPreviousReport</span>' <span class="attribute">type</span>='<span class="value">SFTime</span>' <span class="attribute">value</span>='<span class="value">-1</span>' <span class="attribute">accessType</span>='<span class="value">initializeOnly</span>'/>
</span><br />
</div class="indent">
</div class="indent">
</div class="indent">
<code>
                        <b><![CDATA[</b>
                     </code>
                     <pre>
        
  ecmascript:
    function value_changed (eventValue, timeStamp) {
      if (timeStamp - timeStampPreviousReport >= reportInterval) {
        Browser.print ('Trace_ScalarInterpolator_fadeOut type=SFFloat value_changed=' + eventValue + '\n');
        timeStampPreviousReport = timeStamp;
      }
    }
    function key (eventValue) {
      Browser.print ('Trace_ScalarInterpolator_fadeOut type=MFFloat key=' + eventValue.toString() + '\n');
    }
    function keyValue (eventValue) {
      Browser.print ('Trace_ScalarInterpolator_fadeOut type=MFFloat keyValue=' + eventValue.toString() + '\n');
    }
  
      </pre>
                     <code>
                        <b>]]></b>
                     </code>
<div class="indent">
<div class="indent">
<div class="indent">
</div></<span class="element">Script</span>>
<br />
<a name="ROUTE_19"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#fadeOut" class="idName">fadeOut</a>' <span class="attribute">fromField</span>='<span class="value">value_changed</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_ScalarInterpolator_fadeOut"
                     class="idName">Trace_ScalarInterpolator_fadeOut</a>' <span class="attribute">toField</span>='<span class="value">value_changed</span>'/>
</span><br />
<a name="ROUTE_20"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#fadeOut" class="idName">fadeOut</a>' <span class="attribute">fromField</span>='<span class="value">key</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_ScalarInterpolator_fadeOut"
                     class="idName">Trace_ScalarInterpolator_fadeOut</a>' <span class="attribute">toField</span>='<span class="value">key</span>'/>
</span><br />
<a name="ROUTE_21"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#fadeOut" class="idName">fadeOut</a>' <span class="attribute">fromField</span>='<span class="value">keyValue</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition"
                     href="#Trace_ScalarInterpolator_fadeOut"
                     class="idName">Trace_ScalarInterpolator_fadeOut</a>' <span class="attribute">toField</span>='<span class="value">keyValue</span>'/>
</span><br /><span title="XML comment"><!-- ======= ScalarInterpolator Trace block complete ===================================================== --></span>
               </div><span title="Group is a Grouping node that can contain most nodes"></<span class="element">Group</span>>
</span><br />
<a name="ROUTE_22"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerIn" class="idName">timerIn</a>' <span class="attribute">fromField</span>='<span class="value">fraction_changed</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#fadeIn" class="idName">fadeIn</a>' <span class="attribute">toField</span>='<span class="value">set_fraction</span>'/>
</span><br />
<a name="ROUTE_23"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#timerOut" class="idName">timerOut</a>' <span class="attribute">fromField</span>='<span class="value">fraction_changed</span>' <span class="attribute">toNode</span>='<a title="go to the original DEF node definition" href="#fadeOut" class="idName">fadeOut</a>' <span class="attribute">toField</span>='<span class="value">set_fraction</span>'/>
</span><br />
<a name="ROUTE_24"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#fadeIn" class="idName">fadeIn</a>' <span class="attribute">fromField</span>='<span class="value">value_changed</span>' <span class="attribute">toNode</span>='<span class="idName">RED_APP_Mat</span>' <span class="attribute">toField</span>='<span class="value">transparency</span>'/>
</span><br />
<a name="ROUTE_25"> </a> 
<span title="ROUTE connects fields between nodes to enable event passing"><<span class="route">ROUTE</span> <span class="attribute">fromNode</span>='<a title="go to the original DEF node definition" href="#fadeOut" class="idName">fadeOut</a>' <span class="attribute">fromField</span>='<span class="value">value_changed</span>' <span class="attribute">toNode</span>='<span class="idName">RED_APP_Mat</span>' <span class="attribute">toField</span>='<span class="value">transparency</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 DEF nodes</i>
            </b>: 
<a title="go to this ScalarInterpolator node" href="#fadeIn" class="idName">fadeIn</a>,
<a title="go to this ScalarInterpolator node" href="#fadeOut" class="idName">fadeOut</a>,
<a title="go to this TimeTrigger node" href="#getTimeIn" class="idName">getTimeIn</a>,
<a title="go to this TimeTrigger node" href="#getTimeOut" class="idName">getTimeOut</a>,
<a title="go to this BooleanFilter node" href="#splitBool" class="idName">splitBool</a>,
<a title="go to this TimeSensor node" href="#timerIn" class="idName">timerIn</a>,
<a title="go to this TimeSensor node" href="#timerOut" class="idName">timerOut</a>,
<a title="go to this Script node" href="#Trace_BooleanFilter_splitBool"
               class="idName">Trace_BooleanFilter_splitBool</a>,
<a title="go to this Script node"
               href="#Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime"
               class="idName">Trace_ROUTE_getTimeOut.triggerTime_TO_timerOut.startTime</a>,
<a title="go to this Script node" href="#Trace_ScalarInterpolator_fadeOut"
               class="idName">Trace_ScalarInterpolator_fadeOut</a>,
<a title="go to this Script node" href="#Trace_TimeSensor_timerIn" class="idName">Trace_TimeSensor_timerIn</a>,
<a title="go to this Script node" href="#Trace_TimeTrigger_getTimeOut"
               class="idName">Trace_TimeTrigger_getTimeOut</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 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>