Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

X3D Example Archives: Conformance Nist, Bindable Nodes, Navigation Info

X3D Scenes Descriptions
any type Test ANY NavigationInfo type. A NavigationInfo node with a type of [ANY,EXAMINE,FLY,WALK,"NONE"] is used to navigate this world. The first recognized type (EXAMINE) in the list should be the mode of navigation in this world. If EXAMINE is not a recognized type, then FLY, WALK or "NONE" (in this order), should be the browser's preference. If none of these types are recognized, then any other navigation mode defined by the browser may be used. Because EXAMINE is a required navigation type however, the expected mode for this test should be EXAMINE. In addition, controls for navigating in FLY and WALK should be available, and the user should be able to change to these navigation modes dynamically.
create vRML from string navigationinfo Test NOT binding a NavigationInfo node generated by Create_Vrml_From_String. A NavigationInfo node is introduced into this world via the createVrmlFromString method of an EcmaScript script node. The string used in the script contains a NavigationInfo node with a type of EXAMINE. Because the NavigationInfo node is introduced via a createVrmlFromString method, it should not be bound to the top of the stack. As a result, navigation should be of the default type [WALK,ANY] and produce a "walking" type of navigation. In addition, a Text message should appear stating that the scripted NavigationInfo node is not bound, and that its isBound field is set to false.
create vRML from url navigationinfo Test NOT binding a NavigationInfo node generated by Create_Vrml_From_Url. A NavigationInfo node is introduced into this world via the createVrmlFromURL method of an EcmaScript script node. The url used in the script points to a file containing a NavigationInfo node with a type of EXAMINE . Because the NavigationInfo node is introduced via a createVrmlFromURL method, it should not be bound to the top of the stack. As a result, navigation should be of the default type WALK ANY and produce a walking type of navigation. In addition, a Text message should appear stating that the scripted NavigationInfo node is not bound, and that its isBound field is set to false.
default binding proto Test a NavigationInfo PROTO. A NavigationInfo node with a type of EXAMINE is defined inside a PROTO definition in this world. That PROTO is then instantiated in the world. The result should be: navigation in this world should be of type EXAMINE (the entire world should appear as a single geometry, with the viewer allowed to view it from any angle or distance), and a message should appear stating that this PROTO NavigationInfo node is bound to the stack, and that the isBound field of the node is set to true.
default binding single Test binding a single NavigationInfo node. A single NavigationInfo node, with type of EXAMINE is present in this world. This NavigationInfo node should be bound to the top of the stack, and EXAMINE should be the navigation type. This means that the entire world should appear as a single geometry, with the viewer allowed to view it from any angle or distance. A Text message stating that the node is bound to the stack should appear at the top of the scene, and that the isBound field of the node is set to true.
default binding two Test binding first of 2 NavigationInfo nodes. Two NavigationInfo node exist in this world. The first NavigationInfo node found in the world has a type of EXAMINE. The second NavigationInfo node found in this world contains a type of FLY. By default, the first NavigationInf node found in the world will be bound to the stack, and navigation will conform to its defined fields. As a result, the entire world should appear as a single geometry, with the viewer allowed to view it from any angle or distance. A Text message stating that the first NavigationInfo node is bound to the stack should appear at the top of the scene, and that the isBound field of the node is set to true.
default speed Test default speed. A NavigationInfo node with a default speed field should result in a navigation speed of 1 meter per second for browser average/default speed, when the browser speed control is set to "normal". The speed is measured in the same root coordinate system of the Viewpoint node, to which the NavigationInfo node is parented.
default type Test default type. A NavigationInfo node with a default "type" field exists in this world. As a result, a type of [WALK,ANY] should be used as the navigation mode. The type of navigation should appear at the top of the world as Text, and the navigation through the world should be a "walking" type experience. Collision detection must be supported. To test collision support, the Box geometry collides with the viewer avatar. The Box should turn red upon collision, showing that collision detection between a moving geometry, and a stationary avatar is supported. In addition, the viewer should be able to navigate toward the Box geometry in a "walking" type of motion, and collide with the Box geometry. This should also cause the Box to turn red, indicating that collision detection between a stationary geometry and a moving (navigating) avatar is supported.
examine type Test EXAMINE type. A NavigationInfo node with a type of EXAMINE is used to navigate this world. A viewer should experience an EXAMINE type of navigation mode (the entire world appears as a single geometry object, and may be viewed from any angle or distance).
fly type Test headlight range. A NavigationInfo node with a type of FLY is used to navigate this world. A viewer should experience a "flying" type of navigation mode (3 dimensional navigation possible through the world) with an appropriate navigation interface paradigm. Collision detection must be supported. To test collision support, the Box geometry collides with the viewer avatar. The Box should turn red upon collision, showing that collision detection between a moving geometry, and a stationary avatar is supported. In addition, the viewer should be able to navigate toward the Box geometry in a "walking" type of motioin, and collide with the Box geometry. This should also cause the Box to turn red, indicating that collision detection between a stationary geometry and a moving (navigating) avatar is supported.
headlight range This is a test of the default state of the headlight field, and setting headlight to true and false. Initially the Box geometry should be illuminated, indicating that the default headlight value is true. Pressing the pointing device button while over the Box geometry in this world should toggle the headlight field value of the NavigationInfo node from true to false, turning off the headlight, and providing no illumination to the Box geometry. The Box geometry should appear black. Subsequent toggling of the headlight should turn it on and off.
inline navigationinfo Test Inlining. A NavigationInfo node is introduced into this world via the Inline node. The Inline file contains a NavigationInfo node with a type of EXAMINE. Because the NavigationInfo node is introduced via an Inline node, it should not be bound to the top of the stack. As a result, navigation should be of the default type [WALK,ANY] and produce a "walking" type of navigation. In addition, a Text message should appear stating that the Inlined NavigationInfo node is not bound, and that its isBound field is set to false.
jumpcut anchor Test jumpcut with Anchor node. A NavigationInfo type of ANY is NOT included in the NavigationInfo node field in this world. Consequently, an Anchor node, with a url field of "Top_View" (corresponding to the name of Viewpoint in this world) should create a "jump cut" transition of views when the Box geometry in this world is indicated by the pointing device. As a result, indicating the Box geometry should result in a Viewpoint transition to the top view of the Box geometry.
jumpcut loadurl Test jumpcut Viewpoint transition using Script loadUrl method. A NavigationInfo type of ANY is NOT included in the NavigationInfo node field in this world. Consequently, a Script node with a call to the "loadURL" method, with a url corresponding to the MFString "Top_View" (the name of a Viewpoint in this world) should create a "jump cut" transition of views when the Box geometry in this world is indicated by the pointing device. As a result, indicating the Box geometry should result in a Viewpoint transition to the top view of the Box geometry.
navigationinfo This is a collateral file used in other tests for this node.
navinline This is a collateral file used in other tests for this node.
nonavigationinfo Test browser state with no NavigationInfo present. No NavigationInfo node is present in this world. By default, the browser should set its state to that of a default NavigationInfo node. Browser navigation should be a "walking" experience, with an appropriate navigation interface paradigm. Collision detection must be supported. To test collision support, the BOX geometry collides with the viewer avatar. The Box should turn red upon collision, showing that collision detection between a moving geometry, and a stationary avatar is supported. In addition, the viewer should be able to navigate toward the Box geometry in a "walking" type of motioin, and collide with the Box geometry. This should also cause the Box to turn red, indicating that collision detection between a stationary geometry and a moving (navigating) avatar is supported.
none type Test NONE type. A NavigationInfo node with a type of "NONE" is used to navigate this world. A viewer should experience a "NONE" type of navigation mode (no viewer navigation is possible, except through world execution). As a result the viewer should remain in place at the Viewpoint location 0 0 15, looking down the -Z axis. Collision detections must be supported. As a result, when the Box geometry collides with the viewer avatar, the Box should turn red, showing that collision detection is enabled.
speed range Test speed range. A NavigationInfo node can be modified with speed values of 0, 1 and 10 meters per second by indicating the appropriate text in this world. A speedometer located in the lower left portion of the screen shows the current avatar speed. Indicating the red Sphere in this world set the NavigationInfo node speed to "0". Indicating the yellow Sphere sets the speed to 1 meter per second for default navigation. Indicating the green sphere sets the speed to 10 meters per second for default navigation. The "speedometer" should reflect these changes when the browser speed control is set to the default normal navigation speed.
speed scaling Test speed scaling. Three Viewpoint node, children in three different Transform node, with three different scale values are used to determine if scaling of Transform node properly affect the speed of a NavigationInfo node. Indicating the top (red) Box changes the current Viewpoints parent Transform scale to (0.01 0.01 0.01). The result should be, the "normal" speed of navigation should be 10 times slower than default navigation speed. Selecting the middle (yellow) Box sets the Transform scale to 1 1 1. Navigation speed should be 1 meter per second when set to "normal" on the browser speed control. Indicating the bottom (green) Box sets the Transform scale to 10 10 10. The result should be, the "normal" speed of navigation for the right indicated text should be 10 times faster than default navigation speed.
walk type Test WALK type. A NavigationInfo node with a type of WALK is used to navigate this world. Browser navigation should be a "walking" experience, with an appropriate navigation interface paradigm. Collision detection must be supported. To test collision support, the Box geometry collides with the viewer avatar. The Box should turn red upon collision, showing that collision detection between a moving geometry, and a stationary avatar is supported. In addition, the viewer should be able to navigate toward the Box geometry in a "walking" type of motioin, and collide with the Box geometry. This should also cause the Box to turn red, indicating that collision detection between a stationary geometry and a moving (navigating) avatar is supported.

Online at http://www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/NavigationInfo

Master source code archive is under subversion control at
http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/NavigationInfo

Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

Also available: current and archived nightly builds and distributions of these examples, all published under an Open-Source License.

The X3D Resources: Examples page and Savage Developers Guide provide more information about the production of this archive.