1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
|
3 | <X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'> |
4 | <head> |
5 | <meta name='title' content='Gimbals.x3d'/> |
6 | <meta name='description' content='Gimbals for user-driven roll pitch and yaw angle conversions, also shows conversion from X3D (VRML) to DIS coordinate system. Model inspiration by Bob McGhee.'/> |
7 | <meta name='creator' content='Eric Bachmann and Don Brutzman'/> |
8 | <meta name='created' content='1996'/> |
9 | <meta name='finished' content='19 April 1999'/> |
10 | <meta name='translator' content='Curtis Blais'/> |
11 | <meta name='translated' content='27 January 2001'/> |
12 | <meta name='modified' content='20 October 2019'/> |
13 | <meta name='Image' content='GimbalsExampleF18.png'/> |
14 | <meta name='Image' content='GimbalsExampleRocket.png'/> |
15 | <meta name='hint' content='Note that axis orientations are aligned with X3D Geospatial conventions'/> |
16 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.x3d'/> |
17 | <meta name='reference' content='https://www.web3d.org/WorkingGroups/vrtp/demo/gimbals/DisCoordinateSystemGimbals.wrl'/> |
18 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
19 | <meta name='license' content='../license.html'/> |
20 | </head> |
21 | <Scene> |
22 | <WorldInfo title='Gimbals.x3d'/> |
23 | <Background groundAngle='1.309 1.570796' groundColor='0 0.3 1 0 0.3 1 0 0.3 1' skyAngle='1.309 1.571' skyColor='0 0.2 0.7 0 0.5 1 1 1 1'/> |
24 | <DirectionalLight color='0.5 0.4 0.0' direction='1 -.5 1'/> |
25 | <Group DEF='ViewpointGroup'> |
26 | <!-- have default Viewpoints precede model viewpoints for consistent navigation --> |
27 | <Viewpoint description='South to North' position='0 15 100'/> |
28 | <Viewpoint description='East to West' orientation='0 1 0 1.57079' position='120 20 0'/> |
29 | <Viewpoint description='North to South' orientation='0 1 0 -3.14159' position='0 20 -120'/> |
30 | <Viewpoint description='West to East' orientation='0 1 0 -1.57079' position='-120 20 0'/> |
31 | <Viewpoint description='Close Up' orientation='1 0 0 -.20136' position='0 30 50'/> |
32 | <Transform DEF='fromNEtoSW' rotation='0 1 0 0.7854' translation='30 40 30'> |
33 | <Viewpoint description='Northeast to SW' orientation='1 0 0 -0.45'/> |
34 | </Transform> |
35 | <Transform DEF='fromSWtoNE' rotation='0 1 0 -2.35619' translation='-25 5 -25'> |
36 | <Viewpoint description='Southwest to NE' orientation='1 0 0 0.35'/> |
37 | </Transform> |
38 | <Transform rotation='-1 0 0 1.57' translation='0 150 0'> |
39 | <Viewpoint description='Top Down' orientation='0 0 -1 1.57' position='0 0 0'/> |
40 | </Transform> |
41 | </Group> |
42 | <Transform DEF='SunInDistance' translation='-250 125 -250'> |
43 | <Shape> |
44 | <Appearance> |
45 | <Material DEF='SUN_MATERIAL' ambientIntensity='0' diffuseColor='1 0.871763 0' emissiveColor='1 0.871763 0' shininess='0.5' specularColor='1 1 1'/> |
46 | </Appearance> |
47 | <Sphere radius='5.0'/> |
48 | </Shape> |
49 | </Transform> |
50 | <Transform DEF='GlobalCoordinateAxes' translation='0 20 0'> |
51 | <Transform DEF='GlobalAxisLines'> |
52 | <Shape> |
53 | <Appearance> |
54 | |
55 | </Appearance> |
56 | <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1 6 7 -1 8 9 -1 10 11 -1'> |
57 | <Coordinate point='35 0 0 2 0 0 -35 0 0 -2 0 0 0 25 0 0 2 0 0 -25 0 0 -2 0 0 0 35 0 0 2 0 0 -35 0 0 -2'/> |
58 | </IndexedLineSet> |
59 | </Shape> |
60 | </Transform> |
61 | <Transform DEF='PositiveZAxisLabel' translation='0 -4.0 40'> |
62 | <Billboard axisOfRotation='0 0 0'> |
63 | <Transform scale='0.1 0.1 0.1'> |
64 | <Shape> |
65 | <Appearance> |
66 | <Material USE='COLOR1'/> |
67 | </Appearance> |
68 | <Text string='"South" "+Z X3D, -X DIS"'> |
69 | |
70 | </Text> |
71 | </Shape> |
72 | </Transform> |
73 | </Billboard> |
74 | </Transform> |
75 | <Transform DEF='PositiveXAxisLabel' translation='44 -4.0 0'> |
76 | <Billboard axisOfRotation='0 0 0'> |
77 | <Transform scale='0.1 0.1 0.1'> |
78 | <Shape> |
79 | <Appearance> |
80 | <Material USE='COLOR1'/> |
81 | </Appearance> |
82 | <Text string='"East" "+X X3D, +Y DIS"'> |
83 | <FontStyle USE='FONT1'/> |
84 | </Text> |
85 | </Shape> |
86 | </Transform> |
87 | </Billboard> |
88 | </Transform> |
89 | <Transform DEF='NegativeZAxisLabel' translation='-0.5 -4.0 -40'> |
90 | <Billboard axisOfRotation='0 0 0'> |
91 | <Transform scale='0.1 0.1 0.1'> |
92 | <Shape> |
93 | <Appearance> |
94 | <Material USE='COLOR1'/> |
95 | </Appearance> |
96 | <Text string='"North" "-Z X3D, +X DIS"'> |
97 | <FontStyle USE='FONT1'/> |
98 | </Text> |
99 | </Shape> |
100 | </Transform> |
101 | </Billboard> |
102 | </Transform> |
103 | <Transform DEF='NegativeXAxisLabel' translation='-44 -4.0 0'> |
104 | <Billboard axisOfRotation='0 0 0'> |
105 | <Transform scale='0.1 0.1 0.1'> |
106 | <Shape> |
107 | <Appearance> |
108 | <Material USE='COLOR1'/> |
109 | </Appearance> |
110 | <Text string='"West" "-X X3D, -Y DIS"'> |
111 | <FontStyle USE='FONT1'/> |
112 | </Text> |
113 | </Shape> |
114 | </Transform> |
115 | </Billboard> |
116 | </Transform> |
117 | <Transform DEF='PositiveYAxisLabel' translation='0 30 0'> |
118 | <Billboard axisOfRotation='0 0 0'> |
119 | <Transform scale='0.1 0.1 0.1'> |
120 | <Shape> |
121 | <Appearance> |
122 | <Material USE='COLOR1'/> |
123 | </Appearance> |
124 | <Text string='"Up" "+Y X3D, -Z DIS"'> |
125 | <FontStyle USE='FONT1'/> |
126 | </Text> |
127 | </Shape> |
128 | </Transform> |
129 | </Billboard> |
130 | </Transform> |
131 | <Transform DEF='NegativeYAxisLabel' translation='0 -28 0'> |
132 | <Billboard axisOfRotation='0 0 0'> |
133 | <Transform scale='0.1 0.1 0.1'> |
134 | <Shape> |
135 | <Appearance> |
136 | <Material USE='COLOR1'/> |
137 | </Appearance> |
138 | <Text string='"Down" "-Y X3D, +Z DIS"'> |
139 | <FontStyle USE='FONT1'/> |
140 | </Text> |
141 | </Shape> |
142 | </Transform> |
143 | </Billboard> |
144 | </Transform> |
145 | </Transform> |
146 | <Transform DEF='GimbalObjects' rotation='0 1 0 1.57' translation='0 20 0'> |
147 |
<!-- ROUTE information for AZIMUTH_TRANSFORM node:
[from AZIMUTH_SENSOR.rotation_changed to set_rotation
]
-->
<Transform DEF='AZIMUTH_TRANSFORM'> |
148 |
<!-- ROUTE information for AZIMUTH_SENSOR node:
[from rotation_changed to AZIMUTH_TRANSFORM.set_rotation
]
[from rotation_changed to CONSTRUCT_TRACE_STRING.set_azimuthRotation
]
-->
<CylinderSensor DEF='AZIMUTH_SENSOR' description='drag gimbal to change azimuth'/> |
149 | <Transform DEF='AzimuthGimbal' rotation='1 0 0 1.57079'> |
150 | <Transform DEF='AzimuthGimbalShape'> |
151 | <Shape> |
152 |
<!-- Appearance
AppearanceGimbals is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Appearance DEF='AppearanceGimbals'> |
153 | <Material diffuseColor='1 0.59 0.3'/> |
154 | </Appearance> |
155 | <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='14 0 0 13.25 0 7.85 11.05 0 11.05 7.85 0 13.25 0 0 14 -7.85 0 13.25 -11.05 0 11.05 -13.25 0 7.85 -14 0 0 -13.25 0 -7.85 -11.05 0 -11.05 -7.85 0 -13.25 0 0 -14 7.85 0 -13.25 11.05 0 -11.05 13.25 0 -7.85 14 0 0'/> |
156 | </Shape> |
157 | <Transform rotation='0 0 1 1.57079' translation='12.75 0 0'> |
158 | |
159 | <Appearance USE='AppearanceGimbals'/> |
160 | <Cone bottomRadius='0.5' height='1.5'/> |
161 | </Shape> |
162 | </Transform> |
163 | <Transform rotation='0 0 1 -1.57079' translation='-12.75 0 0'> |
164 | <Shape USE='PinShape'/> |
165 | </Transform> |
166 | </Transform> |
167 | </Transform> |
168 | <Transform DEF='ElevationRollObjects' rotation='0 0 1 1.57'> |
169 |
<!-- ROUTE information for ELEVATION_TRANSFORM node:
[from ELEVATION_SENSOR.rotation_changed to set_rotation
]
-->
<Transform DEF='ELEVATION_TRANSFORM'> |
170 |
<!-- ROUTE information for ELEVATION_SENSOR node:
[from rotation_changed to ELEVATION_TRANSFORM.set_rotation
]
[from rotation_changed to CONSTRUCT_TRACE_STRING.set_elevationRotation
]
-->
<CylinderSensor DEF='ELEVATION_SENSOR' description='drag gimbal to change elevation'/> |
171 | <Transform DEF='ElevationGimbal' rotation='0 0 1 1.57079'> |
172 | <Transform DEF='ElevationGimbalShape'> |
173 | <Shape> |
174 | <Appearance USE='AppearanceGimbals'/> |
175 | <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='12 0 0 11.25 0 5.85 9.05 0 9.05 5.85 0 11.25 0 0 12 -5.85 0 11.25 -9.05 0 9.05 -11.25 0 5.85 -12 0 0 -11.25 0 -5.85 -9.05 0 -9.05 -5.85 0 -11.25 0 0 -12 5.85 0 -11.25 9.05 0 -9.05 11.25 0 -5.85 12 0 0'/> |
176 | </Shape> |
177 | <Transform rotation='1 0 0 -1.57079' translation='0 0 10.75'> |
178 | <Shape USE='PinShape'/> |
179 | </Transform> |
180 | <Transform rotation='1 0 0 1.57079' translation='0 0 -10.75'> |
181 | <Shape USE='PinShape'/> |
182 | </Transform> |
183 | </Transform> |
184 | </Transform> |
185 | <Transform DEF='RollObjects' rotation='1 0 0 -1.57'> |
186 |
<!-- ROUTE information for ROLL_TRANSFORM node:
[from ROLL_SENSOR.rotation_changed to set_rotation
]
-->
<Transform DEF='ROLL_TRANSFORM'> |
187 |
<!-- ROUTE information for ROLL_SENSOR node:
[from rotation_changed to ROLL_TRANSFORM.set_rotation
]
[from rotation_changed to CONSTRUCT_TRACE_STRING.set_rollRotation
]
-->
<CylinderSensor DEF='ROLL_SENSOR' description='drag gimbal to change roll'/> |
188 | <Transform DEF='RollGimbal' rotation='1 0 0 1.57079'> |
189 | <Transform DEF='RollGimbalShape'> |
190 | <Shape> |
191 | <Appearance USE='AppearanceGimbals'/> |
192 | <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='0.5 0 0.46 -0.19 0.355 -0.355 0.19 -0.46 0 -0.5 -0.19 -0.46 -0.355 -0.355 -0.46 -0.19 -0.5 0 -0.46 0.19 -0.355 0.355 -0.19 0.46 0 0.5 0.19 0.46 0.355 0.355 0.46 0.19 0.5 0' endCap='false' solid='false' spine='10 0 0 9.25 0 3.85 7.05 0 7.05 3.85 0 9.25 0 0 10 -3.85 0 9.25 -7.05 0 7.05 -9.25 0 3.85 -10 0 0 -9.25 0 -3.85 -7.05 0 -7.05 -3.85 0 -9.25 0 0 -10 3.85 0 -9.25 7.05 0 -7.05 9.25 0 -3.85 10 0 0'/> |
193 | </Shape> |
194 | </Transform> |
195 | <Transform rotation='0 0 1 -1.57'> |
196 | <Transform rotation='0 1 0 -1.57' scale='0.4 0.4 0.4'> |
197 | <Transform DEF='ScaleUpContainedObject' scale='6 6 6'> |
198 | <!-- note that default is in a different library, so each Inline goes online for url retrieval if needed --> |
199 | <Switch DEF='ModelChoice' whichChoice='0'> |
200 | <Transform scale='0.4 0.4 0.4'> |
201 | <Inline DEF='F18Superhornet' url=' "../../Savage/AircraftFixedWing/F18-Superhornet-UnitedStates/F18.x3d" "https://savage.nps.edu/Savage/AircraftFixedWing/F18-Superhornet-UnitedStates/F18.x3d" "../../Savage/AircraftFixedWing/F18-Superhornet-UnitedStates/F18.wrl" "https://savage.nps.edu/Savage/AircraftFixedWing/F18-Superhornet-UnitedStates/F18.wrl" '/> |
202 | </Transform> |
203 | <Inline DEF='ModelOrientation' url=' "../course/ModelOrientation.x3d" "https://www.web3d.org/x3d/content/examples/Basic/course/ModelOrientation.x3d" "../course/ModelOrientation.wrl" "https://www.web3d.org/x3d/content/examples/Basic/course/ModelOrientation.wrl" '/> |
204 | <!-- you can add your model here --> |
205 | </Switch> |
206 | </Transform> |
207 | <Transform DEF='LocalCoordinateAxes' scale='0.65 0.65 0.65'> |
208 | <Transform DEF='LocalAxisLines'> |
209 | <Shape> |
210 | |
211 | <Material diffuseColor='1 .8 0' emissiveColor='1 .8 0'/> |
212 | </Appearance> |
213 | <IndexedLineSet coordIndex='0 1 -1 2 3 -1 4 5 -1'> |
214 | <Coordinate point='25 0 0 -25 0 0 0 25 0 0 -25 0 0 0 25 0 0 -25'/> |
215 | </IndexedLineSet> |
216 | </Shape> |
217 | </Transform> |
218 | <Transform DEF='PositiveXLocal' translation='35 0 0'> |
219 | <Billboard axisOfRotation='0 0 0'> |
220 | <Transform scale='.1 .1 .1'> |
221 | <Shape> |
222 | <Appearance USE='AppearanceBodyAxes'/> |
223 | <Text string='"body +X nose"'> |
224 | |
225 | </Text> |
226 | </Shape> |
227 | </Transform> |
228 | </Billboard> |
229 | </Transform> |
230 | <Transform DEF='NegativeXLocal' translation='-35 0 0'> |
231 | <Billboard axisOfRotation='0 0 0'> |
232 | <Transform scale='.1 .1 .1'> |
233 | <Shape> |
234 | <Appearance USE='AppearanceBodyAxes'/> |
235 | <Text string='"body -X tail"'> |
236 | <FontStyle USE='FONT2'/> |
237 | </Text> |
238 | </Shape> |
239 | </Transform> |
240 | </Billboard> |
241 | </Transform> |
242 | <Transform DEF='PositiveZLocal' translation='0 -30 0'> |
243 | <Billboard axisOfRotation='0 0 0'> |
244 | <Transform scale='.1 .1 .1'> |
245 | <Shape> |
246 | <Appearance USE='AppearanceBodyAxes'/> |
247 | <Text string='"body -Y bottom"'> |
248 | <FontStyle USE='FONT2'/> |
249 | </Text> |
250 | </Shape> |
251 | </Transform> |
252 | </Billboard> |
253 | </Transform> |
254 | <Transform DEF='NegativeZLocal' translation='0 26 0'> |
255 | <Billboard axisOfRotation='0 0 0'> |
256 | <Transform scale='.1 .1 .1'> |
257 | <Shape> |
258 | <Appearance USE='AppearanceBodyAxes'/> |
259 | <Text string='"body +Y top"'> |
260 | <FontStyle USE='FONT2'/> |
261 | </Text> |
262 | </Shape> |
263 | </Transform> |
264 | </Billboard> |
265 | </Transform> |
266 | <Transform DEF='PositiveYLocal' translation='0 0 34'> |
267 | <Billboard axisOfRotation='0 0 0'> |
268 | <Transform scale='.1 .1 .1'> |
269 | <Shape> |
270 | <Appearance USE='AppearanceBodyAxes'/> |
271 | <Text string='"body +Z right"'> |
272 | <FontStyle USE='FONT2'/> |
273 | </Text> |
274 | </Shape> |
275 | </Transform> |
276 | </Billboard> |
277 | </Transform> |
278 | <Transform DEF='NegativeYLocal' translation='0 0 -34'> |
279 | <Billboard axisOfRotation='0 0 0'> |
280 | <Transform scale='.1 .1 .1'> |
281 | <Shape> |
282 | <Appearance USE='AppearanceBodyAxes'/> |
283 | <Text string='"body -Z left"'> |
284 | <FontStyle USE='FONT2'/> |
285 | </Text> |
286 | </Shape> |
287 | </Transform> |
288 | </Billboard> |
289 | </Transform> |
290 | </Transform> |
291 | </Transform> |
292 | </Transform> |
293 | </Transform> |
294 | </Transform> |
295 | </Transform> |
296 | </Transform> |
297 | </Transform> |
298 | </Transform> |
299 | </Transform> |
300 | <Transform DEF='RotationText' translation='0 -12 22'> |
301 | <Billboard axisOfRotation='0 0 0'> |
302 | <Shape> |
303 | <Appearance> |
304 | <Material diffuseColor='0 .8 .1' emissiveColor='0 .8 .1'/> |
305 | </Appearance> |
306 |
<!-- ROUTE information for TRACE_STRING node:
[from CONSTRUCT_TRACE_STRING.rotationMessage_changed to set_string
]
-->
<Text DEF='TRACE_STRING' string='"Drag gimbals for new rotation value"'> |
307 | <FontStyle justify='"MIDDLE" "MIDDLE"' size='4'/> |
308 | </Text> |
309 | </Shape> |
310 | </Billboard> |
311 | </Transform> |
312 |
<!-- ROUTE information for CONSTRUCT_TRACE_STRING node:
[from ROLL_SENSOR.rotation_changed to set_rollRotation
]
[from ELEVATION_SENSOR.rotation_changed to set_elevationRotation
]
[from AZIMUTH_SENSOR.rotation_changed to set_azimuthRotation
]
[from rotationMessage_changed to TRACE_STRING.set_string
]
-->
<Script DEF='CONSTRUCT_TRACE_STRING' url=' "Gimbals.js" "https://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/Gimbals.js" '> |
313 |
<field name='roll' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'/> |
314 |
<field name='elevation' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'/> |
315 |
<field name='azimuth' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'/> |
316 |
<field name='azimuth2' type='SFFloat' value='0.0' accessType='initializeOnly'
appinfo='declared for persistence'/> |
317 |
<field name='newRotation' type='SFRotation' value='0 1 0 0' accessType='inputOutput'
appinfo='declared for persistence'/> |
318 |
<field name='newRotationString' type='SFString' accessType='inputOutput'
appinfo='declared for persistence'/> |
319 | <field name='set_rollRotation' type='SFRotation' accessType='inputOnly'/> |
320 | <field name='set_elevationRotation' type='SFRotation' accessType='inputOnly'/> |
321 | <field name='set_azimuthRotation' type='SFRotation' accessType='inputOnly'/> |
322 | <field name='rotationMessage_changed' type='MFString' accessType='outputOnly'/> |
323 | </Script> |
324 | < ROUTE fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='ROLL_TRANSFORM' toField='set_rotation'/> |
325 | < ROUTE fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='ELEVATION_TRANSFORM' toField='set_rotation'/> |
326 | < ROUTE fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='AZIMUTH_TRANSFORM' toField='set_rotation'/> |
327 | < ROUTE fromNode='ROLL_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_rollRotation'/> |
328 | < ROUTE fromNode='ELEVATION_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_elevationRotation'/> |
329 | < ROUTE fromNode='AZIMUTH_SENSOR' fromField='rotation_changed' toNode='CONSTRUCT_TRACE_STRING' toField='set_azimuthRotation'/> |
330 | < ROUTE fromNode='CONSTRUCT_TRACE_STRING' fromField='rotationMessage_changed' toNode='TRACE_STRING' toField='set_string'/> |
331 | </Scene> |
332 | </X3D> |
Event Graph ROUTE Table entries with 7 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.
AZIMUTH_SENSOR
CylinderSensor rotation_changed SFRotation |
AZIMUTH_TRANSFORM
Transform set_rotation SFRotation |
|||||
AZIMUTH_SENSOR
CylinderSensor rotation_changed SFRotation |
CONSTRUCT_TRACE_STRING
Script set_azimuthRotation SFRotation |
then
|
CONSTRUCT_TRACE_STRING
Script rotationMessage_changed MFString |
TRACE_STRING
Text set_string MFString |
ELEVATION_SENSOR
CylinderSensor rotation_changed SFRotation |
ELEVATION_TRANSFORM
Transform set_rotation SFRotation |
|||||
ELEVATION_SENSOR
CylinderSensor rotation_changed SFRotation |
CONSTRUCT_TRACE_STRING
Script set_elevationRotation SFRotation |
then
|
CONSTRUCT_TRACE_STRING
Script rotationMessage_changed MFString |
TRACE_STRING
Text set_string MFString |
ROLL_SENSOR
CylinderSensor rotation_changed SFRotation |
ROLL_TRANSFORM
Transform set_rotation SFRotation |
|||||
ROLL_SENSOR
CylinderSensor rotation_changed SFRotation |
CONSTRUCT_TRACE_STRING
Script set_rollRotation SFRotation |
then
|
CONSTRUCT_TRACE_STRING
Script rotationMessage_changed MFString |
TRACE_STRING
Text set_string MFString |
<!--
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. -->