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='Figure18_27RotatingFanAnimatedTextureTransform.x3d'/> |
6 | <meta name='creator' content='Figure 18.27, The VRML 2.0 Sourcebook, Copyright [1997] By Andrea L. Ames, David R. Nadeau, and John L. Moreland'/> |
7 | <meta name='reference' content='http://www.wiley.com/legacy/compbooks/vrml2sbk/ch18/18fig27.htm'/> |
8 | <meta name='translator' content='Don Brutzman'/> |
9 | <meta name='created' content='4 September 2000'/> |
10 | <meta name='modified' content='20 October 2019'/> |
11 | <meta name='description' content='A rotating fan, made realistic by animating a TextureTransform.'/> |
12 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18TextureMapping/Figure18_27RotatingFanAnimatedTextureTransform.x3d'/> |
13 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
14 | <meta name='license' content='../../license.html'/> |
15 | </head> |
16 | <Scene> |
17 | <WorldInfo title='Figure18_27RotatingFanAnimatedTextureTransform.x3d'/> |
18 | <Viewpoint description='That feels good' position='0 0 4'/> |
19 | <Group> |
20 | <Shape> |
21 | <Appearance> |
22 | <ImageTexture repeatS='false' repeatT='false' url=' "fan.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18TextureMapping/fan.png " '/> |
23 | <!-- Negative coordinates applied to TextureTransform center since opposite effect occurs when texture is mapped to geometry. These values center the fan blade. Thanks to Emanuele Ruffaldi for providing the correct values. --> |
24 |
<!-- ROUTE information for FanRotation node:
[from FanPath.value_changed to set_rotation
]
-->
<TextureTransform DEF='FanRotation' center='-0.5 -0.5'/> |
25 | </Appearance> |
26 | |
27 | <Coordinate point='-1 -1 -0.1 1 -1 -0.1 1 1 -0.1 -1 1 -0.1'/> |
28 | <TextureCoordinate point='0 0 1 0 1 1 0 1'/> |
29 | </IndexedFaceSet> |
30 | </Shape> |
31 | <Transform translation='0 0 0.1'> |
32 | <Shape> |
33 | <Appearance> |
34 | <ImageTexture url=' "grill.png " "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter18TextureMapping/grill.png " '/> |
35 | <TextureTransform center='0.5 0.5' rotation='0.785' scale='8 8'/> |
36 | </Appearance> |
37 | <IndexedFaceSet USE='Square'/> |
38 | </Shape> |
39 | </Transform> |
40 |
<!-- ROUTE information for Clock node:
[from fraction_changed to FanPath.set_fraction
]
-->
<TimeSensor DEF='Clock' cycleInterval='4' loop='true'/> |
41 |
<!-- ROUTE information for FanPath node:
[from Clock.fraction_changed to set_fraction
]
[from value_changed to FanRotation.set_rotation
]
-->
<ScalarInterpolator DEF='FanPath' key='0 0.5 1' keyValue='0 3.14 6.28'/> |
42 | </Group> |
43 | < ROUTE fromNode='Clock' fromField='fraction_changed' toNode='FanPath' toField='set_fraction'/> |
44 | < ROUTE fromNode='FanPath' fromField='value_changed' toNode='FanRotation' toField='set_rotation'/> |
45 | </Scene> |
46 | </X3D> |
Event Graph ROUTE Table with 2 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.
Clock
TimeSensor fraction_changed SFFloat |
FanPath
ScalarInterpolator set_fraction SFFloat |
then
|
FanPath
ScalarInterpolator value_changed SFFloat |
FanRotation
TextureTransform set_rotation SFFloat |
<!--
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)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->