| 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='title' content=' LaserPrinter.x3d '/> |
| 6 | <meta name='creator' content='Harold W. Valentine'/> |
| 7 | <meta name='created' content='22 August 2000'/> |
| 8 | <meta name='modified' content='20 October 2019'/> |
| 9 | <meta name='description' content='How a laser printer works'/> |
| 10 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/LaserPrinter.x3d '/> |
| 11 |
<meta name='Image' content='BottomFuserRoller.jpg' />
|
| 12 |
<meta name='Image' content='PaperRoller.gif' />
|
| 13 |
<meta name='Image' content='PaperRoller.jpg' />
|
| 14 |
<meta name='Image' content='ReverseText.jpg' />
|
| 15 |
<meta name='Image' content='Text.jpg' />
|
| 16 |
<meta name='Image' content='TopFuser.jpg' />
|
| 17 |
<meta name='Image' content='TopFuserRoller.gif' />
|
| 18 |
<meta name='Image' content='chargeroller.jpg' />
|
| 19 |
<meta name='Image' content='chipset.jpg' />
|
| 20 |
<meta name='Image' content='mirror.jpg' />
|
| 21 | <meta name='generator' content='X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
| 22 | <meta name='license' content='../license.html'/> |
| 23 | </head> |
| 24 | <Scene> |
| 25 | <WorldInfo title='LaserPrinter.x3d'/> |
| 26 | <Viewpoint description='LaserPrinter' orientation='-0.590284 0.769274 0.244504 0.987861' position='10 10 10'/> |
| 27 | <Group> |
| 28 | <Transform rotation='0 0 1 1.57079' translation='0 -0.85 -3.75'> |
| 29 | <Shape> |
| 30 | <Appearance> |
| 31 | <Material diffuseColor='0 0 1'/> |
| 32 | </Appearance> |
| 33 | <Cylinder height='6' radius='.03'/> |
| 34 | </Shape> |
| 35 | </Transform> |
| 36 | <Transform translation='0 0.05 0'> |
| 37 | <Transform rotation='0 0 1 1.57079' translation='-3 0 0'> |
| 38 | <Shape> |
| 39 | <Appearance> |
| 40 | <Material diffuseColor='0.3 0.3 0.3' shininess='0.6' specularColor='1 1 1'/> |
| 41 | </Appearance> |
| 42 | <Cylinder height='.1'/> |
| 43 | </Shape> |
| 44 | </Transform> |
| 45 | <Transform rotation='0 0 1 1.57079' translation='3 0 0'> |
| 46 | <Shape> |
| 47 | <Appearance> |
| 48 | <Material diffuseColor='0.3 0.3 0.3' shininess='0.6' specularColor='1 1 1'/> |
| 49 | </Appearance> |
| 50 | <Cylinder height='.1'/> |
| 51 | </Shape> |
| 52 | </Transform> |
| 53 | </Transform> |
| 54 | <Transform rotation='0 0 1 1.57079' translation='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='ChargeRollerTimer' cycleInterval='10' loop='true'/> |
| 64 |
<!-- ROUTE information for ChargeRollerOr node:
[from ChargeRollerTimer.fraction_changed to set_fraction
]
[from value_changed to ChargeRoller.rotation
]
-->
<OrientationInterpolator DEF='ChargeRollerOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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.57079' translation='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='6' radius='.25'/> |
| 74 | </Shape> |
| 75 | </Transform> |
| 76 | </Transform> |
| 77 | <Transform rotation='0 0 1 1.57079' translation='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='TopFuserTimer' cycleInterval='10' loop='true'/> |
| 87 |
<!-- ROUTE information for TopFuserOr node:
[from TopFuserTimer.fraction_changed to set_fraction
]
[from value_changed to TopFuser.rotation
]
-->
<OrientationInterpolator DEF='TopFuserOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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.57079' translation='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='6' radius='.25'/> |
| 97 | </Shape> |
| 98 | </Transform> |
| 99 | </Transform> |
| 100 | <Group> |
| 101 |
<!-- ROUTE information for BottomFuserTimer node:
[from fraction_changed to BottomFuserOr.set_fraction
]
-->
<TimeSensor DEF='BottomFuserTimer' cycleInterval='10' loop='true'/> |
| 102 |
<!-- ROUTE information for BottomFuserOr node:
[from BottomFuserTimer.fraction_changed to set_fraction
]
[from value_changed to BottomFuser.rotation
]
-->
<OrientationInterpolator DEF='BottomFuserOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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.57079' translation='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='6' radius='.25'/> |
| 112 | </Shape> |
| 113 | </Transform> |
| 114 | </Transform> |
| 115 | <Group> |
| 116 |
<!-- ROUTE information for TopPaperTimer node:
[from fraction_changed to TopPaperOr.set_fraction
]
-->
<TimeSensor DEF='TopPaperTimer' cycleInterval='10' loop='true'/> |
| 117 |
<!-- ROUTE information for TopPaperOr node:
[from TopPaperTimer.fraction_changed to set_fraction
]
[from value_changed to TopPaper.rotation
]
-->
<OrientationInterpolator DEF='TopPaperOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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.57079' translation='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='6' radius='.25'/> |
| 127 | </Shape> |
| 128 | </Transform> |
| 129 | </Transform> |
| 130 | <Group> |
| 131 |
<!-- ROUTE information for BottomPaperTimer node:
[from fraction_changed to BottomPaperOr.set_fraction
]
-->
<TimeSensor DEF='BottomPaperTimer' cycleInterval='10' loop='true'/> |
| 132 |
<!-- ROUTE information for BottomPaperOr node:
[from BottomPaperTimer.fraction_changed to set_fraction
]
[from value_changed to BottomPaper.rotation
]
-->
<OrientationInterpolator DEF='BottomPaperOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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.57079' translation='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='6' radius='.25'/> |
| 142 | </Shape> |
| 143 | </Transform> |
| 144 | </Transform> |
| 145 | <Transform rotation='0 0 1 1.57079' translation='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.57079' translation='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.57079' translation='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='MirrorTimer' cycleInterval='0.1' loop='true'/> |
| 172 |
<!-- ROUTE information for MirrorOr node:
[from MirrorTimer.fraction_changed to set_fraction
]
[from value_changed to Mirror.rotation
]
-->
<OrientationInterpolator DEF='MirrorOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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='Mirror' translation='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='.5' radius='.5'/> |
| 181 | </Shape> |
| 182 | </Transform> |
| 183 | <Transform rotation='1 0 0 1.57079' translation='0 2 -1'> |
| 184 | <Shape> |
| 185 | <Appearance> |
| 186 | |
| 187 | </Appearance> |
| 188 | <Cylinder height='6' radius='.04'/> |
| 189 | </Shape> |
| 190 | </Transform> |
| 191 | <Transform rotation='1 0 0 .6' scale='1 1 .01' translation='0 1.352 1.0825'> |
| 192 | <Shape> |
| 193 | <Appearance> |
| 194 | <Material USE='Red'/> |
| 195 | </Appearance> |
| 196 | <Cone bottomRadius='3' height='1.48'/> |
| 197 | </Shape> |
| 198 | </Transform> |
| 199 | <Transform translation='0 0 -4.5'> |
| 200 | <Shape> |
| 201 | <Appearance> |
| 202 | <Material DEF='Green' diffuseColor='.2 1 0'/> |
| 203 | </Appearance> |
| 204 | <Box size='10 5 .2'/> |
| 205 | </Shape> |
| 206 | </Transform> |
| 207 | <Transform rotation='0 1 0 1.57079' translation='-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.57079' translation='-4.7 0 0'> |
| 216 | <Shape> |
| 217 | <Appearance> |
| 218 | <Material DEF='DarkGreen' diffuseColor='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='PrinterDrumTimer' cycleInterval='10' loop='true'/> |
| 226 |
<!-- ROUTE information for PrinterDrumOr node:
[from PrinterDrumTimer.fraction_changed to set_fraction
]
[from value_changed to PrinterDrum.rotation
]
-->
<OrientationInterpolator DEF='PrinterDrumOr' key='0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1' keyValue='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='PrinterDrum' translation='0 0.05 0'> |
| 229 | <Transform rotation='0 0 1 1.57079'> |
| 230 | <Shape> |
| 231 | <Appearance> |
| 232 | <Material DEF='DrumColor' diffuseColor='1 1 1' shininess='0.6' specularColor='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 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 |
BottomFuserOr
OrientationInterpolator set_fraction SFFloat |
then
|
BottomFuserOr
OrientationInterpolator value_changed SFRotation |
BottomFuser
Transform rotation SFRotation |
|
BottomPaperTimer
TimeSensor fraction_changed SFFloat |
BottomPaperOr
OrientationInterpolator set_fraction SFFloat |
then
|
BottomPaperOr
OrientationInterpolator value_changed SFRotation |
BottomPaper
Transform rotation SFRotation |
|
ChargeRollerTimer
TimeSensor fraction_changed SFFloat |
ChargeRollerOr
OrientationInterpolator set_fraction SFFloat |
then
|
ChargeRollerOr
OrientationInterpolator value_changed SFRotation |
ChargeRoller
Transform rotation SFRotation |
|
MirrorTimer
TimeSensor fraction_changed SFFloat |
MirrorOr
OrientationInterpolator set_fraction SFFloat |
then
|
MirrorOr
OrientationInterpolator value_changed SFRotation |
Mirror
Transform rotation SFRotation |
|
PrinterDrumTimer
TimeSensor fraction_changed SFFloat |
PrinterDrumOr
OrientationInterpolator set_fraction SFFloat |
then
|
PrinterDrumOr
OrientationInterpolator value_changed SFRotation |
PrinterDrum
Transform rotation SFRotation |
|
TopFuserTimer
TimeSensor fraction_changed SFFloat |
TopFuserOr
OrientationInterpolator set_fraction SFFloat |
then
|
TopFuserOr
OrientationInterpolator value_changed SFRotation |
TopFuser
Transform rotation SFRotation |
|
TopPaperTimer
TimeSensor fraction_changed SFFloat |
TopPaperOr
OrientationInterpolator set_fraction SFFloat |
then
|
TopPaperOr
OrientationInterpolator value_changed SFRotation |
TopPaper
Transform rotation SFRotation |
<!--
Color-coding 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)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->