X3D Model Documentation: LaserPrinter.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='Interchange' 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='LaserPrinter.x3d'/>
  6            <meta name='creatorcontent='Harold W. Valentine'/>
  7            <meta name='createdcontent='22 August 2000'/>
  8            <meta name='modifiedcontent='20 October 2019'/>
  9            <meta name='descriptioncontent='How a laser printer works'/>
 10            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/LaserPrinter.x3d'/>
 11            <meta name='Imagecontent='BottomFuserRoller.jpg'/>
 12            <meta name='Imagecontent='PaperRoller.gif'/>
 13            <meta name='Imagecontent='PaperRoller.jpg'/>
 14            <meta name='Imagecontent='ReverseText.jpg'/>
 15            <meta name='Imagecontent='Text.jpg'/>
 16            <meta name='Imagecontent='TopFuser.jpg'/>
 17            <meta name='Imagecontent='TopFuserRoller.gif'/>
 18            <meta name='Imagecontent='chargeroller.jpg'/>
 19            <meta name='Imagecontent='chipset.jpg'/>
 20            <meta name='Imagecontent='mirror.jpg'/>
 21            <meta name='generatorcontent='X3D-Edit 3.3, 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: BottomFuser, BottomFuserOr, BottomFuserTimer, BottomPaper, BottomPaperOr, BottomPaperTimer, ChargeRoller, ChargeRollerOr, ChargeRollerTimer, DarkGreen, DrumColor, Green, Mirror, MirrorOr, MirrorTimer, paperroller, PrinterDrum, PrinterDrumOr, PrinterDrumTimer, Red, TopFuser, TopFuserOr, TopFuserTimer, TopPaper, TopPaperOr, TopPaperTimer

