X3D Model Documentation: NavigationInfoStack.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' NavigationInfoStack.x3d '/>
  6            <meta name='descriptioncontent='Attempt to control NavigationInfo speed and stack.'/>
  7            <meta name='creatorcontent='Don Brutzman'/>
  8            <meta name='createdcontent='13 June 2004'/>
  9            <meta name='modifiedcontent='28 November 2019'/>
 10            <meta name=' warning content=' under development '/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/NavigationInfoStack.x3d '/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 13            <meta name='licensecontent='../../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: NavigationInfoStackGroup, NavInfo1000mps, NavInfo100mps, NavInfo10mps, NavInfoDefault, NavSpeed1000BooleanTrigger, NavSpeed1000ProximitySensor, NavSpeed100BooleanTrigger, NavSpeed100ProximitySensor, NavSpeed10BooleanTrigger, NavSpeed10ProximitySensor, NavSpeedMonitorScript
-->
 15       <Scene>
 16            <WorldInfo title='NavigationInfoStack.x3d'/>
 17            <Group DEF='NavigationInfoStackGroup'>
 18 
               <!-- ROUTE information for NavInfoDefault node:  [from isBound to NavSpeedMonitorScript.speed1Bound ] -->
               <NavigationInfo DEF='NavInfoDefault'/>
 19                 <!-- ========== -->
 20 
               <!-- ROUTE information for NavInfo10mps node:  [from NavSpeed10BooleanTrigger.triggerTrue to set_bind ] [from isBound to NavSpeedMonitorScript.speed10Bound ] -->
               <NavigationInfo DEF='NavInfo10mpsspeed='10'/>
 21 
               <!-- ROUTE information for NavSpeed10BooleanTrigger node:  [from NavSpeed10ProximitySensor.exitTime to set_triggerTime ] [from triggerTrue to NavInfo10mps.set_bind ] -->
               <BooleanTrigger DEF='NavSpeed10BooleanTrigger'/>
 22 
               <!-- ROUTE information for NavSpeed10ProximitySensor node:  [from exitTime to NavSpeed10BooleanTrigger.set_triggerTime ] -->
               <ProximitySensor DEF='NavSpeed10ProximitySensorsize='200 200 200'/>
 23                 < ROUTE  fromNode='NavSpeed10BooleanTrigger' fromField='triggerTrue' toNode='NavInfo10mps' toField='set_bind'/>
 24                 < ROUTE  fromNode='NavSpeed10ProximitySensor' fromField='exitTime' toNode='NavSpeed10BooleanTrigger' toField='set_triggerTime'/>
 25                 <!-- ========== -->
 26 
               <!-- ROUTE information for NavInfo100mps node:  [from NavSpeed100BooleanTrigger.triggerTrue to set_bind ] [from isBound to NavSpeedMonitorScript.speed100Bound ] -->
               <NavigationInfo DEF='NavInfo100mpsspeed='100'/>
 27 
               <!-- ROUTE information for NavSpeed100ProximitySensor node:  [from exitTime to NavSpeed100BooleanTrigger.set_triggerTime ] -->
               <ProximitySensor DEF='NavSpeed100ProximitySensorsize='2000 2000 2000'/>
 28 
               <!-- ROUTE information for NavSpeed100BooleanTrigger node:  [from NavSpeed100ProximitySensor.exitTime to set_triggerTime ] [from triggerTrue to NavInfo100mps.set_bind ] -->
               <BooleanTrigger DEF='NavSpeed100BooleanTrigger'/>
 29                 < ROUTE  fromNode='NavSpeed100BooleanTrigger' fromField='triggerTrue' toNode='NavInfo100mps' toField='set_bind'/>
 30                 < ROUTE  fromNode='NavSpeed100ProximitySensor' fromField='exitTime' toNode='NavSpeed100BooleanTrigger' toField='set_triggerTime'/>
 31                 <!-- ========== -->
 32 
               <!-- ROUTE information for NavInfo1000mps node:  [from NavSpeed1000BooleanTrigger.triggerTrue to set_bind ] [from isBound to NavSpeedMonitorScript.speed1000Bound ] -->
               <NavigationInfo DEF='NavInfo1000mpsspeed='1000'/>
 33 
               <!-- ROUTE information for NavSpeed1000ProximitySensor node:  [from exitTime to NavSpeed1000BooleanTrigger.set_triggerTime ] -->
               <ProximitySensor DEF='NavSpeed1000ProximitySensorsize='20000 20000 20000'/>
 34 
               <!-- ROUTE information for NavSpeed1000BooleanTrigger node:  [from NavSpeed1000ProximitySensor.exitTime to set_triggerTime ] [from triggerTrue to NavInfo1000mps.set_bind ] -->
               <BooleanTrigger DEF='NavSpeed1000BooleanTrigger'/>
 35                 < ROUTE  fromNode='NavSpeed1000BooleanTrigger' fromField='triggerTrue' toNode='NavInfo1000mps' toField='set_bind'/>
 36                 < ROUTE  fromNode='NavSpeed1000ProximitySensor' fromField='exitTime' toNode='NavSpeed1000BooleanTrigger' toField='set_triggerTime'/>
 37                 <!-- ========== -->
 38 
               <!-- ROUTE information for NavSpeedMonitorScript node:  [from NavInfoDefault.isBound to speed1Bound ] [from NavInfo10mps.isBound to speed10Bound ] [from NavInfo100mps.isBound to speed100Bound ] [from NavInfo1000mps.isBound to speed1000Bound ] -->
               <Script DEF='NavSpeedMonitorScript'>
 39                      <field name='speed1Boundtype='SFBoolaccessType='inputOnly'/>
 40                      <field name='speed10Boundtype='SFBoolaccessType='inputOnly'/>
 41                      <field name='speed100Boundtype='SFBoolaccessType='inputOnly'/>
 42                      <field name='speed1000Boundtype='SFBoolaccessType='inputOnly'/>
 43                      <field name='traceEnabledtype='SFBoolvalue='trueaccessType='initializeOnly'/>
  <![CDATA[
        
ecmascript:

function speed1Bound (value, timestamp)
{
	tracePrint ('NavInfoDefault (1 mps) bound');
}
function speed10Bound (value, timestamp)
{
	tracePrint ('NavInfo10mps bound');
}
function speed100Bound (value, timestamp)
{
	tracePrint ('NavInfo100mps bound');
}
function speed1000Bound (value, timestamp)
{
	tracePrint ('NavInfo1000mps bound');
}
function alwaysPrint (text)
{
	Browser.println ('[NavSpeedMonitorScript] ' + text);
}
function tracePrint (text)
{
	if (traceEnabled) Browser.println ('[NavSpeedMonitorScript] ' + text);
}

      
]]>
 45                 </Script>
 46                 < ROUTE  fromNode='NavInfoDefault' fromField='isBound' toNode='NavSpeedMonitorScript' toField='speed1Bound'/>
 47                 < ROUTE  fromNode='NavInfo10mps' fromField='isBound' toNode='NavSpeedMonitorScript' toField='speed10Bound'/>
 48                 < ROUTE  fromNode='NavInfo100mps' fromField='isBound' toNode='NavSpeedMonitorScript' toField='speed100Bound'/>
 49                 < ROUTE  fromNode='NavInfo1000mps' fromField='isBound' toNode='NavSpeedMonitorScript' toField='speed1000Bound'/>
 50            </Group>
 51       </Scene>
 52  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: NavigationInfoStackGroup, NavInfo1000mps, NavInfo100mps, NavInfo10mps, NavInfoDefault, NavSpeed1000BooleanTrigger, NavSpeed1000ProximitySensor, NavSpeed100BooleanTrigger, NavSpeed100ProximitySensor, NavSpeed10BooleanTrigger, NavSpeed10ProximitySensor, NavSpeedMonitorScript
