X3D Model Documentation: TestViewpointJump.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='TestViewpointJump.x3d'/>
  6            <meta name='descriptioncontent='Conformance Test for Viewpoint: immediate switching (jump=true) and smooth animation (jump=false). Press PgUp/PgDn or touch geometry to change viewpoints.'/>
  7            <meta name=' warning content=' CosmoPlayer 2.1.1 fails when "Animate transition between viewpoints" option is turned off. First, try this test by opening the Control Panel, selecting "Animate transition between viewpoints". Use Page Down key to switch between viewpoints. You should smoothly transition between viewpoints. Next, turn the "Animate transition bewtween viewpoints" option off. Use Page Down key to switch between viewpoints. You should see a jump to the objects labeled "jump=true" and an animated transition to the objects labeled "jump=false". '/>
  8            <meta name='creatorcontent='Jeffrey Weekley and Don Brutzman'/>
  9            <meta name='createdcontent='25 July 2001'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name='referencecontent='https://www.web3d.org/technicalinfo/specifications/vrml97/part1/nodesRef.html#Viewpoint'/>
 12            <meta name='subjectcontent='Viewpoint conformance test'/>
 13            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/development/TestViewpointJump.x3d'/>
 14            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 15            <meta name='licensecontent='../license.html'/>
 16       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: Box, BoxTouchSensor, Cone, ConeTouchSensor, ConeView, CubeView, Cylinder, CylinderTouchSensor, CylinderView, Geometry, Sphere, SphereTouchSensor, SphereView

Index for Viewpoint nodes: Viewpoint_1, ConeView, CubeView, CylinderView, SphereView
-->
 17       <Scene>
 18            <WorldInfo title='TestViewpointJump.x3d'/>
 19            <Viewpoint description='Initial viewpoint, default jump (jump true)position='0 0 7.5'/>
 20            <!-- default value for field is jump='true' -->
 21 
          <!-- ROUTE information for ConeView node:  [from ConeTouchSensor.isActive to set_bind ] -->
          <Viewpoint DEF='ConeViewdescription='Red Cone (jump true)orientation='0 -1 0 1position='-4.6 1.4 1.9'/>
 22 
          <!-- ROUTE information for SphereView node:  [from SphereTouchSensor.isActive to set_bind ] -->
          <Viewpoint DEF='SphereViewdescription='Blue Sphere (jump false)jump='falseorientation='0 1 0 .7572position='4.7 -1.2 3.3'/>
 23 
          <!-- ROUTE information for CubeView node:  [from BoxTouchSensor.isActive to set_bind ] -->
          <Viewpoint DEF='CubeViewdescription='Magenta Cube (jump true)orientation='0 -1 0 1.0529position='-6.1 -1.5 2.7'/>
 24 
          <!-- ROUTE information for CylinderView node:  [from CylinderTouchSensor.isActive to set_bind ] -->
          <Viewpoint DEF='CylinderViewdescription='White Cylinder (jump false)jump='falseorientation='0 1 0 1position='5.6 1.4 2.8'/>
 25            <Group DEF='Geometry'>
 26                 <Transform DEF='Boxtranslation='-1.5 -1.5 0'>
 27                      <Shape>
 28                           <Box size='1 1 1'/>
 29                           <Appearance>
 30                                <Material diffuseColor='1 0 1'/>
 31                           </Appearance>
 32                      </Shape>
 33                      <Transform translation='0 1 0'>
 34                           <Billboard>
 35                                <Shape>
 36                                     <Text string='"Magenta Cube Viewpoint" "jump=true"'>
 37                                          <FontStyle justify='"MIDDLE" "MIDDLE"size='0.25'/>
 38                                     </Text>
 39                                     <Appearance>
 40                                          <Material diffuseColor='0.4 0.8 0.6shininess='0.8'/>
 41                                     </Appearance>
 42                                </Shape>
 43                           </Billboard>
 44                      </Transform>
 45 
                    <!-- ROUTE information for BoxTouchSensor node:  [from isActive to CubeView.set_bind ] -->
                    <TouchSensor DEF='BoxTouchSensordescription='click to bind this viewpoint'/>
 46                      < ROUTE  fromNode='BoxTouchSensor' fromField='isActive' toNode='CubeView' toField='set_bind'/>
 47                 </Transform>
 48                 <Transform DEF='Spheretranslation='1.5 -1.5 0'>
 49                      <Shape>
 50                           <Sphere radius='0.5'/>
 51                           <Appearance>
 52                                <Material diffuseColor='0 0 1'/>
 53                           </Appearance>
 54                      </Shape>
 55                      <Transform translation='0 1 0'>
 56                           <Billboard>
 57                                <Shape>
 58                                     <Text string='"Blue Sphere Viewpoint" "jump=false"'>
 59                                          <FontStyle justify='"MIDDLE" "MIDDLE"size='0.25'/>
 60                                     </Text>
 61                                     <Appearance>
 62                                          <Material diffuseColor='0.4 0.8 0.6shininess='0.8'/>
 63                                     </Appearance>
 64                                </Shape>
 65                           </Billboard>
 66                      </Transform>
 67 
                    <!-- ROUTE information for SphereTouchSensor node:  [from isActive to SphereView.set_bind ] -->
                    <TouchSensor DEF='SphereTouchSensordescription='click for blue sphere viewpoint'/>
 68                      < ROUTE  fromNode='SphereTouchSensor' fromField='isActive' toNode='SphereView' toField='set_bind'/>
 69                 </Transform>
 70                 <Transform DEF='Conetranslation='-1.5 1.25 0'>
 71                      <Shape>
 72                           <Cone bottomRadius='0.5height='1'/>
 73                           <Appearance>
 74                                <Material diffuseColor='1 0 0'/>
 75                           </Appearance>
 76                      </Shape>
 77                      <Transform translation='0 1 0'>
 78                           <Billboard>
 79                                <Shape>
 80                                     <Text string='"Red Cone Viewpoint" "jump=true"'>
 81                                          <FontStyle justify='"MIDDLE" "MIDDLE"size='0.25'/>
 82                                     </Text>
 83                                     <Appearance>
 84                                          <Material diffuseColor='0.4 0.8 0.6shininess='0.8'/>
 85                                     </Appearance>
 86                                </Shape>
 87                           </Billboard>
 88                      </Transform>
 89 
                    <!-- ROUTE information for ConeTouchSensor node:  [from isActive to ConeView.set_bind ] -->
                    <TouchSensor DEF='ConeTouchSensordescription='click for red cone viewpoint'/>
 90                      < ROUTE  fromNode='ConeTouchSensor' fromField='isActive' toNode='ConeView' toField='set_bind'/>
 91                 </Transform>
 92                 <Transform DEF='Cylindertranslation='1.5 1.25 0'>
 93                      <Shape>
 94                           <Cylinder height='1radius='0.5'/>
 95                           <Appearance>
 96                                <Material diffuseColor='1 1 1'/>
 97                           </Appearance>
 98                      </Shape>
 99                      <Transform translation='0 1 0'>