Index for Viewpoint node: Viewpoint_1
-->
 24       <Scene>
 25            <WorldInfo title='LaserPrinter.x3d'/>
 26            <Viewpoint description='LaserPrinterorientation='-0.590284 0.769274 0.244504 0.987861position='10 10 10'/>
 27            <Group>
 28                 <Transform rotation='0 0 1 1.57079translation='0 -0.85 -3.75'>
 29                      <Shape>
 30                           <Appearance>
 31                                <Material diffuseColor='0 0 1'/>
 32                           </Appearance>
 33                           <Cylinder height='6radius='.03'/>
 34                      </Shape>
 35                 </Transform>
 36                 <Transform translation='0 0.05 0'>
 37                      <Transform rotation='0 0 1 1.57079translation='-3 0 0'>
 38                           <Shape>
 39                                <Appearance>
 40                                     <Material diffuseColor='0.3 0.3 0.3shininess='0.6specularColor='1 1 1'/>
 41                                </Appearance>
 42                                <Cylinder height='.1'/>
 43                           </Shape>
 44                      </Transform>
 45                      <Transform rotation='0 0 1 1.57079translation='3 0 0'>
 46                           <Shape>
 47                                <Appearance>
 48                                     <Material diffuseColor='0.3 0.3 0.3shininess='0.6specularColor='1 1 1'/>
 49                                </Appearance>
 50                                <Cylinder height='.1'/>
 51                           </Shape>
 52                      </Transform>
 53                 </Transform>
 54                 <Transform rotation='0 0 1 1.57079translation='0 .1 -1.75'>
 55                      <Shape>
 56                           <Appearance>
 57                                <Material diffuseColor='0.5 0.5 0.5'/>
 58                           </Appearance>
 59                           <Box size='.75 6 .75'/>
 60                      </Shape>
 61                 </Transform>
 62                 <Group>
 63 
                    <!-- ROUTE information for ChargeRollerTimer node:  [from fraction_changed to ChargeRollerOr.set_fraction ] -->
                    <TimeSensor DEF='ChargeRollerTimercycleInterval='10loop='true'/>
 64 
                    <!-- ROUTE information for ChargeRollerOr node:  [from ChargeRollerTimer.fraction_changed to set_fraction ] [from value_changed to ChargeRoller.rotation ] -->
                    <OrientationInterpolator DEF='ChargeRollerOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
 65                 </Group>
 66                 <Transform rotation='0 0 1 1.57079translation='0 0.1 -1.25'>
 67 
                    <!-- ROUTE information for ChargeRoller node:  [from ChargeRollerOr.value_changed to rotation ] -->
                    <Transform DEF='ChargeRoller'>
 68                           <Shape>
 69                                <Appearance>
 70                                     <Material diffuseColor='0.5 0.5 1'/>
 71                                     <ImageTexture   url=' "chargeroller.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/chargeroller.jpg " '/>
 72                                </Appearance>
 73                                <Cylinder height='6radius='.25'/>
 74                           </Shape>
 75                      </Transform>
 76                 </Transform>
 77                 <Transform rotation='0 0 1 1.57079translation='0 -0.215 -1.25'>
 78                      <Shape>
 79                           <Appearance>
 80                                <Material diffuseColor='0.6 0.25 0.25'/>
 81                           </Appearance>
 82                           <Box size='.12 6 .25'/>
 83                      </Shape>
 84                 </Transform>
 85                 <Group>
 86 
                    <!-- ROUTE information for TopFuserTimer node:  [from fraction_changed to TopFuserOr.set_fraction ] -->
                    <TimeSensor DEF='TopFuserTimercycleInterval='10loop='true'/>
 87 
                    <!-- ROUTE information for TopFuserOr node:  [from TopFuserTimer.fraction_changed to set_fraction ] [from value_changed to TopFuser.rotation ] -->
                    <OrientationInterpolator DEF='TopFuserOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 0 0 1 0 0.7854163 0 1 0 1.570796327 0 1 0 2.35619449 0 1 0 3.141592654 0 1 0 3.926990817 0 1 0 4.71238898 0 1 0 5.497787144 0 1 0 6.283185307'/>
 88                 </Group>
 89                 <Transform rotation='0 0 1 1.57079translation='0 -.68 3'>
 90 
                    <!-- ROUTE information for TopFuser node:  [from TopFuserOr.value_changed to rotation ] -->
                    <Transform DEF='TopFuser'>
 91                           <Shape>
 92                                <Appearance>
 93                                     <Material diffuseColor='0 1 1'/>
 94                                     <ImageTexture   url=' "TopFuserRoller.gif " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/TopFuserRoller.jpg " '/>
 95                                </Appearance>
 96                                <Cylinder height='6radius='.25'/>
 97                           </Shape>
 98                      </Transform>
 99                 </Transform>
100                 <Group>
101 
                    <!-- ROUTE information for BottomFuserTimer node:  [from fraction_changed to BottomFuserOr.set_fraction ] -->
                    <TimeSensor DEF='BottomFuserTimercycleInterval='10loop='true'/>
102 
                    <!-- ROUTE information for BottomFuserOr node:  [from BottomFuserTimer.fraction_changed to set_fraction ] [from value_changed to BottomFuser.rotation ] -->
                    <OrientationInterpolator DEF='BottomFuserOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
103                 </Group>
104                 <Transform rotation='0 0 1 1.57079translation='0 -1.2 3'>
105 
                    <!-- ROUTE information for BottomFuser node:  [from BottomFuserOr.value_changed to rotation ] -->
                    <Transform DEF='BottomFuser'>
106                           <Shape>
107                                <Appearance>
108                                     <Material diffuseColor='0 1 1'/>
109                                     <ImageTexture   url=' "BottomFuserRoller.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/BottomFuserRoller.jpg " '/>
110                                </Appearance>
111                                <Cylinder height='6radius='.25'/>
112                           </Shape>
113                      </Transform>
114                 </Transform>
115                 <Group>
116 
                    <!-- ROUTE information for TopPaperTimer node:  [from fraction_changed to TopPaperOr.set_fraction ] -->
                    <TimeSensor DEF='TopPaperTimercycleInterval='10loop='true'/>
