X3D Model Documentation: Robots.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  4       <head>
  5            <meta name='titlecontent='Robots.x3d'/>
  6            <meta name='descriptioncontent='Robot generator prototype to create multiple new nodes. For this example, we create a new "Robot" node type that has three fields, one each for setting the l color (robot body), its eye color, and its rod color (gadgets on the body). Those three fields are used within the body of the Prototype where the robot form is constructed. Each time a Prototype field (l, eye, and rod colors) is used within the Prototype body, use the "IS" syntax to say: "this field within the Prototype body IS equal to the argument in the Prototype interface."'/>
  7            <meta name='creatorcontent='David R. Nadeau'/>
  8            <meta name='translatorcontent='Don Brutzman'/>
  9            <meta name='createdcontent='1 July 1998'/>
 10            <meta name='translatedcontent='2 February 2014'/>
 11            <meta name='modifiedcontent='20 October 2019'/>
 12            <meta name='referencecontent='RoboBill.x3d'/>
 13            <meta name='referencecontent='originals/robot.wrl'/>
 14            <meta name='referencecontent='http://www.siggraph.org/s98'/>
 15            <meta name='referencecontent='http://www.siggraph.org/s98/conference/courses/18.html'/>
 16            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0479.htm'/>
 17            <meta name='referencecontent='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/vrml97.htm'/>
 18            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dResources.html'/>
 19            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Robots.x3d'/>
 20            <meta name='generatorcontent='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html'/>
 21            <meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
 22            <meta name='licensecontent='../license.html'/>
 23       </head>
<!--

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

<!-- to top Index for DEF nodes: AntenaeBar, Eye, RobotColor, RobotGlow, Rod

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: Robot
-->
 24       <Scene>
 25            <WorldInfo info='"Copyright (c) 1998, David R. Nadeau"title='Robot Generator'/>
 26            <Viewpoint description='Entry vieworientation='1.0 0.0 0.0 -0.34position='0.0 3.6 6.8'/>
 27            <NavigationInfo/>
 28            <Background skyAngle='1.77 1.87 1.97skyColor='0.0 0.0 0.0 0.0 0.0 0.0 0.4 0.0 0.0 0.6 0.0 0.0'/>
 29            <ProtoDeclare name='Robot'>
 30                 <ProtoInterface>
 31                      <field name='rodColortype='SFColorvalue='1.0 1.0 0.0accessType='initializeOnly'/>
 32                      <field name='eyeColortype='SFColorvalue='0.6 0.0 0.0accessType='initializeOnly'/>
 33                      <field name='lColortype='SFColorvalue='0.6 0.6 0.8accessType='initializeOnly'/>
 34                 </ProtoInterface>
 35                 <ProtoBody>
 36                      <Group>
 37                           <Shape>
 38 
                              <!-- Appearance RobotColor is a DEF node that has 6 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6 -->
                              <Appearance DEF='RobotColor'>
 39                                     <Material>
 40                                          <IS>
 41                                               <connect nodeField='diffuseColorprotoField='lColor'/>
 42                                          </IS>
 43                                     </Material>
 44                                </Appearance>
 45                                <Sphere radius='0.5'/>
 46                           </Shape>
 47 
                         <!-- Transform Rod is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
                         <Transform DEF='Rodrotation='0.0 0.0 1.0 -0.785translation='0.4 0.6 0.0'>
 48                                <Shape>
 49 
                                   <!-- Appearance RobotGlow is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                                   <Appearance DEF='RobotGlow'>
 50                                          <Material diffuseColor='0.0 0.0 0.0'>
 51                                               <IS>
 52                                                    <connect nodeField='emissiveColorprotoField='rodColor'/>
 53                                               </IS>
 54                                          </Material>
 55                                     </Appearance>
 56                                     <Cylinder height='0.65radius='0.04'/>
 57                                </Shape>
 58                           </Transform>
 59                           <Transform rotation='0.0 1.0 0.0 1.57'>
 60                                <Transform USE='Rod'/>
 61                           </Transform>
 62                           <Transform rotation='0.0 1.0 0.0 3.14'>
 63                                <Transform USE='Rod'/>
 64                           </Transform>
 65                           <Transform rotation='0.0 1.0 0.0 -1.57'>
 66                                <Transform USE='Rod'/>
 67                           </Transform>
 68                           <Transform translation='0.0 0.85 0.0'>
 69                                <Shape>
 70                                     <Appearance USE='RobotColor'/>
 71                                     <Cylinder height='0.1radius='0.8'/>
 72                                </Shape>
 73                           </Transform>
 74                           <Transform translation='0.0 0.95 0.0'>
 75                                <Shape>
 76                                     <Appearance USE='RobotColor'/>
 77                                     <Cylinder height='0.1radius='0.2'/>
 78                                </Shape>
 79                           </Transform>
 80                           <Billboard>
 81                                <Transform translation='0.0 1.4 0.0'>
 82                                     <Shape>
 83                                          <Appearance USE='RobotColor'/>
 84                                          <Sphere radius='0.5'/>
 85                                     </Shape>
 86                                     <Transform translation='0.0 0.25 0.35'>
 87                                          <Shape>
 88                                               <Appearance>
 89                                                    <Material diffuseColor='0.2 0.2 0.2'/>
 90                                               </Appearance>
 91                                               <Box size='0.6 0.05 0.2'/>
 92                                          </Shape>
 93                                     </Transform>
 94                                     <Transform translation='0.1 0.15 0.38'>
 95 
                                        <!-- Shape Eye is a DEF node that has 1 USE node: USE_1 -->
                                        <Shape DEF='Eye'>
 96                                               <Appearance>
 97                                                    <Material diffuseColor='0.0 0.0 0.0'>
 98                                                         <IS>
 99                                                              <connect nodeField='emissiveColorprotoField='eyeColor'/>
