<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive'  version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.0.xsd ' >
<head>
<meta name='titlecontent=' set_groundcolor2.x3d '/>
<meta name='referencecontent=' http://www.nist.gov/vrml.html '/>
<meta name='referencecontent=' http://www.itl.nist.gov/div897/ctg/vrml/vrml.html '/>
<meta name='creatorcontent=' http://www.itl.nist.gov/div897/ctg/vrml/members.html '/>
<meta name='disclaimercontent=' This file was provided by the National Institute of Standards and Technology, and is part of the X3D Conformance Test Suite, available at http://www.nist.gov/vrml.html The information contained within this file is provided for use in establishing conformance to the ISO VRML97 Specification. Conformance to this test does not imply recommendation or endorsement by the National Institute of Standards and Technology (NIST). This software can be redistributed and/or modified freely provided that any derivative works bear some notice that they are derived from it, and any modified versions bear some notice that they have been modified. '/>
<meta name='referencecontent=' Original NIST Conformance Testing Group, https://www.itl.nist.gov/div897/ctg/vrml '/>
<meta name='referencecontent=' Interactive Conformance Testing for VRML, Mary Brady and Lynn Rosenthal, NIST, created 8 September 2010 and updated 25 August 2016, https://www.nist.gov/itl/ssd/information-systems-group/interactive-conformance-testing-vrml '/>
<meta name='infocontent='Correct definition and compliance of this conformance scene is maintained by the X3D Working Group, https://www.web3d.org/working-groups/x3d'/>
<meta name='translatorcontent='Michael Kass NIST, Don Brutzman NPS'/>
<meta name='translatedcontent='21 January 2001'/>
<meta name='modifiedcontent='28 August 2023'/>
<meta name='descriptioncontent='This test adresses the ability of a browser to associate different ground colors with a set of different groundangles defined in the grondangle field. Four Background node are defined in the local coordinate system. All of them belong to the same grouping node (Group node). The test is started by clicking on the text as indicated when the test is first loaded. After clicking on the appropriate color name, the test should generate a ground color of variations of the same color (the one clicked on). This is done by specifying number different ground color angles. The sky should be the same color regardless of the ground color and the region where the sky and the ground meet should be white, this is done to convey the idea of a horizon. There are five colors and four angles defined.'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Background/set_groundcolor2.x3d '/>
<meta name='generatorcontent=' Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html '/>
<meta name='generatorcontent='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../../license.html'/>
</head>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: browns, color-back1, color-back2, color-back3, color-back4, greens, oranges, salmons, the-appearance, the-style, the-touch1, the-touch2, the-touch3, the-touch4, the-view

Index for Viewpoint node: the-view
-->
<Scene>
<WorldInfo title='set_groundcolor2.x3d'/>
<NavigationInfo headlight='falsetype='"EXAMINE" "WALK" "FLY" "ANY"'/>
<Group>
<Viewpoint DEF='the-viewdescription='Front Viewposition='0 0 20'/>
</Group>
<!-- ROUTE information for browns node:  [from color-back1.value_out to set_bind ] -->
<Background DEF='brownsgroundAngle='1.35 1.45 1.52 1.57groundColor='0.64705 0.1647 0.1647 0.69803 0.13333 0.13333 0.82352 0.41176 0.11764 0.82352 0.70588 0.54901 1 1 1skyColor='0.52941 0.80784 0.92156'/>

<!-- ROUTE information for greens node:  [from color-back2.value_out to set_bind ] -->
<Background DEF='greensgroundAngle='1.35 1.45 1.52 1.57groundColor='0.13333 0.54509 0.13333 0.60392 0.80392 0.19607 0.67843 0.8745 0.18431 0.4196 0.55686 0.13725 1 1 1skyColor='0.52941 0.80784 0.92156'/>

<!-- ROUTE information for salmons node:  [from color-back3.value_out to set_bind ] -->
<Background DEF='salmonsgroundAngle='1.35 1.45 1.52 1.57groundColor='0.91372 0.58823 0.47843 0.98039 0.50196 0.44705 1 0.62745 0.47843 1 0.64705 0 1 1 1skyColor='0.52941 0.80784 0.92156'/>

<!-- ROUTE information for oranges node:  [from color-back4.value_out to set_bind ] -->
<Background DEF='orangesgroundAngle='1.35 1.45 1.52 1.57groundColor='0.91372 0.58823 0.47843 1 0.64705 0 1 0.54901 0 1 0.49803 0.31372 1 1 1skyColor='0.52941 0.80784 0.92156'/>