117 
                    <!-- ROUTE information for TopPaperOr node:  [from TopPaperTimer.fraction_changed to set_fraction ] [from value_changed to TopPaper.rotation ] -->
                    <OrientationInterpolator DEF='TopPaperOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 0 0 1 0 0.7854163 0 1 0 1.570796327 0 1 0 2.35619449 0 1 0 3.141592654 0 1 0 3.926990817 0 1 0 4.71238898 0 1 0 5.497787144 0 1 0 6.283185307'/>
118                 </Group>
119                 <Transform rotation='0 0 1 1.57079translation='0 -0.68 -3'>
120 
                    <!-- ROUTE information for TopPaper node:  [from TopPaperOr.value_changed to rotation ] -->
                    <Transform DEF='TopPaper'>
121                           <Shape>
122                                <Appearance>
123                                     <Material/>
124 
                                   <!-- ImageTexture paperroller is a DEF node that has 1 USE node: USE_1 -->
                                   <ImageTexture DEF='paperroller'   url=' "PaperRoller.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/PaperRoller.jpg " '/>
125                                </Appearance>
126                                <Cylinder height='6radius='.25'/>
127                           </Shape>
128                      </Transform>
129                 </Transform>
130                 <Group>
131 
                    <!-- ROUTE information for BottomPaperTimer node:  [from fraction_changed to BottomPaperOr.set_fraction ] -->
                    <TimeSensor DEF='BottomPaperTimercycleInterval='10loop='true'/>
132 
                    <!-- ROUTE information for BottomPaperOr node:  [from BottomPaperTimer.fraction_changed to set_fraction ] [from value_changed to BottomPaper.rotation ] -->
                    <OrientationInterpolator DEF='BottomPaperOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
133                 </Group>
134                 <Transform rotation='0 0 1 1.57079translation='0 -1.2 -3'>
135 
                    <!-- ROUTE information for BottomPaper node:  [from BottomPaperOr.value_changed to rotation ] -->
                    <Transform DEF='BottomPaper'>
136                           <Shape>
137                                <Appearance>
138                                     <Material diffuseColor='1 1 0'/>
139                                     <ImageTexture USE='paperroller'/>
140                                </Appearance>
141                                <Cylinder height='6radius='.25'/>
142                           </Shape>
143                      </Transform>
144                 </Transform>
145                 <Transform rotation='0 0 1 1.57079translation='0 -.94 3'>
146                      <Shape>
147                           <Appearance>
148                                <Material diffuseColor='1 1 1'/>
149                                <ImageTexture   url=' "Text.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/Text.jpg " '/>
150                           </Appearance>
151                           <Box size='.02 6 8'/>
152                      </Shape>
153                 </Transform>
154                 <Transform rotation='0 0 1 1.57079translation='0 -.94 -3.5'>
155                      <Shape>
156                           <Appearance>
157                                <Material diffuseColor='1 1 1'/>
158                           </Appearance>
159                           <Box size='.02 6 2'/>
160                      </Shape>
161                 </Transform>
162                 <Transform rotation='0 0 1 1.57079translation='0 2 -3.5'>
163                      <Shape>
164                           <Appearance>
165                                <Material diffuseColor='0 0 1'/>
166                           </Appearance>
167                           <Box size='.5 1.5 2'/>
168                      </Shape>
169                 </Transform>
170                 <Group>
171 
                    <!-- ROUTE information for MirrorTimer node:  [from fraction_changed to MirrorOr.set_fraction ] -->
                    <TimeSensor DEF='MirrorTimercycleInterval='0.1loop='true'/>
172 
                    <!-- ROUTE information for MirrorOr node:  [from MirrorTimer.fraction_changed to set_fraction ] [from value_changed to Mirror.rotation ] -->
                    <OrientationInterpolator DEF='MirrorOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='0 1 0 6.283185307 0 1 0 5.497787144 0 1 0 4.71238898 0 1 0 3.926990817 0 1 0 3.141592654 0 1 0 2.35619449 0 1 0 1.570796327 0 1 0 0.7854163 0 1 0 0'/>