100                                                         </IS>
101                                                    </Material>
102                                               </Appearance>
103                                               <Sphere radius='0.09'/>
104                                          </Shape>
105                                     </Transform>
106                                     <Transform translation='-0.1 0.15 0.38'>
107                                          <Shape USE='Eye'/>
108                                     </Transform>
109                                     <Transform translation='0.85 0.1 0.0'>
110                                          <Transform rotation='0.0 0.0 1.0 1.57translation='-0.2 0.0 0.0'>
111 
                                             <!-- Shape AntenaeBar is a DEF node that has 1 USE node: USE_1 -->
                                             <Shape DEF='AntenaeBar'>
112                                                    <Appearance USE='RobotColor'/>
113                                                    <Cylinder height='0.4radius='0.04'/>
114                                               </Shape>
115                                          </Transform>
116                                          <Shape>
117                                               <Appearance USE='RobotColor'/>
118                                               <Sphere radius='0.09'/>
119                                          </Shape>
120                                          <Transform translation='0.0 0.58 0.0'>
121                                               <Shape>
122                                                    <Appearance USE='RobotGlow'/>
123                                                    <Cone bottomRadius='0.02height='1.0'/>
124                                               </Shape>
125                                          </Transform>
126                                     </Transform>
127                                     <Transform translation='-0.85 0.1 0.0'>
128                                          <Transform rotation='0.0 0.0 1.0 -1.57translation='0.2 0.0 0.0'>
129                                               <Shape USE='AntenaeBar'/>
130                                          </Transform>
131                                          <Transform rotation='0.0 0.0 1.0 0.785'>
132                                               <Shape>
133                                                    <Appearance USE='RobotColor'/>
134                                                    <Box size='0.2 0.2 0.2'/>
135                                               </Shape>
136                                               <Transform translation='0.0 0.58 0.0'>
137                                                    <Shape>
138                                                         <Appearance USE='RobotGlow'/>
139                                                         <Box size='0.02 1.0 0.02'/>
140                                                    </Shape>
141                                               </Transform>
142                                               <Transform translation='0.0 0.95 0.0'>
143                                                    <Shape>
144                                                         <Appearance USE='RobotGlow'/>
145                                                         <Box size='0.2 0.02 0.02'/>
146                                                    </Shape>
147                                               </Transform>
148                                               <Transform translation='0.0 0.85 0.0'>
149                                                    <Shape>
150                                                         <Appearance USE='RobotGlow'/>
151                                                         <Box size='0.4 0.02 0.02'/>
152                                                    </Shape>
153                                               </Transform>
154                                          </Transform>
155                                     </Transform>
156                                </Transform>
157                           </Billboard>
158                      </Group>
159                 </ProtoBody>
160            </ProtoDeclare>
161            <ProtoInstance name='Robot'>
162                 <fieldValue name='eyeColorvalue='1.0 0.0 0.0'/>
163                 <fieldValue name='rodColorvalue='1.0 1.0 0.0'/>
164                 <fieldValue name='lColorvalue='0.6 0.6 0.8'/>
165            </ProtoInstance>
166            <Transform translation='-2.0 0.0 0.0'>
167                 <ProtoInstance name='Robot'>
168                      <fieldValue name='eyeColorvalue='0.0 1.0 0.0'/>
169                      <fieldValue name='rodColorvalue='1.0 0.5 0.0'/>
170                      <fieldValue name='lColorvalue='0.6 0.5 0.3'/>
171                 </ProtoInstance>
172            </Transform>
173            <Transform translation='2.0 0.0 0.0'>
174                 <ProtoInstance name='Robot'>
175                      <fieldValue name='eyeColorvalue='0.0 0.8 1.0'/>
176                      <fieldValue name='rodColorvalue='0.0 0.8 1.0'/>
177                      <fieldValue name='lColorvalue='0.6 0.3 0.8'/>
178                 </ProtoInstance>
179            </Transform>
180            <Transform translation='4.5 0.0 -3.0'>
181                 <ProtoInstance name='Robot'>
182                      <fieldValue name='eyeColorvalue='0.0 0.0 0.0'/>
183                      <fieldValue name='rodColorvalue='1.0 0.0 0.5'/>
184                      <fieldValue name='lColorvalue='0.0 0.4 0.9'/>
185                 </ProtoInstance>
186            </Transform>
187            <Transform translation='1.5 0.0 -3.0'>
188                 <ProtoInstance name='Robot'>
189                      <fieldValue name='eyeColorvalue='0.0 1.0 0.0'/>
190                      <fieldValue name='rodColorvalue='1.0 1.0 0.0'/>
191                      <fieldValue name='lColorvalue='0.6 0.6 0.5'/>
192                 </ProtoInstance>
193            </Transform>
194            <Transform translation='-1.5 0.0 -3.0'>
195                 <ProtoInstance name='Robot'>
196                      <fieldValue name='eyeColorvalue='1.0 1.0 0.0'/>
197                      <fieldValue name='rodColorvalue='1.0 0.0 1.0'/>
198                      <fieldValue name='lColorvalue='1.0 0.5 0.5'/>
199                 </ProtoInstance>
200            </Transform>
201            <Transform translation='-4.5 0.0 -3.0'>
202                 <ProtoInstance name='Robot'>
203                      <fieldValue name='eyeColorvalue='1.0 0.0 0.0'/>
204                      <fieldValue name='rodColorvalue='0.5 0.0 1.0'/>
205                      <fieldValue name='lColorvalue='0.0 0.5 1.0'/>
206                 </ProtoInstance>
207            </Transform>
208       </Scene>
209  </X3D>
<!--

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

<!-- to top Index for DEF nodes: AntenaeBar, Eye, RobotColor, RobotGlow, Rod

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: Robot
-->
X3D Tooltips element index: Appearance, Background, Billboard, Box, Cone, connect, Cylinder, field, fieldValue, Group, head, IS, Material, meta, NavigationInfo, ProtoBody, ProtoDeclare, ProtoInstance, ProtoInterface, Scene, Shape, Sphere, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

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


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
Robot
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 
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/Vrml2Sourcebook/Siggraph98Course/RobotsIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Robots.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)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

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