1 /*
2  *			GPAC - Multimedia Framework C SDK
3  *
4  *			Authors: Jean Le Feuvre
5  *			Copyright (c) Telecom ParisTech 2000-2012
6  *					All rights reserved
7  *
8  *  This file is part of GPAC / X3D Scene Graph sub-project
9  *
10  *  GPAC is free software; you can redistribute it and/or modify
11  *  it under the terms of the GNU Lesser General Public License as published by
12  *  the Free Software Foundation; either version 2, or (at your option)
13  *  any later version.
14  *
15  *  GPAC is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  *  GNU Lesser General Public License for more details.
19  *
20  *  You should have received a copy of the GNU Lesser General Public
21  *  License along with this library; see the file COPYING.  If not, write to
22  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
23  *
24  */
25 
26 
27 /*
28 	DO NOT MOFIFY - File generated on GMT Fri Jul 31 16:39:50 2009
29 
30 	BY X3DGen for GPAC Version 0.5.0
31 */
32 
33 #ifndef _GF_X3D_NODES_H
34 #define _GF_X3D_NODES_H
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #include <gpac/scenegraph_vrml.h>
41 
42 #ifndef GPAC_DISABLE_X3D
43 
44 
45 
46 enum {
47 	TAG_X3D_Anchor = GF_NODE_RANGE_FIRST_X3D,
48 	TAG_X3D_Appearance,
49 	TAG_X3D_Arc2D,
50 	TAG_X3D_ArcClose2D,
51 	TAG_X3D_AudioClip,
52 	TAG_X3D_Background,
53 	TAG_X3D_Billboard,
54 	TAG_X3D_BooleanFilter,
55 	TAG_X3D_BooleanSequencer,
56 	TAG_X3D_BooleanToggle,
57 	TAG_X3D_BooleanTrigger,
58 	TAG_X3D_Box,
59 	TAG_X3D_Circle2D,
60 	TAG_X3D_Collision,
61 	TAG_X3D_Color,
62 	TAG_X3D_ColorInterpolator,
63 	TAG_X3D_ColorRGBA,
64 	TAG_X3D_Cone,
65 	TAG_X3D_Contour2D,
66 	TAG_X3D_ContourPolyline2D,
67 	TAG_X3D_Coordinate,
68 	TAG_X3D_CoordinateDouble,
69 	TAG_X3D_Coordinate2D,
70 	TAG_X3D_CoordinateInterpolator,
71 	TAG_X3D_CoordinateInterpolator2D,
72 	TAG_X3D_Cylinder,
73 	TAG_X3D_CylinderSensor,
74 	TAG_X3D_DirectionalLight,
75 	TAG_X3D_Disk2D,
76 	TAG_X3D_ElevationGrid,
77 	TAG_X3D_EspduTransform,
78 	TAG_X3D_Extrusion,
79 	TAG_X3D_FillProperties,
80 	TAG_X3D_Fog,
81 	TAG_X3D_FontStyle,
82 	TAG_X3D_GeoCoordinate,
83 	TAG_X3D_GeoElevationGrid,
84 	TAG_X3D_GeoLocation,
85 	TAG_X3D_GeoLOD,
86 	TAG_X3D_GeoMetadata,
87 	TAG_X3D_GeoOrigin,
88 	TAG_X3D_GeoPositionInterpolator,
89 	TAG_X3D_GeoTouchSensor,
90 	TAG_X3D_GeoViewpoint,
91 	TAG_X3D_Group,
92 	TAG_X3D_HAnimDisplacer,
93 	TAG_X3D_HAnimHumanoid,
94 	TAG_X3D_HAnimJoint,
95 	TAG_X3D_HAnimSegment,
96 	TAG_X3D_HAnimSite,
97 	TAG_X3D_ImageTexture,
98 	TAG_X3D_IndexedFaceSet,
99 	TAG_X3D_IndexedLineSet,
100 	TAG_X3D_IndexedTriangleFanSet,
101 	TAG_X3D_IndexedTriangleSet,
102 	TAG_X3D_IndexedTriangleStripSet,
103 	TAG_X3D_Inline,
104 	TAG_X3D_IntegerSequencer,
105 	TAG_X3D_IntegerTrigger,
106 	TAG_X3D_KeySensor,
107 	TAG_X3D_LineProperties,
108 	TAG_X3D_LineSet,
109 	TAG_X3D_LoadSensor,
110 	TAG_X3D_LOD,
111 	TAG_X3D_Material,
112 	TAG_X3D_MetadataDouble,
113 	TAG_X3D_MetadataFloat,
114 	TAG_X3D_MetadataInteger,
115 	TAG_X3D_MetadataSet,
116 	TAG_X3D_MetadataString,
117 	TAG_X3D_MovieTexture,
118 	TAG_X3D_MultiTexture,
119 	TAG_X3D_MultiTextureCoordinate,
120 	TAG_X3D_MultiTextureTransform,
121 	TAG_X3D_NavigationInfo,
122 	TAG_X3D_Normal,
123 	TAG_X3D_NormalInterpolator,
124 	TAG_X3D_NurbsCurve,
125 	TAG_X3D_NurbsCurve2D,
126 	TAG_X3D_NurbsOrientationInterpolator,
127 	TAG_X3D_NurbsPatchSurface,
128 	TAG_X3D_NurbsPositionInterpolator,
129 	TAG_X3D_NurbsSet,
130 	TAG_X3D_NurbsSurfaceInterpolator,
131 	TAG_X3D_NurbsSweptSurface,
132 	TAG_X3D_NurbsSwungSurface,
133 	TAG_X3D_NurbsTextureCoordinate,
134 	TAG_X3D_NurbsTrimmedSurface,
135 	TAG_X3D_OrientationInterpolator,
136 	TAG_X3D_PixelTexture,
137 	TAG_X3D_PlaneSensor,
138 	TAG_X3D_PointLight,
139 	TAG_X3D_PointSet,
140 	TAG_X3D_Polyline2D,
141 	TAG_X3D_Polypoint2D,
142 	TAG_X3D_PositionInterpolator,
143 	TAG_X3D_PositionInterpolator2D,
144 	TAG_X3D_ProximitySensor,
145 	TAG_X3D_ReceiverPdu,
146 	TAG_X3D_Rectangle2D,
147 	TAG_X3D_ScalarInterpolator,
148 	TAG_X3D_Script,
149 	TAG_X3D_Shape,
150 	TAG_X3D_SignalPdu,
151 	TAG_X3D_Sound,
152 	TAG_X3D_Sphere,
153 	TAG_X3D_SphereSensor,
154 	TAG_X3D_SpotLight,
155 	TAG_X3D_StaticGroup,
156 	TAG_X3D_StringSensor,
157 	TAG_X3D_Switch,
158 	TAG_X3D_Text,
159 	TAG_X3D_TextureBackground,
160 	TAG_X3D_TextureCoordinate,
161 	TAG_X3D_TextureCoordinateGenerator,
162 	TAG_X3D_TextureTransform,
163 	TAG_X3D_TimeSensor,
164 	TAG_X3D_TimeTrigger,
165 	TAG_X3D_TouchSensor,
166 	TAG_X3D_Transform,
167 	TAG_X3D_TransmitterPdu,
168 	TAG_X3D_TriangleFanSet,
169 	TAG_X3D_TriangleSet,
170 	TAG_X3D_TriangleSet2D,
171 	TAG_X3D_TriangleStripSet,
172 	TAG_X3D_Viewpoint,
173 	TAG_X3D_VisibilitySensor,
174 	TAG_X3D_WorldInfo,
175 	TAG_LastImplementedX3D
176 };
177 
178 typedef struct _tagX3DAnchor
179 {
180 	BASE_NODE
181 	VRML_CHILDREN
182 	SFString description;	/*exposedField*/
183 	MFString parameter;	/*exposedField*/
184 	MFURL url;	/*exposedField*/
185 	GF_Node *metadata;	/*exposedField*/
186 } X_Anchor;
187 
188 
189 typedef struct _tagX3DAppearance
190 {
191 	BASE_NODE
192 	GF_Node *material;	/*exposedField*/
193 	GF_Node *texture;	/*exposedField*/
194 	GF_Node *textureTransform;	/*exposedField*/
195 	GF_Node *fillProperties;	/*exposedField*/
196 	GF_Node *lineProperties;	/*exposedField*/
197 	GF_Node *metadata;	/*exposedField*/
198 } X_Appearance;
199 
200 
201 typedef struct _tagX3DArc2D
202 {
203 	BASE_NODE
204 	SFFloat endAngle;	/*field*/
205 	SFFloat radius;	/*field*/
206 	SFFloat startAngle;	/*field*/
207 	GF_Node *metadata;	/*exposedField*/
208 } X_Arc2D;
209 
210 
211 typedef struct _tagX3DArcClose2D
212 {
213 	BASE_NODE
214 	SFString closureType;	/*field*/
215 	SFFloat endAngle;	/*field*/
216 	SFFloat radius;	/*field*/
217 	SFFloat startAngle;	/*field*/
218 	GF_Node *metadata;	/*exposedField*/
219 } X_ArcClose2D;
220 
221 
222 typedef struct _tagX3DAudioClip
223 {
224 	BASE_NODE
225 	SFString description;	/*exposedField*/
226 	SFBool loop;	/*exposedField*/
227 	SFFloat pitch;	/*exposedField*/
228 	SFTime startTime;	/*exposedField*/
229 	SFTime stopTime;	/*exposedField*/
230 	MFURL url;	/*exposedField*/
231 	SFTime duration_changed;	/*eventOut*/
232 	SFBool isActive;	/*eventOut*/
233 	GF_Node *metadata;	/*exposedField*/
234 	SFTime pauseTime;	/*exposedField*/
235 	SFTime resumeTime;	/*exposedField*/
236 	SFTime elapsedTime;	/*eventOut*/
237 	SFBool isPaused;	/*eventOut*/
238 } X_AudioClip;
239 
240 
241 typedef struct _tagX3DBackground
242 {
243 	BASE_NODE
244 	SFBool set_bind;	/*eventIn*/
245 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
246 	MFFloat groundAngle;	/*exposedField*/
247 	MFColor groundColor;	/*exposedField*/
248 	MFURL backUrl;	/*exposedField*/
249 	MFURL bottomUrl;	/*exposedField*/
250 	MFURL frontUrl;	/*exposedField*/
251 	MFURL leftUrl;	/*exposedField*/
252 	MFURL rightUrl;	/*exposedField*/
253 	MFURL topUrl;	/*exposedField*/
254 	MFFloat skyAngle;	/*exposedField*/
255 	MFColor skyColor;	/*exposedField*/
256 	SFBool isBound;	/*eventOut*/
257 	GF_Node *metadata;	/*exposedField*/
258 	SFTime bindTime;	/*eventOut*/
259 } X_Background;
260 
261 
262 typedef struct _tagX3DBillboard
263 {
264 	BASE_NODE
265 	VRML_CHILDREN
266 	SFVec3f axisOfRotation;	/*exposedField*/
267 	GF_Node *metadata;	/*exposedField*/
268 } X_Billboard;
269 
270 
271 typedef struct _tagX3DBooleanFilter
272 {
273 	BASE_NODE
274 	SFBool set_boolean;	/*eventIn*/
275 	void (*on_set_boolean)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
276 	SFBool inputFalse;	/*eventOut*/
277 	SFBool inputNegate;	/*eventOut*/
278 	SFBool inputTrue;	/*eventOut*/
279 	GF_Node *metadata;	/*exposedField*/
280 } X_BooleanFilter;
281 
282 
283 typedef struct _tagX3DBooleanSequencer
284 {
285 	BASE_NODE
286 	SFBool next;	/*eventIn*/
287 	void (*on_next)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
288 	SFBool previous;	/*eventIn*/
289 	void (*on_previous)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
290 	SFFloat set_fraction;	/*eventIn*/
291 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
292 	MFFloat key;	/*exposedField*/
293 	MFBool keyValue;	/*exposedField*/
294 	SFBool value_changed;	/*eventOut*/
295 	GF_Node *metadata;	/*exposedField*/
296 } X_BooleanSequencer;
297 
298 
299 typedef struct _tagX3DBooleanToggle
300 {
301 	BASE_NODE
302 	SFBool set_boolean;	/*eventIn*/
303 	void (*on_set_boolean)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
304 	SFBool toggle;	/*exposedField*/
305 	GF_Node *metadata;	/*exposedField*/
306 } X_BooleanToggle;
307 
308 
309 typedef struct _tagX3DBooleanTrigger
310 {
311 	BASE_NODE
312 	SFTime set_triggerTime;	/*eventIn*/
313 	void (*on_set_triggerTime)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
314 	SFBool triggerTrue;	/*eventOut*/
315 	GF_Node *metadata;	/*exposedField*/
316 } X_BooleanTrigger;
317 
318 
319 typedef struct _tagX3DBox
320 {
321 	BASE_NODE
322 	SFVec3f size;	/*field*/
323 	GF_Node *metadata;	/*exposedField*/
324 } X_Box;
325 
326 
327 typedef struct _tagX3DCircle2D
328 {
329 	BASE_NODE
330 	SFFloat radius;	/*exposedField*/
331 	GF_Node *metadata;	/*exposedField*/
332 } X_Circle2D;
333 
334 
335 typedef struct _tagX3DCollision
336 {
337 	BASE_NODE
338 	VRML_CHILDREN
339 	SFBool enabled;	/*exposedField*/
340 	GF_Node *proxy;	/*field*/
341 	SFTime collideTime;	/*eventOut*/
342 	SFBool isActive;	/*eventOut*/
343 	GF_Node *metadata;	/*exposedField*/
344 } X_Collision;
345 
346 
347 typedef struct _tagX3DColor
348 {
349 	BASE_NODE
350 	MFColor color;	/*exposedField*/
351 	GF_Node *metadata;	/*exposedField*/
352 } X_Color;
353 
354 
355 typedef struct _tagX3DColorInterpolator
356 {
357 	BASE_NODE
358 	SFFloat set_fraction;	/*eventIn*/
359 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
360 	MFFloat key;	/*exposedField*/
361 	MFColor keyValue;	/*exposedField*/
362 	SFColor value_changed;	/*eventOut*/
363 	GF_Node *metadata;	/*exposedField*/
364 } X_ColorInterpolator;
365 
366 
367 typedef struct _tagX3DColorRGBA
368 {
369 	BASE_NODE
370 	MFColorRGBA color;	/*exposedField*/
371 	GF_Node *metadata;	/*exposedField*/
372 } X_ColorRGBA;
373 
374 
375 typedef struct _tagX3DCone
376 {
377 	BASE_NODE
378 	SFFloat bottomRadius;	/*field*/
379 	SFFloat height;	/*field*/
380 	SFBool side;	/*field*/
381 	SFBool bottom;	/*field*/
382 	GF_Node *metadata;	/*exposedField*/
383 } X_Cone;
384 
385 
386 typedef struct _tagX3DContour2D
387 {
388 	BASE_NODE
389 	VRML_CHILDREN
390 	GF_Node *metadata;	/*exposedField*/
391 } X_Contour2D;
392 
393 
394 typedef struct _tagX3DContourPolyline2D
395 {
396 	BASE_NODE
397 	MFVec2f point;	/*exposedField*/
398 	GF_Node *metadata;	/*exposedField*/
399 } X_ContourPolyline2D;
400 
401 
402 typedef struct _tagX3DCoordinate
403 {
404 	BASE_NODE
405 	MFVec3f point;	/*exposedField*/
406 	GF_Node *metadata;	/*exposedField*/
407 } X_Coordinate;
408 
409 
410 typedef struct _tagX3DCoordinateDouble
411 {
412 	BASE_NODE
413 	MFVec3d point;	/*exposedField*/
414 	GF_Node *metadata;	/*exposedField*/
415 } X_CoordinateDouble;
416 
417 
418 typedef struct _tagX3DCoordinate2D
419 {
420 	BASE_NODE
421 	MFVec2f point;	/*exposedField*/
422 	GF_Node *metadata;	/*exposedField*/
423 } X_Coordinate2D;
424 
425 
426 typedef struct _tagX3DCoordinateInterpolator
427 {
428 	BASE_NODE
429 	SFFloat set_fraction;	/*eventIn*/
430 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
431 	MFFloat key;	/*exposedField*/
432 	MFVec3f keyValue;	/*exposedField*/
433 	MFVec3f value_changed;	/*eventOut*/
434 	GF_Node *metadata;	/*exposedField*/
435 } X_CoordinateInterpolator;
436 
437 
438 typedef struct _tagX3DCoordinateInterpolator2D
439 {
440 	BASE_NODE
441 	SFFloat set_fraction;	/*eventIn*/
442 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
443 	MFFloat key;	/*exposedField*/
444 	MFVec2f keyValue;	/*exposedField*/
445 	MFVec2f value_changed;	/*eventOut*/
446 	GF_Node *metadata;	/*exposedField*/
447 } X_CoordinateInterpolator2D;
448 
449 
450 typedef struct _tagX3DCylinder
451 {
452 	BASE_NODE
453 	SFBool bottom;	/*field*/
454 	SFFloat height;	/*field*/
455 	SFFloat radius;	/*field*/
456 	SFBool side;	/*field*/
457 	SFBool top;	/*field*/
458 	GF_Node *metadata;	/*exposedField*/
459 } X_Cylinder;
460 
461 
462 typedef struct _tagX3DCylinderSensor
463 {
464 	BASE_NODE
465 	SFBool autoOffset;	/*exposedField*/
466 	SFFloat diskAngle;	/*exposedField*/
467 	SFBool enabled;	/*exposedField*/
468 	SFFloat maxAngle;	/*exposedField*/
469 	SFFloat minAngle;	/*exposedField*/
470 	SFFloat offset;	/*exposedField*/
471 	SFBool isActive;	/*eventOut*/
472 	SFRotation rotation_changed;	/*eventOut*/
473 	SFVec3f trackPoint_changed;	/*eventOut*/
474 	GF_Node *metadata;	/*exposedField*/
475 	SFString description;	/*exposedField*/
476 	SFBool isOver;	/*eventOut*/
477 } X_CylinderSensor;
478 
479 
480 typedef struct _tagX3DDirectionalLight
481 {
482 	BASE_NODE
483 	SFFloat ambientIntensity;	/*exposedField*/
484 	SFColor color;	/*exposedField*/
485 	SFVec3f direction;	/*exposedField*/
486 	SFFloat intensity;	/*exposedField*/
487 	SFBool on;	/*exposedField*/
488 	GF_Node *metadata;	/*exposedField*/
489 } X_DirectionalLight;
490 
491 
492 typedef struct _tagX3DDisk2D
493 {
494 	BASE_NODE
495 	SFFloat innerRadius;	/*field*/
496 	SFFloat outerRadius;	/*field*/
497 	GF_Node *metadata;	/*exposedField*/
498 } X_Disk2D;
499 
500 
501 typedef struct _tagX3DElevationGrid
502 {
503 	BASE_NODE
504 	MFFloat set_height;	/*eventIn*/
505 	void (*on_set_height)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
506 	GF_Node *color;	/*exposedField*/
507 	GF_Node *normal;	/*exposedField*/
508 	GF_Node *texCoord;	/*exposedField*/
509 	MFFloat height;	/*field*/
510 	SFBool ccw;	/*field*/
511 	SFBool colorPerVertex;	/*field*/
512 	SFFloat creaseAngle;	/*field*/
513 	SFBool normalPerVertex;	/*field*/
514 	SFBool solid;	/*field*/
515 	SFInt32 xDimension;	/*field*/
516 	SFFloat xSpacing;	/*field*/
517 	SFInt32 zDimension;	/*field*/
518 	SFFloat zSpacing;	/*field*/
519 	GF_Node *metadata;	/*exposedField*/
520 } X_ElevationGrid;
521 
522 
523 typedef struct _tagX3DEspduTransform
524 {
525 	BASE_NODE
526 	VRML_CHILDREN
527 	SFFloat set_articulationParameterValue0;	/*eventIn*/
528 	void (*on_set_articulationParameterValue0)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
529 	SFFloat set_articulationParameterValue1;	/*eventIn*/
530 	void (*on_set_articulationParameterValue1)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
531 	SFFloat set_articulationParameterValue2;	/*eventIn*/
532 	void (*on_set_articulationParameterValue2)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
533 	SFFloat set_articulationParameterValue3;	/*eventIn*/
534 	void (*on_set_articulationParameterValue3)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
535 	SFFloat set_articulationParameterValue4;	/*eventIn*/
536 	void (*on_set_articulationParameterValue4)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
537 	SFFloat set_articulationParameterValue5;	/*eventIn*/
538 	void (*on_set_articulationParameterValue5)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
539 	SFFloat set_articulationParameterValue6;	/*eventIn*/
540 	void (*on_set_articulationParameterValue6)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
541 	SFFloat set_articulationParameterValue7;	/*eventIn*/
542 	void (*on_set_articulationParameterValue7)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
543 	SFString address;	/*exposedField*/
544 	SFInt32 applicationID;	/*exposedField*/
545 	SFInt32 articulationParameterCount;	/*exposedField*/
546 	MFInt32 articulationParameterDesignatorArray;	/*exposedField*/
547 	MFInt32 articulationParameterChangeIndicatorArray;	/*exposedField*/
548 	MFInt32 articulationParameterIdPartAttachedToArray;	/*exposedField*/
549 	MFInt32 articulationParameterTypeArray;	/*exposedField*/
550 	MFFloat articulationParameterArray;	/*exposedField*/
551 	SFVec3f center;	/*exposedField*/
552 	SFInt32 collisionType;	/*exposedField*/
553 	SFInt32 deadReckoning;	/*exposedField*/
554 	SFVec3f detonationLocation;	/*exposedField*/
555 	SFVec3f detonationRelativeLocation;	/*exposedField*/
556 	SFInt32 detonationResult;	/*exposedField*/
557 	SFInt32 entityCategory;	/*exposedField*/
558 	SFInt32 entityCountry;	/*exposedField*/
559 	SFInt32 entityDomain;	/*exposedField*/
560 	SFInt32 entityExtra;	/*exposedField*/
561 	SFInt32 entityID;	/*exposedField*/
562 	SFInt32 entityKind;	/*exposedField*/
563 	SFInt32 entitySpecific;	/*exposedField*/
564 	SFInt32 entitySubCategory;	/*exposedField*/
565 	SFInt32 eventApplicationID;	/*exposedField*/
566 	SFInt32 eventEntityID;	/*exposedField*/
567 	SFInt32 eventNumber;	/*exposedField*/
568 	SFInt32 eventSiteID;	/*exposedField*/
569 	SFBool fired1;	/*exposedField*/
570 	SFBool fired2;	/*exposedField*/
571 	SFInt32 fireMissionIndex;	/*exposedField*/
572 	SFFloat firingRange;	/*exposedField*/
573 	SFInt32 firingRate;	/*exposedField*/
574 	SFInt32 forceID;	/*exposedField*/
575 	SFInt32 fuse;	/*exposedField*/
576 	SFVec3f linearVelocity;	/*exposedField*/
577 	SFVec3f linearAcceleration;	/*exposedField*/
578 	SFString marking;	/*exposedField*/
579 	SFString multicastRelayHost;	/*exposedField*/
580 	SFInt32 multicastRelayPort;	/*exposedField*/
581 	SFInt32 munitionApplicationID;	/*exposedField*/
582 	SFVec3f munitionEndPoint;	/*exposedField*/
583 	SFInt32 munitionEntityID;	/*exposedField*/
584 	SFInt32 munitionQuantity;	/*exposedField*/
585 	SFInt32 munitionSiteID;	/*exposedField*/
586 	SFVec3f munitionStartPoint;	/*exposedField*/
587 	SFString networkMode;	/*exposedField*/
588 	SFInt32 port;	/*exposedField*/
589 	SFTime readInterval;	/*exposedField*/
590 	SFRotation rotation;	/*exposedField*/
591 	SFVec3f scale;	/*exposedField*/
592 	SFRotation scaleOrientation;	/*exposedField*/
593 	SFInt32 siteID;	/*exposedField*/
594 	SFVec3f translation;	/*exposedField*/
595 	SFInt32 warhead;	/*exposedField*/
596 	SFTime writeInterval;	/*exposedField*/
597 	SFBool rtpHeaderExpected;	/*field*/
598 	SFFloat articulationParameterValue0_changed;	/*eventOut*/
599 	SFFloat articulationParameterValue1_changed;	/*eventOut*/
600 	SFFloat articulationParameterValue2_changed;	/*eventOut*/
601 	SFFloat articulationParameterValue3_changed;	/*eventOut*/
602 	SFFloat articulationParameterValue4_changed;	/*eventOut*/
603 	SFFloat articulationParameterValue5_changed;	/*eventOut*/
604 	SFFloat articulationParameterValue6_changed;	/*eventOut*/
605 	SFFloat articulationParameterValue7_changed;	/*eventOut*/
606 	SFTime collideTime;	/*eventOut*/
607 	SFTime detonateTime;	/*eventOut*/
608 	SFTime firedTime;	/*eventOut*/
609 	SFBool isActive;	/*eventOut*/
610 	SFBool isCollided;	/*eventOut*/
611 	SFBool isDetonated;	/*eventOut*/
612 	SFBool isNetworkReader;	/*eventOut*/
613 	SFBool isNetworkWriter;	/*eventOut*/
614 	SFBool isRtpHeaderHeard;	/*eventOut*/
615 	SFBool isStandAlone;	/*eventOut*/
616 	SFTime timestamp;	/*eventOut*/
617 	GF_Node *metadata;	/*exposedField*/
618 } X_EspduTransform;
619 
620 
621 typedef struct _tagX3DExtrusion
622 {
623 	BASE_NODE
624 	MFVec2f set_crossSection;	/*eventIn*/
625 	void (*on_set_crossSection)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
626 	MFRotation set_orientation;	/*eventIn*/
627 	void (*on_set_orientation)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
628 	MFVec2f set_scale;	/*eventIn*/
629 	void (*on_set_scale)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
630 	MFVec3f set_spine;	/*eventIn*/
631 	void (*on_set_spine)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
632 	SFBool beginCap;	/*field*/
633 	SFBool ccw;	/*field*/
634 	SFBool convex;	/*field*/
635 	SFFloat creaseAngle;	/*field*/
636 	MFVec2f crossSection;	/*field*/
637 	SFBool endCap;	/*field*/
638 	MFRotation orientation;	/*field*/
639 	MFVec2f scale;	/*field*/
640 	SFBool solid;	/*field*/
641 	MFVec3f spine;	/*field*/
642 	GF_Node *metadata;	/*exposedField*/
643 } X_Extrusion;
644 
645 
646 typedef struct _tagX3DFillProperties
647 {
648 	BASE_NODE
649 	SFBool filled;	/*exposedField*/
650 	SFColor hatchColor;	/*exposedField*/
651 	SFBool hatched;	/*exposedField*/
652 	SFInt32 hatchStyle;	/*exposedField*/
653 } X_FillProperties;
654 
655 
656 typedef struct _tagX3DFog
657 {
658 	BASE_NODE
659 	SFColor color;	/*exposedField*/
660 	SFString fogType;	/*exposedField*/
661 	SFFloat visibilityRange;	/*exposedField*/
662 	SFBool set_bind;	/*eventIn*/
663 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
664 	SFBool isBound;	/*eventOut*/
665 	GF_Node *metadata;	/*exposedField*/
666 	SFTime bindTime;	/*eventOut*/
667 } X_Fog;
668 
669 
670 typedef struct _tagX3DFontStyle
671 {
672 	BASE_NODE
673 	MFString family;	/*exposedField*/
674 	SFBool horizontal;	/*exposedField*/
675 	MFString justify;	/*exposedField*/
676 	SFString language;	/*exposedField*/
677 	SFBool leftToRight;	/*exposedField*/
678 	SFFloat size;	/*exposedField*/
679 	SFFloat spacing;	/*exposedField*/
680 	SFString style;	/*exposedField*/
681 	SFBool topToBottom;	/*exposedField*/
682 	GF_Node *metadata;	/*exposedField*/
683 } X_FontStyle;
684 
685 
686 typedef struct _tagX3DGeoCoordinate
687 {
688 	BASE_NODE
689 	MFVec3d point;	/*exposedField*/
690 	GF_Node *geoOrigin;	/*field*/
691 	MFString geoSystem;	/*field*/
692 	GF_Node *metadata;	/*exposedField*/
693 } X_GeoCoordinate;
694 
695 
696 typedef struct _tagX3DGeoElevationGrid
697 {
698 	BASE_NODE
699 	MFDouble set_height;	/*eventIn*/
700 	void (*on_set_height)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
701 	GF_Node *color;	/*exposedField*/
702 	GF_Node *normal;	/*exposedField*/
703 	GF_Node *texCoord;	/*exposedField*/
704 	SFFloat yScale;	/*exposedField*/
705 	SFBool ccw;	/*field*/
706 	SFBool colorPerVertex;	/*field*/
707 	SFFloat creaseAngle;	/*field*/
708 	SFString geoGridOrigin;	/*field*/
709 	GF_Node *geoOrigin;	/*field*/
710 	MFString geoSystem;	/*field*/
711 	MFDouble height;	/*field*/
712 	SFBool normalPerVertex;	/*field*/
713 	SFBool solid;	/*field*/
714 	SFInt32 xDimension;	/*field*/
715 	SFDouble xSpacing;	/*field*/
716 	SFInt32 zDimension;	/*field*/
717 	SFDouble zSpacing;	/*field*/
718 	GF_Node *metadata;	/*exposedField*/
719 } X_GeoElevationGrid;
720 
721 
722 typedef struct _tagX3DGeoLocation
723 {
724 	BASE_NODE
725 	VRML_CHILDREN
726 	SFVec3d geoCoords;	/*exposedField*/
727 	GF_Node *geoOrigin;	/*field*/
728 	MFString geoSystem;	/*field*/
729 	GF_Node *metadata;	/*exposedField*/
730 } X_GeoLocation;
731 
732 
733 typedef struct _tagX3DGeoLOD
734 {
735 	BASE_NODE
736 	SFVec3d center;	/*field*/
737 	MFURL child1Url;	/*field*/
738 	MFURL child2Url;	/*field*/
739 	MFURL child3Url;	/*field*/
740 	MFURL child4Url;	/*field*/
741 	GF_Node *geoOrigin;	/*field*/
742 	MFString geoSystem;	/*field*/
743 	SFFloat range;	/*field*/
744 	MFURL rootUrl;	/*field*/
745 	GF_ChildNodeItem *rootNode;	/*field*/
746 	GF_ChildNodeItem *children;	/*eventOut*/
747 	GF_Node *metadata;	/*exposedField*/
748 } X_GeoLOD;
749 
750 
751 typedef struct _tagX3DGeoMetadata
752 {
753 	BASE_NODE
754 	GF_ChildNodeItem *data;	/*exposedField*/
755 	MFString summary;	/*exposedField*/
756 	MFURL url;	/*exposedField*/
757 	GF_Node *metadata;	/*exposedField*/
758 } X_GeoMetadata;
759 
760 
761 typedef struct _tagX3DGeoOrigin
762 {
763 	BASE_NODE
764 	SFVec3d geoCoords;	/*exposedField*/
765 	MFString geoSystem;	/*exposedField*/
766 	SFBool rotateYUp;	/*field*/
767 	GF_Node *metadata;	/*exposedField*/
768 } X_GeoOrigin;
769 
770 
771 typedef struct _tagX3DGeoPositionInterpolator
772 {
773 	BASE_NODE
774 	SFFloat set_fraction;	/*eventIn*/
775 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
776 	MFFloat key;	/*exposedField*/
777 	MFVec3d keyValue;	/*exposedField*/
778 	GF_Node *geoOrigin;	/*field*/
779 	MFString geoSystem;	/*field*/
780 	SFVec3d geovalue_changed;	/*eventOut*/
781 	SFVec3f value_changed;	/*eventOut*/
782 	GF_Node *metadata;	/*exposedField*/
783 } X_GeoPositionInterpolator;
784 
785 
786 typedef struct _tagX3DGeoTouchSensor
787 {
788 	BASE_NODE
789 	SFBool enabled;	/*exposedField*/
790 	GF_Node *geoOrigin;	/*field*/
791 	MFString geoSystem;	/*field*/
792 	SFVec3f hitNormal_changed;	/*eventOut*/
793 	SFVec3f hitPoint_changed;	/*eventOut*/
794 	SFVec2f hitTexCoord_changed;	/*eventOut*/
795 	SFVec3d hitGeoCoord_changed;	/*eventOut*/
796 	SFBool isActive;	/*eventOut*/
797 	SFBool isOver;	/*eventOut*/
798 	SFTime touchTime;	/*eventOut*/
799 	GF_Node *metadata;	/*exposedField*/
800 } X_GeoTouchSensor;
801 
802 
803 typedef struct _tagX3DGeoViewpoint
804 {
805 	BASE_NODE
806 	SFBool set_bind;	/*eventIn*/
807 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
808 	SFString set_orientation;	/*eventIn*/
809 	void (*on_set_orientation)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
810 	SFString set_position;	/*eventIn*/
811 	void (*on_set_position)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
812 	SFString description;	/*exposedField*/
813 	SFFloat fieldOfView;	/*exposedField*/
814 	SFBool headlight;	/*exposedField*/
815 	SFBool jump;	/*exposedField*/
816 	MFString navType;	/*exposedField*/
817 	SFTime bindTime;	/*eventOut*/
818 	SFBool isBound;	/*eventOut*/
819 	GF_Node *geoOrigin;	/*field*/
820 	MFString geoSystem;	/*field*/
821 	SFRotation orientation;	/*field*/
822 	SFVec3d position;	/*field*/
823 	SFFloat speedFactor;	/*field*/
824 	GF_Node *metadata;	/*exposedField*/
825 } X_GeoViewpoint;
826 
827 
828 typedef struct _tagX3DGroup
829 {
830 	BASE_NODE
831 	VRML_CHILDREN
832 	GF_Node *metadata;	/*exposedField*/
833 } X_Group;
834 
835 
836 typedef struct _tagX3DHAnimDisplacer
837 {
838 	BASE_NODE
839 	MFInt32 coordIndex;	/*exposedField*/
840 	MFVec3f displacements;	/*exposedField*/
841 	SFString name;	/*exposedField*/
842 	SFFloat weight;	/*exposedField*/
843 	GF_Node *metadata;	/*exposedField*/
844 } X_HAnimDisplacer;
845 
846 
847 typedef struct _tagX3DHAnimHumanoid
848 {
849 	BASE_NODE
850 	SFVec3f center;	/*exposedField*/
851 	MFString info;	/*exposedField*/
852 	GF_ChildNodeItem *joints;	/*exposedField*/
853 	SFString name;	/*exposedField*/
854 	SFRotation rotation;	/*exposedField*/
855 	SFVec3f scale;	/*exposedField*/
856 	SFRotation scaleOrientation;	/*exposedField*/
857 	GF_ChildNodeItem *segments;	/*exposedField*/
858 	GF_ChildNodeItem *sites;	/*exposedField*/
859 	GF_ChildNodeItem *skeleton;	/*exposedField*/
860 	GF_ChildNodeItem *skin;	/*exposedField*/
861 	GF_Node *skinCoord;	/*exposedField*/
862 	GF_Node *skinNormal;	/*exposedField*/
863 	SFVec3f translation;	/*exposedField*/
864 	SFString version;	/*exposedField*/
865 	GF_ChildNodeItem *viewpoints;	/*exposedField*/
866 	GF_Node *metadata;	/*exposedField*/
867 } X_HAnimHumanoid;
868 
869 
870 typedef struct _tagX3DHAnimJoint
871 {
872 	BASE_NODE
873 	VRML_CHILDREN
874 	SFVec3f center;	/*exposedField*/
875 	GF_ChildNodeItem *displacers;	/*exposedField*/
876 	SFRotation limitOrientation;	/*exposedField*/
877 	MFFloat llimit;	/*exposedField*/
878 	SFString name;	/*exposedField*/
879 	SFRotation rotation;	/*exposedField*/
880 	SFVec3f scale;	/*exposedField*/
881 	SFRotation scaleOrientation;	/*exposedField*/
882 	MFInt32 skinCoordIndex;	/*exposedField*/
883 	MFFloat skinCoordWeight;	/*exposedField*/
884 	MFFloat stiffness;	/*exposedField*/
885 	SFVec3f translation;	/*exposedField*/
886 	MFFloat ulimit;	/*exposedField*/
887 	GF_Node *metadata;	/*exposedField*/
888 } X_HAnimJoint;
889 
890 
891 typedef struct _tagX3DHAnimSegment
892 {
893 	BASE_NODE
894 	VRML_CHILDREN
895 	SFVec3f centerOfMass;	/*exposedField*/
896 	GF_Node *coord;	/*exposedField*/
897 	GF_ChildNodeItem *displacers;	/*exposedField*/
898 	SFFloat mass;	/*exposedField*/
899 	MFFloat momentsOfInertia;	/*exposedField*/
900 	SFString name;	/*exposedField*/
901 	GF_Node *metadata;	/*exposedField*/
902 } X_HAnimSegment;
903 
904 
905 typedef struct _tagX3DHAnimSite
906 {
907 	BASE_NODE
908 	VRML_CHILDREN
909 	SFVec3f center;	/*exposedField*/
910 	SFString name;	/*exposedField*/
911 	SFRotation rotation;	/*exposedField*/
912 	SFVec3f scale;	/*exposedField*/
913 	SFRotation scaleOrientation;	/*exposedField*/
914 	SFVec3f translation;	/*exposedField*/
915 	GF_Node *metadata;	/*exposedField*/
916 } X_HAnimSite;
917 
918 
919 typedef struct _tagX3DImageTexture
920 {
921 	BASE_NODE
922 	MFURL url;	/*exposedField*/
923 	SFBool repeatS;	/*field*/
924 	SFBool repeatT;	/*field*/
925 	GF_Node *metadata;	/*exposedField*/
926 } X_ImageTexture;
927 
928 
929 typedef struct _tagX3DIndexedFaceSet
930 {
931 	BASE_NODE
932 	MFInt32 set_colorIndex;	/*eventIn*/
933 	void (*on_set_colorIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
934 	MFInt32 set_coordIndex;	/*eventIn*/
935 	void (*on_set_coordIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
936 	MFInt32 set_normalIndex;	/*eventIn*/
937 	void (*on_set_normalIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
938 	MFInt32 set_texCoordIndex;	/*eventIn*/
939 	void (*on_set_texCoordIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
940 	GF_Node *color;	/*exposedField*/
941 	GF_Node *coord;	/*exposedField*/
942 	GF_Node *normal;	/*exposedField*/
943 	GF_Node *texCoord;	/*exposedField*/
944 	SFBool ccw;	/*field*/
945 	MFInt32 colorIndex;	/*field*/
946 	SFBool colorPerVertex;	/*field*/
947 	SFBool convex;	/*field*/
948 	MFInt32 coordIndex;	/*field*/
949 	SFFloat creaseAngle;	/*field*/
950 	MFInt32 normalIndex;	/*field*/
951 	SFBool normalPerVertex;	/*field*/
952 	SFBool solid;	/*field*/
953 	MFInt32 texCoordIndex;	/*field*/
954 	GF_Node *metadata;	/*exposedField*/
955 } X_IndexedFaceSet;
956 
957 
958 typedef struct _tagX3DIndexedLineSet
959 {
960 	BASE_NODE
961 	MFInt32 set_colorIndex;	/*eventIn*/
962 	void (*on_set_colorIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
963 	MFInt32 set_coordIndex;	/*eventIn*/
964 	void (*on_set_coordIndex)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
965 	GF_Node *color;	/*exposedField*/
966 	GF_Node *coord;	/*exposedField*/
967 	MFInt32 colorIndex;	/*field*/
968 	SFBool colorPerVertex;	/*field*/
969 	MFInt32 coordIndex;	/*field*/
970 	GF_Node *metadata;	/*exposedField*/
971 } X_IndexedLineSet;
972 
973 
974 typedef struct _tagX3DIndexedTriangleFanSet
975 {
976 	BASE_NODE
977 	MFInt32 set_index;	/*eventIn*/
978 	void (*on_set_index)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
979 	GF_Node *color;	/*exposedField*/
980 	GF_Node *coord;	/*exposedField*/
981 	GF_Node *normal;	/*exposedField*/
982 	GF_Node *texCoord;	/*exposedField*/
983 	SFBool ccw;	/*field*/
984 	SFBool colorPerVertex;	/*field*/
985 	SFBool normalPerVertex;	/*field*/
986 	SFBool solid;	/*field*/
987 	MFInt32 index;	/*field*/
988 	GF_Node *metadata;	/*exposedField*/
989 } X_IndexedTriangleFanSet;
990 
991 
992 typedef struct _tagX3DIndexedTriangleSet
993 {
994 	BASE_NODE
995 	MFInt32 set_index;	/*eventIn*/
996 	void (*on_set_index)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
997 	GF_Node *color;	/*exposedField*/
998 	GF_Node *coord;	/*exposedField*/
999 	GF_Node *normal;	/*exposedField*/
1000 	GF_Node *texCoord;	/*exposedField*/
1001 	SFBool ccw;	/*field*/
1002 	SFBool colorPerVertex;	/*field*/
1003 	SFBool normalPerVertex;	/*field*/
1004 	SFBool solid;	/*field*/
1005 	MFInt32 index;	/*field*/
1006 	GF_Node *metadata;	/*exposedField*/
1007 } X_IndexedTriangleSet;
1008 
1009 
1010 typedef struct _tagX3DIndexedTriangleStripSet
1011 {
1012 	BASE_NODE
1013 	MFInt32 set_index;	/*eventIn*/
1014 	void (*on_set_index)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1015 	GF_Node *color;	/*exposedField*/
1016 	GF_Node *coord;	/*exposedField*/
1017 	SFFloat creaseAngle;	/*exposedField*/
1018 	GF_Node *normal;	/*exposedField*/
1019 	GF_Node *texCoord;	/*exposedField*/
1020 	SFBool ccw;	/*field*/
1021 	SFBool normalPerVertex;	/*field*/
1022 	SFBool solid;	/*field*/
1023 	MFInt32 index;	/*field*/
1024 	GF_Node *metadata;	/*exposedField*/
1025 } X_IndexedTriangleStripSet;
1026 
1027 
1028 typedef struct _tagX3DInline
1029 {
1030 	BASE_NODE
1031 	MFURL url;	/*exposedField*/
1032 	GF_Node *metadata;	/*exposedField*/
1033 	SFBool load;	/*exposedField*/
1034 } X_Inline;
1035 
1036 
1037 typedef struct _tagX3DIntegerSequencer
1038 {
1039 	BASE_NODE
1040 	SFBool next;	/*eventIn*/
1041 	void (*on_next)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1042 	SFBool previous;	/*eventIn*/
1043 	void (*on_previous)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1044 	SFFloat set_fraction;	/*eventIn*/
1045 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1046 	MFFloat key;	/*exposedField*/
1047 	MFInt32 keyValue;	/*exposedField*/
1048 	SFInt32 value_changed;	/*eventOut*/
1049 	GF_Node *metadata;	/*exposedField*/
1050 } X_IntegerSequencer;
1051 
1052 
1053 typedef struct _tagX3DIntegerTrigger
1054 {
1055 	BASE_NODE
1056 	SFBool set_boolean;	/*eventIn*/
1057 	void (*on_set_boolean)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1058 	SFInt32 integerKey;	/*exposedField*/
1059 	SFInt32 triggerValue;	/*eventOut*/
1060 	GF_Node *metadata;	/*exposedField*/
1061 } X_IntegerTrigger;
1062 
1063 
1064 typedef struct _tagX3DKeySensor
1065 {
1066 	BASE_NODE
1067 	SFBool enabled;	/*exposedField*/
1068 	SFInt32 actionKeyPress;	/*eventOut*/
1069 	SFInt32 actionKeyRelease;	/*eventOut*/
1070 	SFBool altKey;	/*eventOut*/
1071 	SFBool controlKey;	/*eventOut*/
1072 	SFBool isActive;	/*eventOut*/
1073 	SFString keyPress;	/*eventOut*/
1074 	SFString keyRelease;	/*eventOut*/
1075 	SFBool shiftKey;	/*eventOut*/
1076 	GF_Node *metadata;	/*exposedField*/
1077 } X_KeySensor;
1078 
1079 
1080 typedef struct _tagX3DLineProperties
1081 {
1082 	BASE_NODE
1083 	SFBool applied;	/*exposedField*/
1084 	SFInt32 linetype;	/*exposedField*/
1085 	SFFloat linewidthScaleFactor;	/*exposedField*/
1086 	GF_Node *metadata;	/*exposedField*/
1087 } X_LineProperties;
1088 
1089 
1090 typedef struct _tagX3DLineSet
1091 {
1092 	BASE_NODE
1093 	GF_Node *color;	/*exposedField*/
1094 	GF_Node *coord;	/*exposedField*/
1095 	MFInt32 vertexCount;	/*exposedField*/
1096 	GF_Node *metadata;	/*exposedField*/
1097 } X_LineSet;
1098 
1099 
1100 typedef struct _tagX3DLoadSensor
1101 {
1102 	BASE_NODE
1103 	SFBool enabled;	/*exposedField*/
1104 	SFTime timeOut;	/*exposedField*/
1105 	GF_ChildNodeItem *watchList;	/*exposedField*/
1106 	SFBool isActive;	/*eventOut*/
1107 	SFBool isLoaded;	/*eventOut*/
1108 	SFTime loadTime;	/*eventOut*/
1109 	SFFloat progress;	/*eventOut*/
1110 	GF_Node *metadata;	/*exposedField*/
1111 } X_LoadSensor;
1112 
1113 
1114 typedef struct _tagX3DLOD
1115 {
1116 	BASE_NODE
1117 	VRML_CHILDREN
1118 	SFVec3f center;	/*field*/
1119 	MFFloat range;	/*field*/
1120 	GF_Node *metadata;	/*exposedField*/
1121 } X_LOD;
1122 
1123 
1124 typedef struct _tagX3DMaterial
1125 {
1126 	BASE_NODE
1127 	SFFloat ambientIntensity;	/*exposedField*/
1128 	SFColor diffuseColor;	/*exposedField*/
1129 	SFColor emissiveColor;	/*exposedField*/
1130 	SFFloat shininess;	/*exposedField*/
1131 	SFColor specularColor;	/*exposedField*/
1132 	SFFloat transparency;	/*exposedField*/
1133 	GF_Node *metadata;	/*exposedField*/
1134 } X_Material;
1135 
1136 
1137 typedef struct _tagX3DMetadataDouble
1138 {
1139 	BASE_NODE
1140 	SFString name;	/*exposedField*/
1141 	SFString reference;	/*exposedField*/
1142 	MFDouble value;	/*exposedField*/
1143 	GF_Node *metadata;	/*exposedField*/
1144 } X_MetadataDouble;
1145 
1146 
1147 typedef struct _tagX3DMetadataFloat
1148 {
1149 	BASE_NODE
1150 	SFString name;	/*exposedField*/
1151 	SFString reference;	/*exposedField*/
1152 	MFFloat value;	/*exposedField*/
1153 	GF_Node *metadata;	/*exposedField*/
1154 } X_MetadataFloat;
1155 
1156 
1157 typedef struct _tagX3DMetadataInteger
1158 {
1159 	BASE_NODE
1160 	SFString name;	/*exposedField*/
1161 	SFString reference;	/*exposedField*/
1162 	MFInt32 value;	/*exposedField*/
1163 	GF_Node *metadata;	/*exposedField*/
1164 } X_MetadataInteger;
1165 
1166 
1167 typedef struct _tagX3DMetadataSet
1168 {
1169 	BASE_NODE
1170 	SFString name;	/*exposedField*/
1171 	SFString reference;	/*exposedField*/
1172 	GF_ChildNodeItem *value;	/*exposedField*/
1173 	GF_Node *metadata;	/*exposedField*/
1174 } X_MetadataSet;
1175 
1176 
1177 typedef struct _tagX3DMetadataString
1178 {
1179 	BASE_NODE
1180 	SFString name;	/*exposedField*/
1181 	SFString reference;	/*exposedField*/
1182 	MFString value;	/*exposedField*/
1183 	GF_Node *metadata;	/*exposedField*/
1184 } X_MetadataString;
1185 
1186 
1187 typedef struct _tagX3DMovieTexture
1188 {
1189 	BASE_NODE
1190 	SFBool loop;	/*exposedField*/
1191 	SFFloat speed;	/*exposedField*/
1192 	SFTime startTime;	/*exposedField*/
1193 	SFTime stopTime;	/*exposedField*/
1194 	MFURL url;	/*exposedField*/
1195 	SFBool repeatS;	/*field*/
1196 	SFBool repeatT;	/*field*/
1197 	SFTime duration_changed;	/*eventOut*/
1198 	SFBool isActive;	/*eventOut*/
1199 	GF_Node *metadata;	/*exposedField*/
1200 	SFTime resumeTime;	/*exposedField*/
1201 	SFTime pauseTime;	/*exposedField*/
1202 	SFTime elapsedTime;	/*eventOut*/
1203 	SFBool isPaused;	/*eventOut*/
1204 } X_MovieTexture;
1205 
1206 
1207 typedef struct _tagX3DMultiTexture
1208 {
1209 	BASE_NODE
1210 	SFFloat alpha;	/*exposedField*/
1211 	SFColor color;	/*exposedField*/
1212 	MFString function;	/*exposedField*/
1213 	MFString mode;	/*exposedField*/
1214 	MFString source;	/*exposedField*/
1215 	GF_ChildNodeItem *texture;	/*exposedField*/
1216 	GF_Node *metadata;	/*exposedField*/
1217 } X_MultiTexture;
1218 
1219 
1220 typedef struct _tagX3DMultiTextureCoordinate
1221 {
1222 	BASE_NODE
1223 	GF_ChildNodeItem *texCoord;	/*MultiTextureCoordinate*/
1224 	GF_Node *metadata;	/*exposedField*/
1225 } X_MultiTextureCoordinate;
1226 
1227 
1228 typedef struct _tagX3DMultiTextureTransform
1229 {
1230 	BASE_NODE
1231 	GF_ChildNodeItem *textureTransform;	/*exposedField*/
1232 	GF_Node *metadata;	/*exposedField*/
1233 } X_MultiTextureTransform;
1234 
1235 
1236 typedef struct _tagX3DNavigationInfo
1237 {
1238 	BASE_NODE
1239 	SFBool set_bind;	/*eventIn*/
1240 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1241 	MFFloat avatarSize;	/*exposedField*/
1242 	SFBool headlight;	/*exposedField*/
1243 	SFFloat speed;	/*exposedField*/
1244 	MFString type;	/*exposedField*/
1245 	SFFloat visibilityLimit;	/*exposedField*/
1246 	SFBool isBound;	/*eventOut*/
1247 	GF_Node *metadata;	/*exposedField*/
1248 	MFString transitionType;	/*exposedField*/
1249 	SFTime bindTime;	/*eventOut*/
1250 } X_NavigationInfo;
1251 
1252 
1253 typedef struct _tagX3DNormal
1254 {
1255 	BASE_NODE
1256 	MFVec3f vector;	/*exposedField*/
1257 	GF_Node *metadata;	/*exposedField*/
1258 } X_Normal;
1259 
1260 
1261 typedef struct _tagX3DNormalInterpolator
1262 {
1263 	BASE_NODE
1264 	SFFloat set_fraction;	/*eventIn*/
1265 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1266 	MFFloat key;	/*exposedField*/
1267 	MFVec3f keyValue;	/*exposedField*/
1268 	MFVec3f value_changed;	/*eventOut*/
1269 	GF_Node *metadata;	/*exposedField*/
1270 } X_NormalInterpolator;
1271 
1272 
1273 typedef struct _tagX3DNurbsCurve
1274 {
1275 	BASE_NODE
1276 	MFVec3f controlPoint;	/*exposedField*/
1277 	SFInt32 tessellation;	/*exposedField*/
1278 	MFDouble weight;	/*exposedField*/
1279 	SFBool closed;	/*field*/
1280 	MFFloat knot;	/*field*/
1281 	SFInt32 order;	/*field*/
1282 	GF_Node *metadata;	/*exposedField*/
1283 } X_NurbsCurve;
1284 
1285 
1286 typedef struct _tagX3DNurbsCurve2D
1287 {
1288 	BASE_NODE
1289 	MFVec2f controlPoint;	/*exposedField*/
1290 	SFInt32 tessellation;	/*exposedField*/
1291 	MFFloat weight;	/*exposedField*/
1292 	MFFloat knot;	/*field*/
1293 	SFInt32 order;	/*field*/
1294 	SFBool closed;	/*field*/
1295 	GF_Node *metadata;	/*exposedField*/
1296 } X_NurbsCurve2D;
1297 
1298 
1299 typedef struct _tagX3DNurbsOrientationInterpolator
1300 {
1301 	BASE_NODE
1302 	SFFloat set_fraction;	/*eventIn*/
1303 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1304 	GF_Node *controlPoints;	/*exposedField*/
1305 	MFDouble knot;	/*exposedField*/
1306 	SFInt32 order;	/*exposedField*/
1307 	MFDouble weight;	/*exposedField*/
1308 	SFRotation value_changed;	/*eventOut*/
1309 	GF_Node *metadata;	/*exposedField*/
1310 } X_NurbsOrientationInterpolator;
1311 
1312 
1313 typedef struct _tagX3DNurbsPatchSurface
1314 {
1315 	BASE_NODE
1316 	GF_Node *controlPoint;	/*exposedField*/
1317 	GF_Node *texCoord;	/*exposedField*/
1318 	SFInt32 uTessellation;	/*exposedField*/
1319 	SFInt32 vTessellation;	/*exposedField*/
1320 	MFDouble weight;	/*exposedField*/
1321 	SFBool solid;	/*field*/
1322 	SFBool uClosed;	/*field*/
1323 	SFInt32 uDimension;	/*field*/
1324 	MFDouble uKnot;	/*field*/
1325 	SFInt32 uOrder;	/*field*/
1326 	SFBool vClosed;	/*field*/
1327 	SFInt32 vDimension;	/*field*/
1328 	MFDouble vKnot;	/*field*/
1329 	SFInt32 vOrder;	/*field*/
1330 	GF_Node *metadata;	/*exposedField*/
1331 } X_NurbsPatchSurface;
1332 
1333 
1334 typedef struct _tagX3DNurbsPositionInterpolator
1335 {
1336 	BASE_NODE
1337 	SFFloat set_fraction;	/*eventIn*/
1338 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1339 	GF_Node *controlPoints;	/*exposedField*/
1340 	MFDouble knot;	/*exposedField*/
1341 	SFInt32 order;	/*exposedField*/
1342 	MFDouble weight;	/*exposedField*/
1343 	SFVec3f value_changed;	/*eventOut*/
1344 	GF_Node *metadata;	/*exposedField*/
1345 } X_NurbsPositionInterpolator;
1346 
1347 
1348 typedef struct _tagX3DNurbsSet
1349 {
1350 	BASE_NODE
1351 	GF_ChildNodeItem *addGeometry;	/*eventIn*/
1352 	void (*on_addGeometry)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1353 	GF_ChildNodeItem *removeGeometry;	/*eventIn*/
1354 	void (*on_removeGeometry)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1355 	GF_ChildNodeItem *geometry;	/*exposedField*/
1356 	SFFloat tessellationScale;	/*exposedField*/
1357 	GF_Node *metadata;	/*exposedField*/
1358 } X_NurbsSet;
1359 
1360 
1361 typedef struct _tagX3DNurbsSurfaceInterpolator
1362 {
1363 	BASE_NODE
1364 	SFVec2f set_fraction;	/*eventIn*/
1365 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1366 	GF_Node *controlPoints;	/*exposedField*/
1367 	MFDouble weight;	/*exposedField*/
1368 	SFVec3f position_changed;	/*eventOut*/
1369 	SFVec3f normal_changed;	/*eventOut*/
1370 	SFInt32 uDimension;	/*field*/
1371 	MFDouble uKnot;	/*field*/
1372 	SFInt32 uOrder;	/*field*/
1373 	SFInt32 vDimension;	/*field*/
1374 	MFDouble vKnot;	/*field*/
1375 	SFInt32 vOrder;	/*field*/
1376 	GF_Node *metadata;	/*exposedField*/
1377 } X_NurbsSurfaceInterpolator;
1378 
1379 
1380 typedef struct _tagX3DNurbsSweptSurface
1381 {
1382 	BASE_NODE
1383 	GF_Node *crossSectionCurve;	/*exposedField*/
1384 	GF_Node *trajectoryCurve;	/*exposedField*/
1385 	SFBool ccw;	/*field*/
1386 	SFBool solid;	/*field*/
1387 	GF_Node *metadata;	/*exposedField*/
1388 } X_NurbsSweptSurface;
1389 
1390 
1391 typedef struct _tagX3DNurbsSwungSurface
1392 {
1393 	BASE_NODE
1394 	GF_Node *profileCurve;	/*exposedField*/
1395 	GF_Node *trajectoryCurve;	/*exposedField*/
1396 	SFBool ccw;	/*field*/
1397 	SFBool solid;	/*field*/
1398 	GF_Node *metadata;	/*exposedField*/
1399 } X_NurbsSwungSurface;
1400 
1401 
1402 typedef struct _tagX3DNurbsTextureCoordinate
1403 {
1404 	BASE_NODE
1405 	MFVec2f controlPoint;	/*exposedField*/
1406 	MFFloat weight;	/*exposedField*/
1407 	SFInt32 uDimension;	/*field*/
1408 	MFDouble uKnot;	/*field*/
1409 	SFInt32 uOrder;	/*field*/
1410 	SFInt32 vDimension;	/*field*/
1411 	MFDouble vKnot;	/*field*/
1412 	SFInt32 vOrder;	/*field*/
1413 	GF_Node *metadata;	/*exposedField*/
1414 } X_NurbsTextureCoordinate;
1415 
1416 
1417 typedef struct _tagX3DNurbsTrimmedSurface
1418 {
1419 	BASE_NODE
1420 	GF_ChildNodeItem *addTrimmingContour;	/*eventIn*/
1421 	void (*on_addTrimmingContour)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1422 	GF_ChildNodeItem *removeTrimmingContour;	/*eventIn*/
1423 	void (*on_removeTrimmingContour)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1424 	GF_ChildNodeItem *trimmingContour;	/*exposedField*/
1425 	GF_Node *controlPoint;	/*exposedField*/
1426 	GF_Node *texCoord;	/*exposedField*/
1427 	SFInt32 uTessellation;	/*exposedField*/
1428 	SFInt32 vTessellation;	/*exposedField*/
1429 	MFDouble weight;	/*exposedField*/
1430 	SFBool solid;	/*field*/
1431 	SFBool uClosed;	/*field*/
1432 	SFInt32 uDimension;	/*field*/
1433 	MFDouble uKnot;	/*field*/
1434 	SFInt32 uOrder;	/*field*/
1435 	SFBool vClosed;	/*field*/
1436 	SFInt32 vDimension;	/*field*/
1437 	MFDouble vKnot;	/*field*/
1438 	SFInt32 vOrder;	/*field*/
1439 	GF_Node *metadata;	/*exposedField*/
1440 } X_NurbsTrimmedSurface;
1441 
1442 
1443 typedef struct _tagX3DOrientationInterpolator
1444 {
1445 	BASE_NODE
1446 	SFFloat set_fraction;	/*eventIn*/
1447 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1448 	MFFloat key;	/*exposedField*/
1449 	MFRotation keyValue;	/*exposedField*/
1450 	SFRotation value_changed;	/*eventOut*/
1451 	GF_Node *metadata;	/*exposedField*/
1452 } X_OrientationInterpolator;
1453 
1454 
1455 typedef struct _tagX3DPixelTexture
1456 {
1457 	BASE_NODE
1458 	SFImage image;	/*exposedField*/
1459 	SFBool repeatS;	/*field*/
1460 	SFBool repeatT;	/*field*/
1461 	GF_Node *metadata;	/*exposedField*/
1462 } X_PixelTexture;
1463 
1464 
1465 typedef struct _tagX3DPlaneSensor
1466 {
1467 	BASE_NODE
1468 	SFBool autoOffset;	/*exposedField*/
1469 	SFBool enabled;	/*exposedField*/
1470 	SFVec2f maxPosition;	/*exposedField*/
1471 	SFVec2f minPosition;	/*exposedField*/
1472 	SFVec3f offset;	/*exposedField*/
1473 	SFBool isActive;	/*eventOut*/
1474 	SFVec3f trackPoint_changed;	/*eventOut*/
1475 	SFVec3f translation_changed;	/*eventOut*/
1476 	GF_Node *metadata;	/*exposedField*/
1477 	SFString description;	/*exposedField*/
1478 	SFBool isOver;	/*eventOut*/
1479 } X_PlaneSensor;
1480 
1481 
1482 typedef struct _tagX3DPointLight
1483 {
1484 	BASE_NODE
1485 	SFFloat ambientIntensity;	/*exposedField*/
1486 	SFVec3f attenuation;	/*exposedField*/
1487 	SFColor color;	/*exposedField*/
1488 	SFFloat intensity;	/*exposedField*/
1489 	SFVec3f location;	/*exposedField*/
1490 	SFBool on;	/*exposedField*/
1491 	SFFloat radius;	/*exposedField*/
1492 	GF_Node *metadata;	/*exposedField*/
1493 } X_PointLight;
1494 
1495 
1496 typedef struct _tagX3DPointSet
1497 {
1498 	BASE_NODE
1499 	GF_Node *color;	/*exposedField*/
1500 	GF_Node *coord;	/*exposedField*/
1501 	GF_Node *metadata;	/*exposedField*/
1502 } X_PointSet;
1503 
1504 
1505 typedef struct _tagX3DPolyline2D
1506 {
1507 	BASE_NODE
1508 	MFVec2f lineSegments;	/*exposedField*/
1509 	GF_Node *metadata;	/*exposedField*/
1510 } X_Polyline2D;
1511 
1512 
1513 typedef struct _tagX3DPolypoint2D
1514 {
1515 	BASE_NODE
1516 	MFVec2f point;	/*exposedField*/
1517 	GF_Node *metadata;	/*exposedField*/
1518 } X_Polypoint2D;
1519 
1520 
1521 typedef struct _tagX3DPositionInterpolator
1522 {
1523 	BASE_NODE
1524 	SFFloat set_fraction;	/*eventIn*/
1525 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1526 	MFFloat key;	/*exposedField*/
1527 	MFVec3f keyValue;	/*exposedField*/
1528 	SFVec3f value_changed;	/*eventOut*/
1529 	GF_Node *metadata;	/*exposedField*/
1530 } X_PositionInterpolator;
1531 
1532 
1533 typedef struct _tagX3DPositionInterpolator2D
1534 {
1535 	BASE_NODE
1536 	SFFloat set_fraction;	/*eventIn*/
1537 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1538 	MFFloat key;	/*exposedField*/
1539 	MFVec2f keyValue;	/*exposedField*/
1540 	SFVec2f value_changed;	/*eventOut*/
1541 	GF_Node *metadata;	/*exposedField*/
1542 } X_PositionInterpolator2D;
1543 
1544 
1545 typedef struct _tagX3DProximitySensor
1546 {
1547 	BASE_NODE
1548 	SFVec3f center;	/*exposedField*/
1549 	SFVec3f size;	/*exposedField*/
1550 	SFBool enabled;	/*exposedField*/
1551 	SFBool isActive;	/*eventOut*/
1552 	SFVec3f position_changed;	/*eventOut*/
1553 	SFRotation orientation_changed;	/*eventOut*/
1554 	SFTime enterTime;	/*eventOut*/
1555 	SFTime exitTime;	/*eventOut*/
1556 	GF_Node *metadata;	/*exposedField*/
1557 	SFVec3f centerOfRotation_changed;	/*eventOut*/
1558 } X_ProximitySensor;
1559 
1560 
1561 typedef struct _tagX3DReceiverPdu
1562 {
1563 	BASE_NODE
1564 	SFString address;	/*exposedField*/
1565 	SFInt32 applicationID;	/*exposedField*/
1566 	SFInt32 entityID;	/*exposedField*/
1567 	SFString multicastRelayHost;	/*exposedField*/
1568 	SFInt32 multicastRelayPort;	/*exposedField*/
1569 	SFString networkMode;	/*exposedField*/
1570 	SFInt32 port;	/*exposedField*/
1571 	SFInt32 radioID;	/*exposedField*/
1572 	SFFloat readInterval;	/*exposedField*/
1573 	SFFloat receivedPower;	/*exposedField*/
1574 	SFInt32 receiverState;	/*exposedField*/
1575 	SFBool rtpHeaderExpected;	/*exposedField*/
1576 	SFInt32 siteID;	/*exposedField*/
1577 	SFInt32 transmitterApplicationID;	/*exposedField*/
1578 	SFInt32 transmitterEntityID;	/*exposedField*/
1579 	SFInt32 transmitterRadioID;	/*exposedField*/
1580 	SFInt32 transmitterSiteID;	/*exposedField*/
1581 	SFInt32 whichGeometry;	/*exposedField*/
1582 	SFFloat writeInterval;	/*exposedField*/
1583 	SFBool isActive;	/*eventOut*/
1584 	SFBool isNetworkReader;	/*eventOut*/
1585 	SFBool isNetworkWriter;	/*eventOut*/
1586 	SFBool isRtpHeaderHeard;	/*eventOut*/
1587 	SFBool isStandAlone;	/*eventOut*/
1588 	SFTime timestamp;	/*eventOut*/
1589 	GF_Node *metadata;	/*exposedField*/
1590 } X_ReceiverPdu;
1591 
1592 
1593 typedef struct _tagX3DRectangle2D
1594 {
1595 	BASE_NODE
1596 	SFVec2f size;	/*field*/
1597 	GF_Node *metadata;	/*exposedField*/
1598 } X_Rectangle2D;
1599 
1600 
1601 typedef struct _tagX3DScalarInterpolator
1602 {
1603 	BASE_NODE
1604 	SFFloat set_fraction;	/*eventIn*/
1605 	void (*on_set_fraction)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1606 	MFFloat key;	/*exposedField*/
1607 	MFFloat keyValue;	/*exposedField*/
1608 	SFFloat value_changed;	/*eventOut*/
1609 	GF_Node *metadata;	/*exposedField*/
1610 } X_ScalarInterpolator;
1611 
1612 
1613 typedef struct _tagX3DScript
1614 {
1615 	BASE_NODE
1616 	MFScript url;	/*exposedField*/
1617 	SFBool directOutput;	/*field*/
1618 	SFBool mustEvaluate;	/*field*/
1619 	GF_Node *metadata;	/*exposedField*/
1620 } X_Script;
1621 
1622 
1623 typedef struct _tagX3DShape
1624 {
1625 	BASE_NODE
1626 	GF_Node *appearance;	/*exposedField*/
1627 	GF_Node *geometry;	/*exposedField*/
1628 	GF_Node *metadata;	/*exposedField*/
1629 } X_Shape;
1630 
1631 
1632 typedef struct _tagX3DSignalPdu
1633 {
1634 	BASE_NODE
1635 	SFString address;	/*exposedField*/
1636 	SFInt32 applicationID;	/*exposedField*/
1637 	MFInt32 data;	/*exposedField*/
1638 	SFInt32 dataLength;	/*exposedField*/
1639 	SFInt32 encodingScheme;	/*exposedField*/
1640 	SFInt32 entityID;	/*exposedField*/
1641 	SFString multicastRelayHost;	/*exposedField*/
1642 	SFInt32 multicastRelayPort;	/*exposedField*/
1643 	SFString networkMode;	/*exposedField*/
1644 	SFInt32 port;	/*exposedField*/
1645 	SFInt32 radioID;	/*exposedField*/
1646 	SFFloat readInterval;	/*exposedField*/
1647 	SFBool rtpHeaderExpected;	/*exposedField*/
1648 	SFInt32 sampleRate;	/*exposedField*/
1649 	SFInt32 samples;	/*exposedField*/
1650 	SFInt32 siteID;	/*exposedField*/
1651 	SFInt32 tdlType;	/*exposedField*/
1652 	SFInt32 whichGeometry;	/*exposedField*/
1653 	SFFloat writeInterval;	/*exposedField*/
1654 	SFBool isActive;	/*eventOut*/
1655 	SFBool isNetworkReader;	/*eventOut*/
1656 	SFBool isNetworkWriter;	/*eventOut*/
1657 	SFBool isRtpHeaderHeard;	/*eventOut*/
1658 	SFBool isStandAlone;	/*eventOut*/
1659 	SFTime timestamp;	/*eventOut*/
1660 	GF_Node *metadata;	/*exposedField*/
1661 } X_SignalPdu;
1662 
1663 
1664 typedef struct _tagX3DSound
1665 {
1666 	BASE_NODE
1667 	SFVec3f direction;	/*exposedField*/
1668 	SFFloat intensity;	/*exposedField*/
1669 	SFVec3f location;	/*exposedField*/
1670 	SFFloat maxBack;	/*exposedField*/
1671 	SFFloat maxFront;	/*exposedField*/
1672 	SFFloat minBack;	/*exposedField*/
1673 	SFFloat minFront;	/*exposedField*/
1674 	SFFloat priority;	/*exposedField*/
1675 	GF_Node *source;	/*exposedField*/
1676 	SFBool spatialize;	/*field*/
1677 	GF_Node *metadata;	/*exposedField*/
1678 } X_Sound;
1679 
1680 
1681 typedef struct _tagX3DSphere
1682 {
1683 	BASE_NODE
1684 	SFFloat radius;	/*field*/
1685 	GF_Node *metadata;	/*exposedField*/
1686 } X_Sphere;
1687 
1688 
1689 typedef struct _tagX3DSphereSensor
1690 {
1691 	BASE_NODE
1692 	SFBool autoOffset;	/*exposedField*/
1693 	SFBool enabled;	/*exposedField*/
1694 	SFRotation offset;	/*exposedField*/
1695 	SFBool isActive;	/*eventOut*/
1696 	SFRotation rotation_changed;	/*eventOut*/
1697 	SFVec3f trackPoint_changed;	/*eventOut*/
1698 	GF_Node *metadata;	/*exposedField*/
1699 	SFString description;	/*exposedField*/
1700 	SFBool isOver;	/*eventOut*/
1701 } X_SphereSensor;
1702 
1703 
1704 typedef struct _tagX3DSpotLight
1705 {
1706 	BASE_NODE
1707 	SFFloat ambientIntensity;	/*exposedField*/
1708 	SFVec3f attenuation;	/*exposedField*/
1709 	SFFloat beamWidth;	/*exposedField*/
1710 	SFColor color;	/*exposedField*/
1711 	SFFloat cutOffAngle;	/*exposedField*/
1712 	SFVec3f direction;	/*exposedField*/
1713 	SFFloat intensity;	/*exposedField*/
1714 	SFVec3f location;	/*exposedField*/
1715 	SFBool on;	/*exposedField*/
1716 	SFFloat radius;	/*exposedField*/
1717 	GF_Node *metadata;	/*exposedField*/
1718 } X_SpotLight;
1719 
1720 
1721 typedef struct _tagX3DStaticGroup
1722 {
1723 	BASE_NODE
1724 	VRML_CHILDREN
1725 	GF_Node *metadata;	/*exposedField*/
1726 } X_StaticGroup;
1727 
1728 
1729 typedef struct _tagX3DStringSensor
1730 {
1731 	BASE_NODE
1732 	SFBool deletionAllowed;	/*exposedField*/
1733 	SFBool enabled;	/*exposedField*/
1734 	SFString enteredText;	/*eventOut*/
1735 	SFString finalText;	/*eventOut*/
1736 	SFBool isActive;	/*eventOut*/
1737 	GF_Node *metadata;	/*exposedField*/
1738 } X_StringSensor;
1739 
1740 
1741 typedef struct _tagX3DSwitch
1742 {
1743 	BASE_NODE
1744 	VRML_CHILDREN
1745 	SFInt32 whichChoice;	/*exposedField*/
1746 	GF_Node *metadata;	/*exposedField*/
1747 } X_Switch;
1748 
1749 
1750 typedef struct _tagX3DText
1751 {
1752 	BASE_NODE
1753 	MFString string;	/*exposedField*/
1754 	MFFloat length;	/*exposedField*/
1755 	GF_Node *fontStyle;	/*exposedField*/
1756 	SFFloat maxExtent;	/*exposedField*/
1757 	GF_Node *metadata;	/*exposedField*/
1758 } X_Text;
1759 
1760 
1761 typedef struct _tagX3DTextureBackground
1762 {
1763 	BASE_NODE
1764 	SFBool set_bind;	/*eventIn*/
1765 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1766 	MFFloat groundAngle;	/*exposedField*/
1767 	MFColor groundColor;	/*exposedField*/
1768 	GF_Node *backTexture;	/*exposedField*/
1769 	GF_Node *bottomTexture;	/*exposedField*/
1770 	GF_Node *frontTexture;	/*exposedField*/
1771 	GF_Node *leftTexture;	/*exposedField*/
1772 	GF_Node *rightTexture;	/*exposedField*/
1773 	GF_Node *topTexture;	/*exposedField*/
1774 	MFFloat skyAngle;	/*exposedField*/
1775 	MFColor skyColor;	/*exposedField*/
1776 	MFFloat transparency;	/*exposedField*/
1777 	SFTime bindTime;	/*exposedField*/
1778 	SFBool isBound;	/*exposedField*/
1779 	GF_Node *metadata;	/*exposedField*/
1780 } X_TextureBackground;
1781 
1782 
1783 typedef struct _tagX3DTextureCoordinate
1784 {
1785 	BASE_NODE
1786 	MFVec2f point;	/*exposedField*/
1787 	GF_Node *metadata;	/*exposedField*/
1788 } X_TextureCoordinate;
1789 
1790 
1791 typedef struct _tagX3DTextureCoordinateGenerator
1792 {
1793 	BASE_NODE
1794 	SFString mode;	/*exposedField*/
1795 	MFFloat parameter;	/*TextureCoordinateGenerator*/
1796 	GF_Node *metadata;	/*exposedField*/
1797 } X_TextureCoordinateGenerator;
1798 
1799 
1800 typedef struct _tagX3DTextureTransform
1801 {
1802 	BASE_NODE
1803 	SFVec2f center;	/*exposedField*/
1804 	SFFloat rotation;	/*exposedField*/
1805 	SFVec2f scale;	/*exposedField*/
1806 	SFVec2f translation;	/*exposedField*/
1807 	GF_Node *metadata;	/*exposedField*/
1808 } X_TextureTransform;
1809 
1810 
1811 typedef struct _tagX3DTimeSensor
1812 {
1813 	BASE_NODE
1814 	SFTime cycleInterval;	/*exposedField*/
1815 	SFBool enabled;	/*exposedField*/
1816 	SFBool loop;	/*exposedField*/
1817 	SFTime startTime;	/*exposedField*/
1818 	SFTime stopTime;	/*exposedField*/
1819 	SFTime cycleTime;	/*eventOut*/
1820 	SFFloat fraction_changed;	/*eventOut*/
1821 	SFBool isActive;	/*eventOut*/
1822 	SFTime time;	/*eventOut*/
1823 	GF_Node *metadata;	/*exposedField*/
1824 	SFTime pauseTime;	/*exposedField*/
1825 	SFTime resumeTime;	/*exposedField*/
1826 	SFTime elapsedTime;	/*eventOut*/
1827 	SFBool isPaused;	/*eventOut*/
1828 } X_TimeSensor;
1829 
1830 
1831 typedef struct _tagX3DTimeTrigger
1832 {
1833 	BASE_NODE
1834 	SFBool set_boolean;	/*eventIn*/
1835 	void (*on_set_boolean)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1836 	SFTime triggerTime;	/*eventOut*/
1837 	GF_Node *metadata;	/*exposedField*/
1838 } X_TimeTrigger;
1839 
1840 
1841 typedef struct _tagX3DTouchSensor
1842 {
1843 	BASE_NODE
1844 	SFBool enabled;	/*exposedField*/
1845 	SFVec3f hitNormal_changed;	/*eventOut*/
1846 	SFVec3f hitPoint_changed;	/*eventOut*/
1847 	SFVec2f hitTexCoord_changed;	/*eventOut*/
1848 	SFBool isActive;	/*eventOut*/
1849 	SFBool isOver;	/*eventOut*/
1850 	SFTime touchTime;	/*eventOut*/
1851 	GF_Node *metadata;	/*exposedField*/
1852 	SFString description;	/*exposedField*/
1853 } X_TouchSensor;
1854 
1855 
1856 typedef struct _tagX3DTransform
1857 {
1858 	BASE_NODE
1859 	VRML_CHILDREN
1860 	SFVec3f center;	/*exposedField*/
1861 	SFRotation rotation;	/*exposedField*/
1862 	SFVec3f scale;	/*exposedField*/
1863 	SFRotation scaleOrientation;	/*exposedField*/
1864 	SFVec3f translation;	/*exposedField*/
1865 	GF_Node *metadata;	/*exposedField*/
1866 } X_Transform;
1867 
1868 
1869 typedef struct _tagX3DTransmitterPdu
1870 {
1871 	BASE_NODE
1872 	SFString address;	/*exposedField*/
1873 	SFVec3f antennaLocation;	/*exposedField*/
1874 	SFInt32 antennaPatternLength;	/*exposedField*/
1875 	SFInt32 antennaPatternType;	/*exposedField*/
1876 	SFInt32 applicationID;	/*exposedField*/
1877 	SFInt32 cryptoKeyID;	/*exposedField*/
1878 	SFInt32 cryptoSystem;	/*exposedField*/
1879 	SFInt32 entityID;	/*exposedField*/
1880 	SFInt32 frequency;	/*exposedField*/
1881 	SFInt32 inputSource;	/*exposedField*/
1882 	SFInt32 lengthOfModulationParameters;	/*exposedField*/
1883 	SFInt32 modulationTypeDetail;	/*exposedField*/
1884 	SFInt32 modulationTypeMajor;	/*exposedField*/
1885 	SFInt32 modulationTypeSpreadSpectrum;	/*exposedField*/
1886 	SFInt32 modulationTypeSystem;	/*exposedField*/
1887 	SFString multicastRelayHost;	/*exposedField*/
1888 	SFInt32 multicastRelayPort;	/*exposedField*/
1889 	SFString networkMode;	/*exposedField*/
1890 	SFInt32 port;	/*exposedField*/
1891 	SFFloat power;	/*exposedField*/
1892 	SFInt32 radioEntityTypeCategory;	/*exposedField*/
1893 	SFInt32 radioEntityTypeCountry;	/*exposedField*/
1894 	SFInt32 radioEntityTypeDomain;	/*exposedField*/
1895 	SFInt32 radioEntityTypeKind;	/*exposedField*/
1896 	SFInt32 radioEntityTypeNomenclature;	/*exposedField*/
1897 	SFInt32 radioEntityTypeNomenclatureVersion;	/*exposedField*/
1898 	SFInt32 radioID;	/*exposedField*/
1899 	SFFloat readInterval;	/*exposedField*/
1900 	SFVec3f relativeAntennaLocation;	/*exposedField*/
1901 	SFBool rtpHeaderExpected;	/*exposedField*/
1902 	SFInt32 siteID;	/*exposedField*/
1903 	SFFloat transmitFrequencyBandwidth;	/*exposedField*/
1904 	SFInt32 transmitState;	/*exposedField*/
1905 	SFInt32 whichGeometry;	/*exposedField*/
1906 	SFFloat writeInterval;	/*exposedField*/
1907 	SFBool isActive;	/*eventOut*/
1908 	SFBool isNetworkReader;	/*eventOut*/
1909 	SFBool isNetworkWriter;	/*eventOut*/
1910 	SFBool isRtpHeaderHeard;	/*eventOut*/
1911 	SFBool isStandAlone;	/*eventOut*/
1912 	SFTime timestamp;	/*eventOut*/
1913 	GF_Node *metadata;	/*exposedField*/
1914 } X_TransmitterPdu;
1915 
1916 
1917 typedef struct _tagX3DTriangleFanSet
1918 {
1919 	BASE_NODE
1920 	GF_Node *color;	/*exposedField*/
1921 	GF_Node *coord;	/*exposedField*/
1922 	MFInt32 fanCount;	/*exposedField*/
1923 	GF_Node *normal;	/*exposedField*/
1924 	GF_Node *texCoord;	/*exposedField*/
1925 	SFBool ccw;	/*field*/
1926 	SFBool colorPerVertex;	/*field*/
1927 	SFBool normalPerVertex;	/*field*/
1928 	SFBool solid;	/*field*/
1929 	GF_Node *metadata;	/*exposedField*/
1930 } X_TriangleFanSet;
1931 
1932 
1933 typedef struct _tagX3DTriangleSet
1934 {
1935 	BASE_NODE
1936 	GF_Node *color;	/*exposedField*/
1937 	GF_Node *coord;	/*exposedField*/
1938 	GF_Node *normal;	/*exposedField*/
1939 	GF_Node *texCoord;	/*exposedField*/
1940 	SFBool ccw;	/*field*/
1941 	SFBool colorPerVertex;	/*field*/
1942 	SFBool normalPerVertex;	/*field*/
1943 	SFBool solid;	/*field*/
1944 	GF_Node *metadata;	/*exposedField*/
1945 } X_TriangleSet;
1946 
1947 
1948 typedef struct _tagX3DTriangleSet2D
1949 {
1950 	BASE_NODE
1951 	MFVec2f vertices;	/*exposedField*/
1952 	GF_Node *metadata;	/*exposedField*/
1953 } X_TriangleSet2D;
1954 
1955 
1956 typedef struct _tagX3DTriangleStripSet
1957 {
1958 	BASE_NODE
1959 	GF_Node *color;	/*exposedField*/
1960 	GF_Node *coord;	/*exposedField*/
1961 	GF_Node *normal;	/*exposedField*/
1962 	MFInt32 stripCount;	/*exposedField*/
1963 	GF_Node *texCoord;	/*exposedField*/
1964 	SFBool ccw;	/*field*/
1965 	SFBool colorPerVertex;	/*field*/
1966 	SFBool normalPerVertex;	/*field*/
1967 	SFBool solid;	/*field*/
1968 	GF_Node *metadata;	/*exposedField*/
1969 } X_TriangleStripSet;
1970 
1971 
1972 typedef struct _tagX3DViewpoint
1973 {
1974 	BASE_NODE
1975 	SFBool set_bind;	/*eventIn*/
1976 	void (*on_set_bind)(GF_Node *pThis, struct _route *route);	/*eventInHandler*/
1977 	SFFloat fieldOfView;	/*exposedField*/
1978 	SFBool jump;	/*exposedField*/
1979 	SFRotation orientation;	/*exposedField*/
1980 	SFVec3f position;	/*exposedField*/
1981 	SFString description;	/*field*/
1982 	SFTime bindTime;	/*eventOut*/
1983 	SFBool isBound;	/*eventOut*/
1984 	GF_Node *metadata;	/*exposedField*/
1985 	SFVec3f centerOfRotation;	/*exposedField*/
1986 } X_Viewpoint;
1987 
1988 
1989 typedef struct _tagX3DVisibilitySensor
1990 {
1991 	BASE_NODE
1992 	SFVec3f center;	/*exposedField*/
1993 	SFBool enabled;	/*exposedField*/
1994 	SFVec3f size;	/*exposedField*/
1995 	SFTime enterTime;	/*eventOut*/
1996 	SFTime exitTime;	/*eventOut*/
1997 	SFBool isActive;	/*eventOut*/
1998 	GF_Node *metadata;	/*exposedField*/
1999 } X_VisibilitySensor;
2000 
2001 
2002 typedef struct _tagX3DWorldInfo
2003 {
2004 	BASE_NODE
2005 	MFString info;	/*field*/
2006 	SFString title;	/*field*/
2007 	GF_Node *metadata;	/*exposedField*/
2008 } X_WorldInfo;
2009 
2010 
2011 #endif /*GPAC_DISABLE_X3D*/
2012 
2013 #ifdef __cplusplus
2014 }
2015 #endif
2016 
2017 
2018 
2019 #endif		/*_GF_X3D_NODES_H*/
2020 
2021