173                 </Group>
174 
               <!-- ROUTE information for Mirror node:  [from MirrorOr.value_changed to rotation ] -->
               <Transform DEF='Mirrortranslation='0 2 2'>
175                      <Shape>
176                           <Appearance>
177                                <Material diffuseColor='.5 .5 .5'/>
178                                <ImageTexture   url=' "mirror.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/mirror.jpg " '/>
179                           </Appearance>
180                           <Cylinder height='.5radius='.5'/>
181                      </Shape>
182                 </Transform>
183                 <Transform rotation='1 0 0 1.57079translation='0 2 -1'>
184                      <Shape>
185                           <Appearance>
186 
                              <!-- Material Red is a DEF node that has 1 USE node: USE_1 -->
                              <Material DEF='ReddiffuseColor='1 0 0'/>
187                           </Appearance>
188                           <Cylinder height='6radius='.04'/>
189                      </Shape>
190                 </Transform>
191                 <Transform rotation='1 0 0 .6scale='1 1 .01translation='0 1.352 1.0825'>
192                      <Shape>
193                           <Appearance>
194                                <Material USE='Red'/>
195                           </Appearance>
196                           <Cone bottomRadius='3height='1.48'/>
197                      </Shape>
198                 </Transform>
199                 <Transform translation='0 0 -4.5'>
200                      <Shape>
201                           <Appearance>
202                                <Material DEF='GreendiffuseColor='.2 1 0'/>
203                           </Appearance>
204                           <Box size='10 5 .2'/>
205                      </Shape>
206                 </Transform>
207                 <Transform rotation='0 1 0 1.57079translation='-4.9 0 0'>
208                      <Shape>
209                           <Appearance>
210                                <Material diffuseColor='0.5 1 0'/>
211                           </Appearance>
212                           <Box size='9 5 .2'/>
213                      </Shape>
214                 </Transform>
215                 <Transform rotation='0 1 0 1.57079translation='-4.7 0 0'>
216                      <Shape>
217                           <Appearance>
218                                <Material DEF='DarkGreendiffuseColor='0 .5 0'/>
219                                <ImageTexture   url=' "chipset.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/chipset.jpg " '/>
220                           </Appearance>
221                           <Box size='7 3 .2'/>
222                      </Shape>
223                 </Transform>
224                 <Group>
225 
                    <!-- ROUTE information for PrinterDrumTimer node:  [from fraction_changed to PrinterDrumOr.set_fraction ] -->
                    <TimeSensor DEF='PrinterDrumTimercycleInterval='10loop='true'/>
226 
                    <!-- ROUTE information for PrinterDrumOr node:  [from PrinterDrumTimer.fraction_changed to set_fraction ] [from value_changed to PrinterDrum.rotation ] -->
                    <OrientationInterpolator DEF='PrinterDrumOrkey='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1keyValue='1 0 0 6.283185307 1 0 0 5.497787144 1 0 0 4.71238898 1 0 0 3.926990817 1 0 0 3.141592654 1 0 0 2.35619449 1 0 0 1.570796327 1 0 0 0.7854163 1 0 0 0'/>
227                 </Group>
228 
               <!-- ROUTE information for PrinterDrum node:  [from PrinterDrumOr.value_changed to rotation ] -->
               <Transform DEF='PrinterDrumtranslation='0 0.05 0'>