<Transform translation='0 0 10'>
<Transform scale='0.02 0.02 0.02translation='-5.4 2.4 0'>
<Shape>
<Appearance>
<Material ambientIntensity='1diffuseColor='0 1 0emissiveColor='0 1 0'/>
</Appearance>
<Text string='"CLICK BELOW TO SELECT GROUND COLOR"'>
<FontStyle DEF='the-stylesize='29style='BOLD'/>
</Text>
</Shape>
</Transform>
<Transform scale='0.02 0.02 0.02translation='-5.4 1.5 0'>
<Shape>
<Appearance DEF='the-appearance'>
<Material ambientIntensity='1diffuseColor='0 0 1emissiveColor='0 0 1'/>
</Appearance>
<Text string='"Browns"'>
<FontStyle USE=' the-style'/>
</Text>
</Shape>
<!-- ROUTE information for the-touch1 node:  [from isActive to color-back1.value_in ] -->
<TouchSensor DEF='the-touch1description='touch to activate'/>
</Transform>
<Transform scale='0.02 0.02 0.02translation='-5.4 0.8 0'>
<Shape>
<Appearance USE=' the-appearance'/>
<Text string='"Greens"'>
<FontStyle USE=' the-style'/>
</Text>
</Shape>
<!-- ROUTE information for the-touch2 node:  [from isActive to color-back2.value_in ] -->
<TouchSensor DEF='the-touch2description='touch to activate'/>
</Transform>
<Transform scale='0.02 0.02 0.02translation='1 1.5 0'>
<Shape>
<Appearance USE=' the-appearance'/>
<Text string='"Salmons"'>
<FontStyle USE=' the-style'/>
</Text>
</Shape>
<!-- ROUTE information for the-touch3 node:  [from isActive to color-back3.value_in ] -->
<TouchSensor DEF='the-touch3description='touch to activate'/>
</Transform>
<Transform scale='0.02 0.02 0.02translation='1 0.8 0'>
<Shape>
<Appearance USE=' the-appearance'/>
<Text string='"Oranges"'>
<FontStyle USE=' the-style'/>
</Text>
</Shape>
<!-- ROUTE information for the-touch4 node:  [from isActive to color-back4.value_in ] -->
<TouchSensor DEF='the-touch4description='touch to activate'/>
</Transform>
</Transform>
<!-- ROUTE information for color-back1 node:  [from the-touch1.isActive to value_in ] [from value_out to browns.set_bind ] -->
<Script DEF='color-back1'>
<field name='value_intype='SFBoolaccessType='inputOnly'/>
<field name='value_outtype='SFBoolaccessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function value_in (the_value)
{	if (the_value == true)
	{
		value_out = true;
	}
	else
	{
		value_out = true;
	}
}

    
]]>
</Script>
<!-- ROUTE information for color-back2 node:  [from the-touch2.isActive to value_in ] [from value_out to greens.set_bind ] -->
<Script DEF='color-back2'>
<field name='value_intype='SFBoolaccessType='inputOnly'/>
<field name='value_outtype='SFBoolaccessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function value_in (the_value)
{
	if (the_value == true)
	{
		value_out = true;
	}
	else
	{
		value_out = true;
	}
}

    
]]>
</Script>
<!-- ROUTE information for color-back3 node:  [from the-touch3.isActive to value_in ] [from value_out to salmons.set_bind ] -->
<Script DEF='color-back3'>
<field name='value_intype='SFBoolaccessType='inputOnly'/>
<field name='value_outtype='SFBoolaccessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function value_in (the_value)
{
	if (the_value == true)
	{
		value_out = true;
	}
	else
	{
		value_out = true;
	}
}

    
]]>
</Script>
<!-- ROUTE information for color-back4 node:  [from the-touch4.isActive to value_in ] [from value_out to oranges.set_bind ] -->
<Script DEF='color-back4'>
<field name='value_intype='SFBoolaccessType='inputOnly'/>
<field name='value_outtype='SFBoolaccessType='outputOnly'/>
<![CDATA[
      
ecmascript:
function value_in (the_value)
{
	if (the_value == true)
	{
		value_out = true;
	}
	else
	{
		value_out = true;
	}
}

    
]]>
</Script>
< ROUTE  fromNode=' the-touch1' fromField='isActive' toNode=' color-back1' toField='value_in'/>
< ROUTE  fromNode=' the-touch2' fromField='isActive' toNode=' color-back2' toField='value_in'/>
< ROUTE  fromNode=' the-touch3' fromField='isActive' toNode=' color-back3' toField='value_in'/>
< ROUTE  fromNode=' the-touch4' fromField='isActive' toNode=' color-back4' toField='value_in'/>
< ROUTE  fromNode=' color-back1' fromField='value_out' toNode=' browns' toField='set_bind'/>
< ROUTE  fromNode=' color-back2' fromField='value_out' toNode=' greens' toField='set_bind'/>
< ROUTE  fromNode=' color-back3' fromField='value_out' toNode=' salmons' toField='set_bind'/>
< ROUTE  fromNode=' color-back4' fromField='value_out' toNode=' oranges' toField='set_bind'/>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: browns, color-back1, color-back2, color-back3, color-back4, greens, oranges, salmons, the-appearance, the-style, the-touch1, the-touch2, the-touch3, the-touch4, the-view

Index for Viewpoint node: the-view
-->

Event Graph ROUTE Table entries with 8 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.

the-touch1
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
color-back1
Script
value_in
SFBool

 
 
then
color-back1
Script
value_out
SFBool

ROUTE
event to
(2)
browns
Background
set_bind
SFBool


the-touch2
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
color-back2
Script
value_in
SFBool

 
 
then
color-back2
Script
value_out
SFBool

ROUTE
event to
(2)
greens
Background
set_bind
SFBool


the-touch3
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
color-back3
Script
value_in
SFBool

 
 
then
color-back3
Script
value_out
SFBool

ROUTE
event to
(2)
salmons
Background
set_bind
SFBool


the-touch4
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
color-back4
Script
value_in
SFBool

 
 
then
color-back4
Script
value_out
SFBool

ROUTE
event to
(2)
oranges
Background
set_bind
SFBool



-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Background/set_groundcolor2Index.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/Background/set_groundcolor2.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='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. -->