-->
X3D Tooltips element index: BooleanTrigger, field, Group, head, meta, NavigationInfo, ProximitySensor, ROUTE, Scene, Script, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 10 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

NavSpeed1000ProximitySensor
ProximitySensor
exitTime
SFTime

ROUTE
event to
(1)
NavSpeed1000BooleanTrigger
BooleanTrigger
set_triggerTime
SFTime
then
 
 
 
NavSpeed1000BooleanTrigger
BooleanTrigger
triggerTrue
SFBool

ROUTE
event to
(2)
NavInfo1000mps
NavigationInfo
set_bind
SFBool
then
 
 
 
NavInfo1000mps
NavigationInfo
isBound
SFBool

ROUTE
event to
(3)
NavSpeedMonitorScript
Script
speed1000Bound
SFBool

NavSpeed100ProximitySensor
ProximitySensor
exitTime
SFTime

ROUTE
event to
(1)
NavSpeed100BooleanTrigger
BooleanTrigger
set_triggerTime
SFTime
then
 
 
 
NavSpeed100BooleanTrigger
BooleanTrigger
triggerTrue
SFBool

ROUTE
event to
(2)
NavInfo100mps
NavigationInfo
set_bind
SFBool
then
 
 
 
NavInfo100mps
NavigationInfo
isBound
SFBool

ROUTE
event to
(3)
NavSpeedMonitorScript
Script
speed100Bound
SFBool

NavSpeed10ProximitySensor
ProximitySensor
exitTime
SFTime

ROUTE
event to
(1)
NavSpeed10BooleanTrigger
BooleanTrigger
set_triggerTime
SFTime
then
 
 
 
NavSpeed10BooleanTrigger
BooleanTrigger
triggerTrue
SFBool

ROUTE
event to
(2)
NavInfo10mps
NavigationInfo
set_bind
SFBool
then
 
 
 
NavInfo10mps
NavigationInfo
isBound
SFBool

ROUTE
event to
(3)
NavSpeedMonitorScript
Script
speed10Bound
SFBool

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Tools/Animation/NavigationInfoStackIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Tools/Animation/NavigationInfoStack.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode  DEF='idNamefield='value'/> matches XML terminology <XmlElement  DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->