229                      <Transform rotation='0 0 1 1.57079'>
230                           <Shape>
231                                <Appearance>
232                                     <Material DEF='DrumColordiffuseColor='1 1 1shininess='0.6specularColor='1 1 1'/>
233                                     <ImageTexture   url=' "ReverseText.jpg " "https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/ReverseText.jpg " '/>
234                                </Appearance>
235                                <Cylinder height='6'/>
236                           </Shape>
237                      </Transform>
238                 </Transform>
239            </Group>
240            < ROUTE  fromNode='PrinterDrumTimer' fromField='fraction_changed' toNode='PrinterDrumOr' toField='set_fraction'/>
241            < ROUTE  fromNode='PrinterDrumOr' fromField='value_changed' toNode='PrinterDrum' toField='rotation'/>
242            < ROUTE  fromNode='MirrorTimer' fromField='fraction_changed' toNode='MirrorOr' toField='set_fraction'/>
243            < ROUTE  fromNode='MirrorOr' fromField='value_changed' toNode='Mirror' toField='rotation'/>
244            < ROUTE  fromNode='ChargeRollerTimer' fromField='fraction_changed' toNode='ChargeRollerOr' toField='set_fraction'/>
245            < ROUTE  fromNode='ChargeRollerOr' fromField='value_changed' toNode='ChargeRoller' toField='rotation'/>
246            < ROUTE  fromNode='TopFuserTimer' fromField='fraction_changed' toNode='TopFuserOr' toField='set_fraction'/>
247            < ROUTE  fromNode='TopFuserOr' fromField='value_changed' toNode='TopFuser' toField='rotation'/>
248            < ROUTE  fromNode='BottomFuserTimer' fromField='fraction_changed' toNode='BottomFuserOr' toField='set_fraction'/>
249            < ROUTE  fromNode='BottomFuserOr' fromField='value_changed' toNode='BottomFuser' toField='rotation'/>
250            < ROUTE  fromNode='TopPaperTimer' fromField='fraction_changed' toNode='TopPaperOr' toField='set_fraction'/>
251            < ROUTE  fromNode='TopPaperOr' fromField='value_changed' toNode='TopPaper' toField='rotation'/>
252            < ROUTE  fromNode='BottomPaperTimer' fromField='fraction_changed' toNode='BottomPaperOr' toField='set_fraction'/>
253            < ROUTE  fromNode='BottomPaperOr' fromField='value_changed' toNode='BottomPaper' toField='rotation'/>
254       </Scene>
255  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top Index for DEF nodes: BottomFuser, BottomFuserOr, BottomFuserTimer, BottomPaper, BottomPaperOr, BottomPaperTimer, ChargeRoller, ChargeRollerOr, ChargeRollerTimer, DarkGreen, DrumColor, Green, Mirror, MirrorOr, MirrorTimer, paperroller, PrinterDrum, PrinterDrumOr, PrinterDrumTimer, Red, TopFuser, TopFuserOr, TopFuserTimer, TopPaper, TopPaperOr, TopPaperTimer

Index for Viewpoint node: Viewpoint_1
-->
X3D Tooltips element index: Appearance, Box, Cone, Cylinder, Group, head, ImageTexture, Material, meta, OrientationInterpolator, ROUTE, Scene, Shape, TimeSensor, Transform, Viewpoint, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

BottomFuserTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BottomFuserOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
BottomFuserOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BottomFuser
Transform
rotation
SFRotation

BottomPaperTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
BottomPaperOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
BottomPaperOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BottomPaper
Transform
rotation
SFRotation

ChargeRollerTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
ChargeRollerOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
ChargeRollerOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
ChargeRoller
Transform
rotation
SFRotation

MirrorTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
MirrorOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
MirrorOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
Mirror
Transform
rotation
SFRotation

PrinterDrumTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
PrinterDrumOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
PrinterDrumOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
PrinterDrum
Transform
rotation
SFRotation

TopFuserTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
TopFuserOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
TopFuserOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
TopFuser
Transform
rotation
SFRotation

TopPaperTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
TopPaperOr
OrientationInterpolator
set_fraction
SFFloat
then
 
 
 
TopPaperOr
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
TopPaper
Transform
rotation
SFRotation

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/StudentProjects/LaserPrinterIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/StudentProjects/LaserPrinter.x3d -->

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