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://savage.nps.edu/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. -->