<?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='Interactive'  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=' offset.x3d '/>
<meta name='MovingImagecontent='offset-movie.mpg'/>
<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=' 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='Test the function of SphereSensors offset field. The world includes 3 SphereSensors, each associated with its own Box geometry. Each box has a red X, green Y, and blue Z axis. The left Box geometry has an offset value of -90 degrees X rotation. The center Box has an offset of +90 degrees Y rotation. The right Box has an offset of -90 degrees Z rotation. When the left Box geometry is selected by the pointing device (by holding down the primary pointing device button while indicating the geometry), it should "snap" to its offset position, and the red line should extend from the right face of the box, along the X axis, the green line should extend from the rear face, along the Z axis, and the blue line should extend vertically from the top face, along to the Z axis. Indicating the central Box should result in: the red line should extend from the rear face of the Box, along the Z axis, the green line should extend from the top face of the box, along the Y axis, and the blue line should extend from the right face of the box, along the X axis. Indicating the the right Box should result in: the red line should extend from the bottom face, along the Y axis, the green line should extend from the right face, along the X axis, and the blue line should extend from the front face, along the Z axis. All geometry should "snap" to its original offset position each time it is selected.'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/SphereSensor/offset.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: AXIS, LEFT_BOX, LEFT_SENSOR, MIDDLE_BOX, MIDDLE_SENSOR, RIGHT_BOX, RIGHT_SENSOR

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6
-->
<Scene>
<WorldInfo title='offset.x3d'/>
<NavigationInfo type='"WALK" "FLY" "ANY"'/>
<Viewpoint description='Front View'/>
<Viewpoint description='Rear Vieworientation='0 1 0 3.14position='0 0 -10'/>
<Viewpoint description='Top Vieworientation='1 0 0 -1.57position='0 10 0'/>
<Viewpoint description='Bottom Vieworientation='1 0 0 1.57position='0 -10 0'/>
<Viewpoint description='Right Vieworientation='0 1 0 1.57position='10 0 0'/>
<Viewpoint description='Left Vieworientation='0 1 0 -1.57position='-10 0 0'/>
<Group>
<Transform>
<Transform>
<!-- ROUTE information for MIDDLE_SENSOR node:  [from rotation_changed to MIDDLE_BOX.rotation ] -->
<SphereSensor DEF='MIDDLE_SENSORautoOffset='falsedescription='click and drag to rotateoffset='0 1 0 1.57'/>

<!-- ROUTE information for MIDDLE_BOX node:  [from MIDDLE_SENSOR.rotation_changed to rotation ] -->
<Transform DEF='MIDDLE_BOX'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
<Box/>
</Shape>
<Shape DEF='AXIS'>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 1 2coordIndex='0 1 -1 0 2 -1 0 3 -1'>
<Color color='1 0 0 0 1 0 0 0 1'/>
<Coordinate point='0 0 0 2 0 0 0 2 0 0 0 2'/>
</IndexedLineSet>
</Shape>
</Transform>
</Transform>
<Transform translation='-4.5 0 0'>
<!-- ROUTE information for LEFT_SENSOR node:  [from rotation_changed to LEFT_BOX.rotation ] -->
<SphereSensor DEF='LEFT_SENSORautoOffset='falsedescription='click and drag to rotateoffset='1 0 0 -1.57'/>

<!-- ROUTE information for LEFT_BOX node:  [from LEFT_SENSOR.rotation_changed to rotation ] -->
<Transform DEF='LEFT_BOX'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
<Box/>
</Shape>
<Shape USE=' AXIS'/>
</Transform>
</Transform>
<Transform translation='4.5 0 0'>
<!-- ROUTE information for RIGHT_SENSOR node:  [from rotation_changed to RIGHT_BOX.rotation ] -->
<SphereSensor DEF='RIGHT_SENSORautoOffset='falsedescription='click and drag to rotateoffset='0 0 1 -1.57'/>

<!-- ROUTE information for RIGHT_BOX node:  [from RIGHT_SENSOR.rotation_changed to rotation ] -->
<Transform DEF='RIGHT_BOX'>
<Shape>
<Appearance>
<Material diffuseColor='1 1 0'/>
</Appearance>
<Box/>
</Shape>
<Shape USE=' AXIS'/>
</Transform>
</Transform>
</Transform>
</Group>
< ROUTE  fromNode=' LEFT_SENSOR' fromField='rotation_changed' toNode=' LEFT_BOX' toField='rotation'/>
< ROUTE  fromNode=' MIDDLE_SENSOR' fromField='rotation_changed' toNode=' MIDDLE_BOX' toField='rotation'/>
< ROUTE  fromNode=' RIGHT_SENSOR' fromField='rotation_changed' toNode=' RIGHT_BOX' toField='rotation'/>
</Scene>
</X3D>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: AXIS, LEFT_BOX, LEFT_SENSOR, MIDDLE_BOX, MIDDLE_SENSOR, RIGHT_BOX, RIGHT_SENSOR

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6
-->

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

LEFT_SENSOR
SphereSensor
rotation_changed
SFRotation

ROUTE
event to
(1)
LEFT_BOX
Transform
rotation
SFRotation


MIDDLE_SENSOR
SphereSensor
rotation_changed
SFRotation

ROUTE
event to
(1)
MIDDLE_BOX
Transform
rotation
SFRotation


RIGHT_SENSOR
SphereSensor
rotation_changed
SFRotation

ROUTE
event to
(1)
RIGHT_BOX
Transform
rotation
SFRotation


-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/SphereSensor/offsetIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/ConformanceNist/Sensors/SphereSensor/offset.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. -->