100                           <Billboard>
101                                <Shape>
102                                     <Text string='"White Cylinder Viewpoint" "jump=false"'>
103                                          <FontStyle justify='"MIDDLE" "MIDDLE"size='0.25'/>
104                                     </Text>
105                                     <Appearance>
106                                          <Material diffuseColor='0.4 0.8 0.6shininess='0.8'/>
107                                     </Appearance>
108                                </Shape>
109                           </Billboard>
110                      </Transform>
111 
                    <!-- ROUTE information for CylinderTouchSensor node:  [from isActive to CylinderView.set_bind ] -->
                    <TouchSensor DEF='CylinderTouchSensordescription='click for white cylinder viewpoint'/>
112                      < ROUTE  fromNode='CylinderTouchSensor' fromField='isActive' toNode='CylinderView' toField='set_bind'/>
113                 </Transform>
114            </Group>
115       </Scene>
116  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: Box, BoxTouchSensor, Cone, ConeTouchSensor, ConeView, CubeView, Cylinder, CylinderTouchSensor, CylinderView, Geometry, Sphere, SphereTouchSensor, SphereView

Index for Viewpoint nodes: Viewpoint_1, ConeView, CubeView, CylinderView, SphereView
-->
X3D Tooltips element index: Appearance, Billboard, Box, Cone, Cylinder, FontStyle, Group, head, Material, meta, ROUTE, Scene, Shape, Sphere, Text, TouchSensor, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

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

BoxTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
CubeView
Viewpoint
set_bind
SFBool

ConeTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
ConeView
Viewpoint
set_bind
SFBool

CylinderTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
CylinderView
Viewpoint
set_bind
SFBool

SphereTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
SphereView
Viewpoint
set_bind
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/Basic/development/TestViewpointJumpIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/development/TestViewpointJump.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. -->