/*
  $Id: Structs.h,v 1.127 2011/10/27 18:51:32 crc_canada Exp $

  Structs.h: generated by VRMLC.pm. DO NOT MODIFY, MODIFY VRMLC.pm INSTEAD.

  Code here comes almost verbatim from VRMLC.pm

*/

/****************************************************************************
    This file is part of the FreeWRL/FreeX3D Distribution.

    Copyright 2009 CRC Canada. (http://www.crc.gc.ca)

    FreeWRL/FreeX3D is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    FreeWRL/FreeX3D is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with FreeWRL/FreeX3D.  If not, see <http://www.gnu.org/licenses/>.
****************************************************************************/



#ifndef __FREEWRL_STRUCTS_H__
#define __FREEWRL_STRUCTS_H__


struct point_XYZ {GLDOUBLE x,y,z;};
struct orient_XYZA {GLDOUBLE x,y,z,a;};

struct X3D_Virt {
	void (*prep)(void *);
	void (*rend)(void *);
	void (*children)(void *);
	void (*fin)(void *);
	void (*rendray)(void *);
	void (*mkpolyrep)(void *);
	void (*proximity)(void *);
	void (*other)(void *);
	void (*collision)(void *);
	void (*compile)(void *, void *, void *, void *, void *);
};

/* a string is stored as a pointer, and a length of that mallocd pointer */
struct Uni_String {
	int len;
	char * strptr;
	int touched;
};

/* Internal representation of IndexedFaceSet, Text, Extrusion & ElevationGrid:
 * set of triangles.
 * done so that we get rid of concave polygons etc.
 */
struct X3D_PolyRep { /* Currently a bit wasteful, because copying */
	int irep_change;
	int ccw;	/* ccw field for single faced structures */
	int ntri; /* number of triangles */
	int streamed;	/* is this done the streaming pass? */
	int alloc_tri; /* number of allocated triangles */

	/* indicies for arrays. OpenGL ES 2.0 - unsigned short for the DrawArrays call */
	GLuint *cindex;   /* triples (per triangle) */
	GLuint *colindex;   /* triples (per triangle) */
	GLuint *norindex;
        GLuint *tcindex; /* triples or null */

	float *actualCoord; /* triples (per point) */
	float *color; /* triples or null */
	float *normal; /* triples or null */
        float *GeneratedTexCoords;	/* triples (per triangle) of texture coords if there is no texCoord node */
	int tcoordtype; /* type of texture coord node - is this a NODE_TextureCoordGenerator... */
	GLfloat minVals[3];		/* for collision and default texture coord generation */
	GLfloat maxVals[3];		/* for collision and default texture coord generation */
	GLfloat transparency;		/* what the transparency value was during compile, put in color array if RGBA colors */
	int isRGBAcolorNode;		/* color was originally an RGBA, DO NOT re-write if transparency changes */
	GLuint VBO_buffers[VBO_COUNT];		/* VBO indexen */
};

/* viewer dimentions (for collision detection) */
struct sNaviInfo {
        double width;
        double height;
        double step;
};

/* definitions to help scanning values in from a string */ 
#define SCANTONUMBER(value) while (isspace(*value) || (*value==',')) value++; 
#define SCANTOSTRING(value) while (isspace(*value) || (*value==',')) value++; 
#define OLDSCANTOSTRING(value) while ((*value==' ') || (*value==',')) value++; 
#define ISSTARTNUMBER(value) (isdigit(*value) \
		|| (*value == '+') || (*value == '-')) 
#define SCANPASTFLOATNUMBER(value) while (isdigit(*value) \
		|| (*value == '.') || \
		(*value == 'E') || (*value == 'e') || (*value == '+') || (*value == '-')) value++; 
#define SCANPASTINTNUMBER(value) if (isdigit(*value) || (*value == '-') || (*value == '+')) value++; \
		while (isdigit(*value) || \
		(*value == 'x') || (*value == 'X') ||\
		((*value >='a') && (*value <='f')) || \
		((*value >='A') && (*value <='F')) || \
		(*value == '-') || (*value == '+')) value++; 
/* Data type for index into ID-table. */
typedef int indexT;

#define NODE_Anchor	0
#define NODE_Appearance	1
#define NODE_Arc2D	2
#define NODE_ArcClose2D	3
#define NODE_AudioClip	4
#define NODE_Background	5
#define NODE_Billboard	6
#define NODE_BooleanFilter	7
#define NODE_BooleanSequencer	8
#define NODE_BooleanToggle	9
#define NODE_BooleanTrigger	10
#define NODE_Box	11
#define NODE_Circle2D	12
#define NODE_ClipPlane	13
#define NODE_Collision	14
#define NODE_Color	15
#define NODE_ColorInterpolator	16
#define NODE_ColorRGBA	17
#define NODE_ComposedCubeMapTexture	18
#define NODE_ComposedShader	19
#define NODE_Cone	20
#define NODE_Contour2D	21
#define NODE_ContourPolyLine2D	22
#define NODE_Coordinate	23
#define NODE_CoordinateInterpolator	24
#define NODE_CoordinateInterpolator2D	25
#define NODE_Cylinder	26
#define NODE_CylinderSensor	27
#define NODE_DISEntityManager	28
#define NODE_DISEntityTypeMapping	29
#define NODE_DirectionalLight	30
#define NODE_Disk2D	31
#define NODE_EaseInEaseOut	32
#define NODE_ElevationGrid	33
#define NODE_EspduTransform	34
#define NODE_Extrusion	35
#define NODE_FillProperties	36
#define NODE_FloatVertexAttribute	37
#define NODE_Fog	38
#define NODE_FogCoordinate	39
#define NODE_FontStyle	40
#define NODE_GeneratedCubeMapTexture	41
#define NODE_GeoCoordinate	42
#define NODE_GeoElevationGrid	43
#define NODE_GeoLOD	44
#define NODE_GeoLocation	45
#define NODE_GeoMetadata	46
#define NODE_GeoOrigin	47
#define NODE_GeoPositionInterpolator	48
#define NODE_GeoProximitySensor	49
#define NODE_GeoTouchSensor	50
#define NODE_GeoTransform	51
#define NODE_GeoViewpoint	52
#define NODE_Group	53
#define NODE_HAnimDisplacer	54
#define NODE_HAnimHumanoid	55
#define NODE_HAnimJoint	56
#define NODE_HAnimSegment	57
#define NODE_HAnimSite	58
#define NODE_ImageCubeMapTexture	59
#define NODE_ImageTexture	60
#define NODE_IndexedFaceSet	61
#define NODE_IndexedLineSet	62
#define NODE_IndexedTriangleFanSet	63
#define NODE_IndexedTriangleSet	64
#define NODE_IndexedTriangleStripSet	65
#define NODE_Inline	66
#define NODE_IntegerSequencer	67
#define NODE_IntegerTrigger	68
#define NODE_KeySensor	69
#define NODE_LOD	70
#define NODE_LineProperties	71
#define NODE_LineSet	72
#define NODE_LoadSensor	73
#define NODE_LocalFog	74
#define NODE_Material	75
#define NODE_Matrix3VertexAttribute	76
#define NODE_Matrix4VertexAttribute	77
#define NODE_MetadataDouble	78
#define NODE_MetadataFloat	79
#define NODE_MetadataInteger	80
#define NODE_MetadataMFBool	81
#define NODE_MetadataMFColor	82
#define NODE_MetadataMFColorRGBA	83
#define NODE_MetadataMFDouble	84
#define NODE_MetadataMFFloat	85
#define NODE_MetadataMFInt32	86
#define NODE_MetadataMFMatrix3d	87
#define NODE_MetadataMFMatrix3f	88
#define NODE_MetadataMFMatrix4d	89
#define NODE_MetadataMFMatrix4f	90
#define NODE_MetadataMFNode	91
#define NODE_MetadataMFRotation	92
#define NODE_MetadataMFString	93
#define NODE_MetadataMFTime	94
#define NODE_MetadataMFVec2d	95
#define NODE_MetadataMFVec2f	96
#define NODE_MetadataMFVec3d	97
#define NODE_MetadataMFVec3f	98
#define NODE_MetadataMFVec4d	99
#define NODE_MetadataMFVec4f	100
#define NODE_MetadataSFBool	101
#define NODE_MetadataSFColor	102
#define NODE_MetadataSFColorRGBA	103
#define NODE_MetadataSFDouble	104
#define NODE_MetadataSFFloat	105
#define NODE_MetadataSFImage	106
#define NODE_MetadataSFInt32	107
#define NODE_MetadataSFMatrix3d	108
#define NODE_MetadataSFMatrix3f	109
#define NODE_MetadataSFMatrix4d	110
#define NODE_MetadataSFMatrix4f	111
#define NODE_MetadataSFNode	112
#define NODE_MetadataSFRotation	113
#define NODE_MetadataSFString	114
#define NODE_MetadataSFTime	115
#define NODE_MetadataSFVec2d	116
#define NODE_MetadataSFVec2f	117
#define NODE_MetadataSFVec3d	118
#define NODE_MetadataSFVec3f	119
#define NODE_MetadataSFVec4d	120
#define NODE_MetadataSFVec4f	121
#define NODE_MetadataSet	122
#define NODE_MetadataString	123
#define NODE_MovieTexture	124
#define NODE_MultiTexture	125
#define NODE_MultiTextureCoordinate	126
#define NODE_MultiTextureTransform	127
#define NODE_NavigationInfo	128
#define NODE_Normal	129
#define NODE_NormalInterpolator	130
#define NODE_NurbsCurve	131
#define NODE_NurbsCurve2D	132
#define NODE_NurbsGroup	133
#define NODE_NurbsPositionInterpolator	134
#define NODE_NurbsSurface	135
#define NODE_NurbsTextureSurface	136
#define NODE_NurbsTrimmedSurface	137
#define NODE_OSC_Sensor	138
#define NODE_OrientationInterpolator	139
#define NODE_OrthoViewpoint	140
#define NODE_PackagedShader	141
#define NODE_PickableGroup	142
#define NODE_PixelTexture	143
#define NODE_PlaneSensor	144
#define NODE_PointLight	145
#define NODE_PointPickSensor	146
#define NODE_PointSet	147
#define NODE_Polyline2D	148
#define NODE_Polypoint2D	149
#define NODE_PositionInterpolator	150
#define NODE_PositionInterpolator2D	151
#define NODE_ProgramShader	152
#define NODE_ProximitySensor	153
#define NODE_ReceiverPdu	154
#define NODE_Rectangle2D	155
#define NODE_ScalarInterpolator	156
#define NODE_Script	157
#define NODE_ShaderPart	158
#define NODE_ShaderProgram	159
#define NODE_Shape	160
#define NODE_SignalPdu	161
#define NODE_Sound	162
#define NODE_Sphere	163
#define NODE_SphereSensor	164
#define NODE_SplinePositionInterpolator	165
#define NODE_SplinePositionInterpolator2D	166
#define NODE_SplineScalarInterpolator	167
#define NODE_SpotLight	168
#define NODE_SquadOrientationInterpolator	169
#define NODE_StaticGroup	170
#define NODE_StringSensor	171
#define NODE_Switch	172
#define NODE_Text	173
#define NODE_TextureBackground	174
#define NODE_TextureCoordinate	175
#define NODE_TextureCoordinateGenerator	176
#define NODE_TextureProperties	177
#define NODE_TextureTransform	178
#define NODE_TimeSensor	179
#define NODE_TimeTrigger	180
#define NODE_TouchSensor	181
#define NODE_Transform	182
#define NODE_TransmitterPdu	183
#define NODE_TriangleFanSet	184
#define NODE_TriangleSet	185
#define NODE_TriangleSet2D	186
#define NODE_TriangleStripSet	187
#define NODE_TwoSidedMaterial	188
#define NODE_VRML1_AsciiText	189
#define NODE_VRML1_Cone	190
#define NODE_VRML1_Coordinate3	191
#define NODE_VRML1_Cube	192
#define NODE_VRML1_Cylinder	193
#define NODE_VRML1_DirectionalLight	194
#define NODE_VRML1_FontStyle	195
#define NODE_VRML1_IndexedFaceSet	196
#define NODE_VRML1_IndexedLineSet	197
#define NODE_VRML1_Info	198
#define NODE_VRML1_LOD	199
#define NODE_VRML1_Material	200
#define NODE_VRML1_MaterialBinding	201
#define NODE_VRML1_MatrixTransform	202
#define NODE_VRML1_Normal	203
#define NODE_VRML1_NormalBinding	204
#define NODE_VRML1_OrthographicCamera	205
#define NODE_VRML1_PerspectiveCamera	206
#define NODE_VRML1_PointLight	207
#define NODE_VRML1_PointSet	208
#define NODE_VRML1_Rotation	209
#define NODE_VRML1_Scale	210
#define NODE_VRML1_Separator	211
#define NODE_VRML1_ShapeHints	212
#define NODE_VRML1_Sphere	213
#define NODE_VRML1_SpotLight	214
#define NODE_VRML1_Switch	215
#define NODE_VRML1_Texture2	216
#define NODE_VRML1_Texture2Transform	217
#define NODE_VRML1_TextureCoordinate2	218
#define NODE_VRML1_Transform	219
#define NODE_VRML1_Translation	220
#define NODE_VRML1_WWWAnchor	221
#define NODE_VRML1_WWWInline	222
#define NODE_Viewpoint	223
#define NODE_ViewpointGroup	224
#define NODE_VisibilitySensor	225
#define NODE_WorldInfo	226


/* Table of built-in fieldIds */
extern const char *FIELDNAMES[];
extern const int FIELDNAMES_COUNT;
#define FIELDNAMES_wrapS	0
#define FIELDNAMES__sideVBO	1
#define FIELDNAMES__Value	2
#define FIELDNAMES_integerKey	3
#define FIELDNAMES___proxNode	4
#define FIELDNAMES_activate	5
#define FIELDNAMES_rootNode	6
#define FIELDNAMES_munitionSiteID	7
#define FIELDNAMES_modulationTypeMajor	8
#define FIELDNAMES_whichChoice	9
#define FIELDNAMES_load	10
#define FIELDNAMES_textureCoordIndex	11
#define FIELDNAMES_isLoaded	12
#define FIELDNAMES_rotation	13
#define FIELDNAMES_scaleFactor	14
#define FIELDNAMES_toggle	15
#define FIELDNAMES_set_articulationParameterValue7	16
#define FIELDNAMES_set_articulationParameterValue3	17
#define FIELDNAMES_title	18
#define FIELDNAMES_geoGridOrigin	19
#define FIELDNAMES___child4Node	20
#define FIELDNAMES_stripCount	21
#define FIELDNAMES_groundColor	22
#define FIELDNAMES_direction	23
#define FIELDNAMES_previous	24
#define FIELDNAMES_transmitterSiteID	25
#define FIELDNAMES_transmitterRadioID	26
#define FIELDNAMES_detonationResult	27
#define FIELDNAMES_maxPosition	28
#define FIELDNAMES_removeChildren	29
#define FIELDNAMES_skin	30
#define FIELDNAMES_speedFactor	31
#define FIELDNAMES_detonateTime	32
#define FIELDNAMES_entityKind	33
#define FIELDNAMES___shaderObj	34
#define FIELDNAMES_transmitterEntityID	35
#define FIELDNAMES_retainUserOffsets	36
#define FIELDNAMES_vertices	37
#define FIELDNAMES_filename	38
#define FIELDNAMES___children	39
#define FIELDNAMES___do_scale	40
#define FIELDNAMES_left	41
#define FIELDNAMES___sidepoints	42
#define FIELDNAMES_inputTrue	43
#define FIELDNAMES___localFileName	44
#define FIELDNAMES_backAmbientIntensity	45
#define FIELDNAMES_exitTime	46
#define FIELDNAMES_joints	47
#define FIELDNAMES__oldhitNormal	48
#define FIELDNAMES_articulationParameterArray	49
#define FIELDNAMES_deletionAllowed	50
#define FIELDNAMES_translation	51
#define FIELDNAMES_address	52
#define FIELDNAMES___inRange	53
#define FIELDNAMES_articulationParameterValue6_changed	54
#define FIELDNAMES_child2Url	55
#define FIELDNAMES_limitOrientation	56
#define FIELDNAMES_skeleton	57
#define FIELDNAMES___cylinderTriangles	58
#define FIELDNAMES__oldhitPoint	59
#define FIELDNAMES_set_articulationParameterValue1	60
#define FIELDNAMES_type	61
#define FIELDNAMES_writeInterval	62
#define FIELDNAMES_entityID	63
#define FIELDNAMES_fired2	64
#define FIELDNAMES__talkToNodes	65
#define FIELDNAMES__verifiedBackColor	66
#define FIELDNAMES__bboxCenter	67
#define FIELDNAMES_creaseAngle	68
#define FIELDNAMES_triggerTime	69
#define FIELDNAMES_displacers	70
#define FIELDNAMES_isActive	71
#define FIELDNAMES___childloadstatus	72
#define FIELDNAMES_articulationParameterValue2_changed	73
#define FIELDNAMES_bboxCenter	74
#define FIELDNAMES_xDimension	75
#define FIELDNAMES_centerOfMass	76
#define FIELDNAMES_set_orientation	77
#define FIELDNAMES_set_position	78
#define FIELDNAMES_solid	79
#define FIELDNAMES_mode	80
#define FIELDNAMES___textureTableIndex	81
#define FIELDNAMES_map	82
#define FIELDNAMES_isRtpHeaderHeard	83
#define FIELDNAMES_on	84
#define FIELDNAMES_leftUrl	85
#define FIELDNAMES_warhead	86
#define FIELDNAMES___do_anything	87
#define FIELDNAMES_sortOrder	88
#define FIELDNAMES_isOver	89
#define FIELDNAMES_shininess	90
#define FIELDNAMES_texturePriority	91
#define FIELDNAMES_description	92
#define FIELDNAMES__wrapT	93
#define FIELDNAMES_top	94
#define FIELDNAMES_dropOffRate	95
#define FIELDNAMES_outerRadius	96
#define FIELDNAMES_fuse	97
#define FIELDNAMES_set_articulationParameterValue4	98
#define FIELDNAMES_touchTime	99
#define FIELDNAMES_int32Inp	100
#define FIELDNAMES_family	101
#define FIELDNAMES_width	102
#define FIELDNAMES_source	103
#define FIELDNAMES_skinNormal	104
#define FIELDNAMES___lastParent	105
#define FIELDNAMES_front	106
#define FIELDNAMES_leftToRight	107
#define FIELDNAMES_linearVelocity	108
#define FIELDNAMES_entityDomain	109
#define FIELDNAMES___occludeCheckCount	110
#define FIELDNAMES_boundaryModeT	111
#define FIELDNAMES_summary	112
#define FIELDNAMES_transmitState	113
#define FIELDNAMES_info	114
#define FIELDNAMES_tdlType	115
#define FIELDNAMES__dlchange	116
#define FIELDNAMES_marking	117
#define FIELDNAMES_backSpecularColor	118
#define FIELDNAMES_ambientIntensity	119
#define FIELDNAMES_floatInp	120
#define FIELDNAMES_headlight	121
#define FIELDNAMES__bboxSize	122
#define FIELDNAMES_radioEntityTypeKind	123
#define FIELDNAMES_cycleInterval	124
#define FIELDNAMES_mass	125
#define FIELDNAMES_pickedGeometry	126
#define FIELDNAMES_pitch	127
#define FIELDNAMES_rotateYUp	128
#define FIELDNAMES_articulationParameterTypeArray	129
#define FIELDNAMES_bottomTexture	130
#define FIELDNAMES___oldJump	131
#define FIELDNAMES_sites	132
#define FIELDNAMES_encodingScheme	133
#define FIELDNAMES_fired1	134
#define FIELDNAMES__rotationAngle	135
#define FIELDNAMES___t2	136
#define FIELDNAMES_parameter	137
#define FIELDNAMES_borderWidth	138
#define FIELDNAMES_backTransparency	139
#define FIELDNAMES_generateMipMaps	140
#define FIELDNAMES_tessellation	141
#define FIELDNAMES_scale	142
#define FIELDNAMES_proxy	143
#define FIELDNAMES__coord	144
#define FIELDNAMES_translation_changed	145
#define FIELDNAMES_renderCulling	146
#define FIELDNAMES___numPoints	147
#define FIELDNAMES__floatInpFIFO	148
#define FIELDNAMES_ambientColor	149
#define FIELDNAMES_maxFront	150
#define FIELDNAMES_rightTexture	151
#define FIELDNAMES_set_spine	152
#define FIELDNAMES___t1	153
#define FIELDNAMES___textureright	154
#define FIELDNAMES_rotation_changed	155
#define FIELDNAMES_skinCoordWeight	156
#define FIELDNAMES_plane	157
#define FIELDNAMES_radius	158
#define FIELDNAMES_articulationParameterValue7_changed	159
#define FIELDNAMES_controlPoint	160
#define FIELDNAMES_point	161
#define FIELDNAMES_inputSource	162
#define FIELDNAMES_radioEntityTypeNomenclatureVersion	163
#define FIELDNAMES__int32InpFIFO	164
#define FIELDNAMES_normal	165
#define FIELDNAMES___leftTexture	166
#define FIELDNAMES_articulationParameterChangeIndicatorArr	167
#define FIELDNAMES_firingRate	168
#define FIELDNAMES__oldrotation	169
#define FIELDNAMES_eventNumber	170
#define FIELDNAMES_loop	171
#define FIELDNAMES__wrapS	172
#define FIELDNAMES_actionKeyPress	173
#define FIELDNAMES_extra	174
#define FIELDNAMES_horizontal	175
#define FIELDNAMES_enabled	176
#define FIELDNAMES_pickedPoint	177
#define FIELDNAMES_fanCount	178
#define FIELDNAMES___child2Node	179
#define FIELDNAMES_triggerTrue	180
#define FIELDNAMES_shapeType	181
#define FIELDNAMES__parentResource	182
#define FIELDNAMES_articulationParameterCount	183
#define FIELDNAMES_avatarSize	184
#define FIELDNAMES_collide	185
#define FIELDNAMES_specularColor	186
#define FIELDNAMES_transitionTime	187
#define FIELDNAMES_siteID	188
#define FIELDNAMES_color	189
#define FIELDNAMES_axisOfRotation	190
#define FIELDNAMES_networkMode	191
#define FIELDNAMES_backEmissiveColor	192
#define FIELDNAMES_repeatT	193
#define FIELDNAMES__npv	194
#define FIELDNAMES___visible	195
#define FIELDNAMES___movedPosition	196
#define FIELDNAMES_topToBottom	197
#define FIELDNAMES_viewpoints	198
#define FIELDNAMES_FreeWRL__protoDef	199
#define FIELDNAMES_length	200
#define FIELDNAMES_index	201
#define FIELDNAMES___oldFieldOfView	202
#define FIELDNAMES_intensity	203
#define FIELDNAMES_navType	204
#define FIELDNAMES_update	205
#define FIELDNAMES_set_articulationParameterValue5	206
#define FIELDNAMES_heightAngle	207
#define FIELDNAMES__oldisActive	208
#define FIELDNAMES___loading	209
#define FIELDNAMES_next	210
#define FIELDNAMES___level	211
#define FIELDNAMES_isPaused	212
#define FIELDNAMES__oldpickedPoint	213
#define FIELDNAMES_FIFOsize	214
#define FIELDNAMES_value	215
#define FIELDNAMES_articulationParameterIdPartAttachedToAr	216
#define FIELDNAMES___child1Node	217
#define FIELDNAMES_multicastRelayHost	218
#define FIELDNAMES__color	219
#define FIELDNAMES___scriptObj	220
#define FIELDNAMES_keyRelease	221
#define FIELDNAMES___backTexture	222
#define FIELDNAMES_stopTime	223
#define FIELDNAMES__faceValue	224
#define FIELDNAMES_crossSection	225
#define FIELDNAMES_position	226
#define FIELDNAMES___solid	227
#define FIELDNAMES___do_scaleO	228
#define FIELDNAMES_xSpacing	229
#define FIELDNAMES_faceType	230
#define FIELDNAMES___transparency	231
#define FIELDNAMES_isDetonated	232
#define FIELDNAMES_scaleOrientation	233
#define FIELDNAMES___ctflag	234
#define FIELDNAMES_inputFalse	235
#define FIELDNAMES_bottomUrl	236
#define FIELDNAMES_radioID	237
#define FIELDNAMES_hitPoint_changed	238
#define FIELDNAMES_boundaryModeS	239
#define FIELDNAMES__sortedChildren	240
#define FIELDNAMES_set_normalIndex	241
#define FIELDNAMES_knot	242
#define FIELDNAMES_articulationParameterValue4_changed	243
#define FIELDNAMES_justification	244
#define FIELDNAMES_set_articulationParameterValue6	245
#define FIELDNAMES_fogType	246
#define FIELDNAMES_spacing	247
#define FIELDNAMES_skyColor	248
#define FIELDNAMES__oldtranslation	249
#define FIELDNAMES_displacements	250
#define FIELDNAMES_isStandAlone	251
#define FIELDNAMES_topUrl	252
#define FIELDNAMES___colours	253
#define FIELDNAMES_geoSystem	254
#define FIELDNAMES___shaderIDS	255
#define FIELDNAMES_addChildren	256
#define FIELDNAMES_detonationLocation	257
#define FIELDNAMES_attenuation	258
#define FIELDNAMES_fireMissionIndex	259
#define FIELDNAMES_articulationParameterValue3_changed	260
#define FIELDNAMES_endAngle	261
#define FIELDNAMES___oldKeyPtr	262
#define FIELDNAMES_displayed	263
#define FIELDNAMES_hitGeoCoord_changed	264
#define FIELDNAMES_focalDistance	265
#define FIELDNAMES_cycleTime	266
#define FIELDNAMES_boundaryModeR	267
#define FIELDNAMES___oldChildren	268
#define FIELDNAMES_applied	269
#define FIELDNAMES_backTexture	270
#define FIELDNAMES_function	271
#define FIELDNAMES_setValue	272
#define FIELDNAMES_isNetworkWriter	273
#define FIELDNAMES_hitTexCoord_changed	274
#define FIELDNAMES_alpha	275
#define FIELDNAMES_enteredText	276
#define FIELDNAMES__origNormalizedPoint	277
#define FIELDNAMES_repeatS	278
#define FIELDNAMES___do_trans	279
#define FIELDNAMES__origPoint	280
#define FIELDNAMES_backDiffuseColor	281
#define FIELDNAMES_bboxSize	282
#define FIELDNAMES_country	283
#define FIELDNAMES_visibilityRange	284
#define FIELDNAMES_textBounds	285
#define FIELDNAMES_munitionStartPoint	286
#define FIELDNAMES_skinCoordIndex	287
#define FIELDNAMES__coordIndex	288
#define FIELDNAMES_priority	289
#define FIELDNAMES_linetype	290
#define FIELDNAMES__oldtrackPoint	291
#define FIELDNAMES_receiverState	292
#define FIELDNAMES_addedEntities	293
#define FIELDNAMES_eventEntityID	294
#define FIELDNAMES_spatialize	295
#define FIELDNAMES_articulationParameterValue5_changed	296
#define FIELDNAMES_normalizeVelocity	297
#define FIELDNAMES___do_center	298
#define FIELDNAMES_geoOrigin	299
#define FIELDNAMES_metadata	300
#define FIELDNAMES_geoCoords	301
#define FIELDNAMES_relativeAntennaLocation	302
#define FIELDNAMES_location	303
#define FIELDNAMES_colorPerVertex	304
#define FIELDNAMES_origin	305
#define FIELDNAMES_jump	306
#define FIELDNAMES_directOutput	307
#define FIELDNAMES_port	308
#define FIELDNAMES___oldgeoCoords	309
#define FIELDNAMES_timeOut	310
#define FIELDNAMES_hitNormal_changed	311
#define FIELDNAMES_skyAngle	312
#define FIELDNAMES_closureType	313
#define FIELDNAMES___finishedloading	314
#define FIELDNAMES_enterTime	315
#define FIELDNAMES___rooturlloadstatus	316
#define FIELDNAMES_center	317
#define FIELDNAMES_munitionEntityID	318
#define FIELDNAMES_altKey	319
#define FIELDNAMES_spine	320
#define FIELDNAMES_offset	321
#define FIELDNAMES___StartLoadTime	322
#define FIELDNAMES_cryptoSystem	323
#define FIELDNAMES___points	324
#define FIELDNAMES_cryptoKeyID	325
#define FIELDNAMES_anisotropicDegree	326
#define FIELDNAMES_parts	327
#define FIELDNAMES_keyVelocity	328
#define FIELDNAMES_collisionType	329
#define FIELDNAMES___simpleDisk	330
#define FIELDNAMES_normalPerVertex	331
#define FIELDNAMES_topTexture	332
#define FIELDNAMES_position_changed	333
#define FIELDNAMES__initialized	334
#define FIELDNAMES___hit	335
#define FIELDNAMES_set_articulationParameterValue0	336
#define FIELDNAMES_power	337
#define FIELDNAMES_category	338
#define FIELDNAMES_maxBack	339
#define FIELDNAMES_vector	340
#define FIELDNAMES_sampleRate	341
#define FIELDNAMES_modifiedFraction_changed	342
#define FIELDNAMES_firingRange	343
#define FIELDNAMES_geoCoord_changed	344
#define FIELDNAMES_set_index	345
#define FIELDNAMES_stiffness	346
#define FIELDNAMES___segCount	347
#define FIELDNAMES_samples	348
#define FIELDNAMES_detonationRelativeLocation	349
#define FIELDNAMES_minificationFilter	350
#define FIELDNAMES_attrib	351
#define FIELDNAMES_radioEntityTypeCountry	352
#define FIELDNAMES_child4Url	353
#define FIELDNAMES_rightUrl	354
#define FIELDNAMES_time	355
#define FIELDNAMES_deadReckoning	356
#define FIELDNAMES_fraction_changed	357
#define FIELDNAMES_segments	358
#define FIELDNAMES_texture	359
#define FIELDNAMES_speed	360
#define FIELDNAMES_objectType	361
#define FIELDNAMES_programs	362
#define FIELDNAMES_fillProperties	363
#define FIELDNAMES___VBO	364
#define FIELDNAMES_maxAngle	365
#define FIELDNAMES___movedValue	366
#define FIELDNAMES_modulationTypeSpreadSpectrum	367
#define FIELDNAMES_version	368
#define FIELDNAMES___loadResource	369
#define FIELDNAMES_image	370
#define FIELDNAMES___cylinderVBO	371
#define FIELDNAMES___botpoints	372
#define FIELDNAMES_set_crossSection	373
#define FIELDNAMES___subTextures	374
#define FIELDNAMES_levelChanged	375
#define FIELDNAMES_receivedPower	376
#define FIELDNAMES_colorIndex	377
#define FIELDNAMES_duration_changed	378
#define FIELDNAMES_order	379
#define FIELDNAMES_geometry	380
#define FIELDNAMES_multicastRelayPort	381
#define FIELDNAMES_textureProperties	382
#define FIELDNAMES_watchList	383
#define FIELDNAMES_lineProperties	384
#define FIELDNAMES__oldpickTarget	385
#define FIELDNAMES_data	386
#define FIELDNAMES_centerOfRotation	387
#define FIELDNAMES_minBack	388
#define FIELDNAMES___vertIndx	389
#define FIELDNAMES_backShininess	390
#define FIELDNAMES___movedCoords	391
#define FIELDNAMES__int32OutFIFO	392
#define FIELDNAMES___isX3D	393
#define FIELDNAMES_closed	394
#define FIELDNAMES_applicationID	395
#define FIELDNAMES_eventApplicationID	396
#define FIELDNAMES___vertArr	397
#define FIELDNAMES___coneTriangles	398
#define FIELDNAMES_trackPoint_changed	399
#define FIELDNAMES_global	400
#define FIELDNAMES_vTessellation	401
#define FIELDNAMES_back	402
#define FIELDNAMES_tickTime	403
#define FIELDNAMES_articulationParameterValue0_changed	404
#define FIELDNAMES___rightTexture	405
#define FIELDNAMES___compiledmode	406
#define FIELDNAMES_geoCenter	407
#define FIELDNAMES_emissiveColor	408
#define FIELDNAMES_antennaPatternLength	409
#define FIELDNAMES_filled	410
#define FIELDNAMES_groundAngle	411
#define FIELDNAMES_mapping	412
#define FIELDNAMES_isValid	413
#define FIELDNAMES_string	414
#define FIELDNAMES_children	415
#define FIELDNAMES_isBound	416
#define FIELDNAMES_triggerValue	417
#define FIELDNAMES___compiledpoint	418
#define FIELDNAMES___bottomTexture	419
#define FIELDNAMES_controlKey	420
#define FIELDNAMES_textureCompression	421
#define FIELDNAMES_frontTexture	422
#define FIELDNAMES_entityCategory	423
#define FIELDNAMES_centerOfRotation_changed	424
#define FIELDNAMES_diskAngle	425
#define FIELDNAMES___Samples	426
#define FIELDNAMES_transmitFrequencyBandwidth	427
#define FIELDNAMES___do_rotation	428
#define FIELDNAMES_dataLength	429
#define FIELDNAMES_radioEntityTypeCategory	430
#define FIELDNAMES_set_fraction	431
#define FIELDNAMES_subcategory	432
#define FIELDNAMES_transitionComplete	433
#define FIELDNAMES_specific	434
#define FIELDNAMES___inittime	435
#define FIELDNAMES__status	436
#define FIELDNAMES_backUrl	437
#define FIELDNAMES_set_sortOrder	438
#define FIELDNAMES_size	439
#define FIELDNAMES_maxExtent	440
#define FIELDNAMES_domain	441
#define FIELDNAMES_kind	442
#define FIELDNAMES_orientation_changed	443
#define FIELDNAMES___regenSubTextures	444
#define FIELDNAMES_readInterval	445
#define FIELDNAMES___child3Node	446
#define FIELDNAMES_materialIndex	447
#define FIELDNAMES_style	448
#define FIELDNAMES_radioEntityTypeDomain	449
#define FIELDNAMES_bottom	450
#define FIELDNAMES_hatchColor	451
#define FIELDNAMES_justify	452
#define FIELDNAMES_removedEntities	453
#define FIELDNAMES_modulationTypeSystem	454
#define FIELDNAMES_side	455
#define FIELDNAMES_frontUrl	456
#define FIELDNAMES__stringInpFIFO	457
#define FIELDNAMES_dimension	458
#define FIELDNAMES_modulationTypeDetail	459
#define FIELDNAMES__solid	460
#define FIELDNAMES_separateBackColor	461
#define FIELDNAMES___rootUrl	462
#define FIELDNAMES__verifiedFrontColor	463
#define FIELDNAMES_bindTime	464
#define FIELDNAMES_depth	465
#define FIELDNAMES_set_boolean	466
#define FIELDNAMES_gotEvents	467
#define FIELDNAMES_fieldOfView	468
#define FIELDNAMES___oldHeadlight	469
#define FIELDNAMES_listenfor	470
#define FIELDNAMES_borderColor	471
#define FIELDNAMES_set_height	472
#define FIELDNAMES_child1Url	473
#define FIELDNAMES_endCap	474
#define FIELDNAMES_set_colorIndex	475
#define FIELDNAMES_reference	476
#define FIELDNAMES_uTessellation	477
#define FIELDNAMES___normals	478
#define FIELDNAMES_set_triggerTime	479
#define FIELDNAMES__oldhitTexCoord	480
#define FIELDNAMES__oldpickedGeometry	481
#define FIELDNAMES_value_changed	482
#define FIELDNAMES___oldKeyValuePtr	483
#define FIELDNAMES_keyValue	484
#define FIELDNAMES_bottomRadius	485
#define FIELDNAMES_mustEvaluate	486
#define FIELDNAMES_diffuseColor	487
#define FIELDNAMES_tessellationScale	488
#define FIELDNAMES_startIndex	489
#define FIELDNAMES_handler	490
#define FIELDNAMES__vertValue	491
#define FIELDNAMES___oldmetadata	492
#define FIELDNAMES_inputNegate	493
#define FIELDNAMES_keyWeight	494
#define FIELDNAMES_entitySpecific	495
#define FIELDNAMES_set_articulationParameterValue2	496
#define FIELDNAMES_key	497
#define FIELDNAMES__typeValue	498
#define FIELDNAMES_ulimit	499
#define FIELDNAMES___quadcount	500
#define FIELDNAMES_skinCoord	501
#define FIELDNAMES_yScale	502
#define FIELDNAMES___oldEnabled	503
#define FIELDNAMES___movedOrientation	504
#define FIELDNAMES_name	505
#define FIELDNAMES_texCoord	506
#define FIELDNAMES__ccw	507
#define FIELDNAMES_pickable	508
#define FIELDNAMES___coneVBO	509
#define FIELDNAMES_lineBounds	510
#define FIELDNAMES_hatched	511
#define FIELDNAMES_easeInEaseOut	512
#define FIELDNAMES__creaseAngle	513
#define FIELDNAMES_level_changed	514
#define FIELDNAMES___texCoords	515
#define FIELDNAMES_geovalue_changed	516
#define FIELDNAMES__texCoord	517
#define FIELDNAMES_texCoordIndex	518
#define FIELDNAMES__shaderTableEntry	519
#define FIELDNAMES_beginCap	520
#define FIELDNAMES_linearAcceleration	521
#define FIELDNAMES_transparency	522
#define FIELDNAMES___vertexCount	523
#define FIELDNAMES_intersectionType	524
#define FIELDNAMES_set_bind	525
#define FIELDNAMES_textureTransform	526
#define FIELDNAMES___sourceNumber	527
#define FIELDNAMES_progress	528
#define FIELDNAMES_lengthOfModulationParameters	529
#define FIELDNAMES_height	530
#define FIELDNAMES_right	531
#define FIELDNAMES_pickingGeometry	532
#define FIELDNAMES_entityCountry	533
#define FIELDNAMES___localOrient	534
#define FIELDNAMES_protocol	535
#define FIELDNAMES_isNetworkReader	536
#define FIELDNAMES_antennaPatternType	537
#define FIELDNAMES_startAngle	538
#define FIELDNAMES_minAngle	539
#define FIELDNAMES_weight	540
#define FIELDNAMES_talksTo	541
#define FIELDNAMES_visibilityLimit	542
#define FIELDNAMES_munitionApplicationID	543
#define FIELDNAMES_firedTime	544
#define FIELDNAMES_forceID	545
#define FIELDNAMES_articulationParameterDesignatorArray	546
#define FIELDNAMES__verifiedColor	547
#define FIELDNAMES___oldSize	548
#define FIELDNAMES__radius	549
#define FIELDNAMES_collideTime	550
#define FIELDNAMES___loadstatus	551
#define FIELDNAMES_magnificationFilter	552
#define FIELDNAMES_numComponents	553
#define FIELDNAMES_fogCoord	554
#define FIELDNAMES_munitionEndPoint	555
#define FIELDNAMES___oldGeoCenter	556
#define FIELDNAMES_choice	557
#define FIELDNAMES_hatchStyle	558
#define FIELDNAMES___params	559
#define FIELDNAMES_cutOffAngle	560
#define FIELDNAMES_minPosition	561
#define FIELDNAMES___rotyup	562
#define FIELDNAMES_linewidthScaleFactor	563
#define FIELDNAMES___geoSystem	564
#define FIELDNAMES_finalText	565
#define FIELDNAMES_rootUrl	566
#define FIELDNAMES_FreeWRL_PROTOInterfaceNodes	567
#define FIELDNAMES_entityExtra	568
#define FIELDNAMES_url	569
#define FIELDNAMES_coord	570
#define FIELDNAMES_startTime	571
#define FIELDNAMES___frontTexture	572
#define FIELDNAMES___topTexture	573
#define FIELDNAMES_minFront	574
#define FIELDNAMES_ccw	575
#define FIELDNAMES_valueChanged	576
#define FIELDNAMES_level	577
#define FIELDNAMES_vertexCount	578
#define FIELDNAMES_transitionType	579
#define FIELDNAMES___rendersub	580
#define FIELDNAMES_llimit	581
#define FIELDNAMES_range	582
#define FIELDNAMES_keyPress	583
#define FIELDNAMES_resumeTime	584
#define FIELDNAMES_antennaLocation	585
#define FIELDNAMES_timestamp	586
#define FIELDNAMES_vertexOrdering	587
#define FIELDNAMES_forceTransitions	588
#define FIELDNAMES_radioEntityTypeNomenclature	589
#define FIELDNAMES_shaders	590
#define FIELDNAMES_language	591
#define FIELDNAMES_VRML1children	592
#define FIELDNAMES__cpv	593
#define FIELDNAMES_shiftKey	594
#define FIELDNAMES_filter	595
#define FIELDNAMES_leftTexture	596
#define FIELDNAMES_momentsOfInertia	597
#define FIELDNAMES_lineSegments	598
#define FIELDNAMES_coordIndex	599
#define FIELDNAMES_stringInp	600
#define FIELDNAMES_set_intersectionType	601
#define FIELDNAMES_material	602
#define FIELDNAMES__selected	603
#define FIELDNAMES_set_scale	604
#define FIELDNAMES_loadTime	605
#define FIELDNAMES_transmitterApplicationID	606
#define FIELDNAMES__convex	607
#define FIELDNAMES_frequency	608
#define FIELDNAMES_actionKeyRelease	609
#define FIELDNAMES_articulationParameterValue1_changed	610
#define FIELDNAMES_isSelected	611
#define FIELDNAMES___oldMFString	612
#define FIELDNAMES_rtpHeaderExpected	613
#define FIELDNAMES_child3Url	614
#define FIELDNAMES_pauseTime	615
#define FIELDNAMES_isCollided	616
#define FIELDNAMES__ILS	617
#define FIELDNAMES_normalIndex	618
#define FIELDNAMES_beamWidth	619
#define FIELDNAMES_pickTarget	620
#define FIELDNAMES_zSpacing	621
#define FIELDNAMES___oldSFString	622
#define FIELDNAMES_whichGeometry	623
#define FIELDNAMES_eventSiteID	624
#define FIELDNAMES_innerRadius	625
#define FIELDNAMES_fontStyle	626
#define FIELDNAMES_convex	627
#define FIELDNAMES_orientation	628
#define FIELDNAMES_set_texCoordIndex	629
#define FIELDNAMES_whichChild	630
#define FIELDNAMES_autoOffset	631
#define FIELDNAMES_appearance	632
#define FIELDNAMES_wrapT	633
#define FIELDNAMES_zDimension	634
#define FIELDNAMES__floatOutFIFO	635
#define FIELDNAMES__normal	636
#define FIELDNAMES_entitySubCategory	637
#define FIELDNAMES_set_coordIndex	638
#define FIELDNAMES_munitionQuantity	639
#define FIELDNAMES__stringOutFIFO	640
#define FIELDNAMES_elapsedTime	641
#define FIELDNAMES_numPoints	642
#define FIELDNAMES___vertices	643
#define FIELDNAMES___initialized	644

const char *stringFieldType(int st);

/* Table of built-in fieldIds */
extern const char *EVENT_OUT[];
extern const int EVENT_OUT_COUNT;
#define EVENT_OUT_isStandAlone	0
#define EVENT_OUT_inputNegate	1
#define EVENT_OUT_isValid	2
#define EVENT_OUT_position_changed	3
#define EVENT_OUT_finalText	4
#define EVENT_OUT_isBound	5
#define EVENT_OUT_triggerValue	6
#define EVENT_OUT_isRtpHeaderHeard	7
#define EVENT_OUT_controlKey	8
#define EVENT_OUT_actionKeyPress	9
#define EVENT_OUT_centerOfRotation_changed	10
#define EVENT_OUT_isLoaded	11
#define EVENT_OUT_articulationParameterValue3_changed	12
#define EVENT_OUT_modifiedFraction_changed	13
#define EVENT_OUT_isOver	14
#define EVENT_OUT_hitGeoCoord_changed	15
#define EVENT_OUT_pickedPoint	16
#define EVENT_OUT_geoCoord_changed	17
#define EVENT_OUT_cycleTime	18
#define EVENT_OUT_valueChanged	19
#define EVENT_OUT_transitionComplete	20
#define EVENT_OUT_toggle	21
#define EVENT_OUT_lineBounds	22
#define EVENT_OUT_triggerTrue	23
#define EVENT_OUT_touchTime	24
#define EVENT_OUT_time	25
#define EVENT_OUT_keyPress	26
#define EVENT_OUT_fraction_changed	27
#define EVENT_OUT_level_changed	28
#define EVENT_OUT_isNetworkWriter	29
#define EVENT_OUT_hitTexCoord_changed	30
#define EVENT_OUT_orientation_changed	31
#define EVENT_OUT_timestamp	32
#define EVENT_OUT_enteredText	33
#define EVENT_OUT_geovalue_changed	34
#define EVENT_OUT_detonateTime	35
#define EVENT_OUT_progress	36
#define EVENT_OUT_shiftKey	37
#define EVENT_OUT_textBounds	38
#define EVENT_OUT_removedEntities	39
#define EVENT_OUT_inputTrue	40
#define EVENT_OUT_isNetworkReader	41
#define EVENT_OUT_loadTime	42
#define EVENT_OUT_addedEntities	43
#define EVENT_OUT_levelChanged	44
#define EVENT_OUT_actionKeyRelease	45
#define EVENT_OUT_isSelected	46
#define EVENT_OUT_articulationParameterValue1_changed	47
#define EVENT_OUT_exitTime	48
#define EVENT_OUT_duration_changed	49
#define EVENT_OUT_isPaused	50
#define EVENT_OUT_pickedGeometry	51
#define EVENT_OUT_isCollided	52
#define EVENT_OUT_articulationParameterValue5_changed	53
#define EVENT_OUT_firedTime	54
#define EVENT_OUT_articulationParameterValue6_changed	55
#define EVENT_OUT_origin	56
#define EVENT_OUT_bindTime	57
#define EVENT_OUT_keyRelease	58
#define EVENT_OUT_hitNormal_changed	59
#define EVENT_OUT_translation_changed	60
#define EVENT_OUT_collideTime	61
#define EVENT_OUT_enterTime	62
#define EVENT_OUT_isDetonated	63
#define EVENT_OUT_altKey	64
#define EVENT_OUT_rotation_changed	65
#define EVENT_OUT_triggerTime	66
#define EVENT_OUT_inputFalse	67
#define EVENT_OUT_value_changed	68
#define EVENT_OUT_trackPoint_changed	69
#define EVENT_OUT_isActive	70
#define EVENT_OUT_hitPoint_changed	71
#define EVENT_OUT_articulationParameterValue7_changed	72
#define EVENT_OUT_elapsedTime	73
#define EVENT_OUT_articulationParameterValue0_changed	74
#define EVENT_OUT_articulationParameterValue2_changed	75
#define EVENT_OUT_articulationParameterValue4_changed	76


/* Table of built-in fieldIds */
extern const char *EVENT_IN[];
extern const int EVENT_IN_COUNT;
#define EVENT_IN_set_position	0
#define EVENT_IN_set_articulationParameterValue5	1
#define EVENT_IN_next	2
#define EVENT_IN_set_scale	3
#define EVENT_IN_set_articulationParameterValue2	4
#define EVENT_IN_activate	5
#define EVENT_IN_addChildren	6
#define EVENT_IN_set_crossSection	7
#define EVENT_IN_set_articulationParameterValue0	8
#define EVENT_IN_set_index	9
#define EVENT_IN_set_articulationParameterValue1	10
#define EVENT_IN_set_fraction	11
#define EVENT_IN_set_boolean	12
#define EVENT_IN_set_articulationParameterValue7	13
#define EVENT_IN_set_articulationParameterValue3	14
#define EVENT_IN_set_articulationParameterValue4	15
#define EVENT_IN_set_texCoordIndex	16
#define EVENT_IN_setValue	17
#define EVENT_IN_set_height	18
#define EVENT_IN_set_sortOrder	19
#define EVENT_IN_previous	20
#define EVENT_IN_set_colorIndex	21
#define EVENT_IN_set_spine	22
#define EVENT_IN_set_triggerTime	23
#define EVENT_IN_removeChildren	24
#define EVENT_IN_set_bind	25
#define EVENT_IN_set_coordIndex	26
#define EVENT_IN_tickTime	27
#define EVENT_IN_set_normalIndex	28
#define EVENT_IN_set_articulationParameterValue6	29
#define EVENT_IN_coordIndex	30
#define EVENT_IN_set_intersectionType	31
#define EVENT_IN_set_orientation	32


/* Table of built-in fieldIds */
extern const char *EXPOSED_FIELD[];
extern const int EXPOSED_FIELD_COUNT;
#define EXPOSED_FIELD_wrapS	0
#define EXPOSED_FIELD_topTexture	1
#define EXPOSED_FIELD_integerKey	2
#define EXPOSED_FIELD_power	3
#define EXPOSED_FIELD_munitionSiteID	4
#define EXPOSED_FIELD_modulationTypeMajor	5
#define EXPOSED_FIELD_whichChoice	6
#define EXPOSED_FIELD_textureCoordIndex	7
#define EXPOSED_FIELD_maxBack	8
#define EXPOSED_FIELD_vector	9
#define EXPOSED_FIELD_sampleRate	10
#define EXPOSED_FIELD_rotation	11
#define EXPOSED_FIELD_firingRange	12
#define EXPOSED_FIELD_scaleFactor	13
#define EXPOSED_FIELD_stiffness	14
#define EXPOSED_FIELD_samples	15
#define EXPOSED_FIELD_detonationRelativeLocation	16
#define EXPOSED_FIELD_minificationFilter	17
#define EXPOSED_FIELD_attrib	18
#define EXPOSED_FIELD_radioEntityTypeCountry	19
#define EXPOSED_FIELD_rightUrl	20
#define EXPOSED_FIELD_deadReckoning	21
#define EXPOSED_FIELD_segments	22
#define EXPOSED_FIELD_texture	23
#define EXPOSED_FIELD_groundColor	24
#define EXPOSED_FIELD_direction	25
#define EXPOSED_FIELD_transmitterSiteID	26
#define EXPOSED_FIELD_transmitterRadioID	27
#define EXPOSED_FIELD_detonationResult	28
#define EXPOSED_FIELD_programs	29
#define EXPOSED_FIELD_maxPosition	30
#define EXPOSED_FIELD_objectType	31
#define EXPOSED_FIELD_speed	32
#define EXPOSED_FIELD_fillProperties	33
#define EXPOSED_FIELD_skin	34
#define EXPOSED_FIELD_maxAngle	35
#define EXPOSED_FIELD_modulationTypeSpreadSpectrum	36
#define EXPOSED_FIELD_version	37
#define EXPOSED_FIELD_entityKind	38
#define EXPOSED_FIELD_transmitterEntityID	39
#define EXPOSED_FIELD_retainUserOffsets	40
#define EXPOSED_FIELD_image	41
#define EXPOSED_FIELD_vertices	42
#define EXPOSED_FIELD_filename	43
#define EXPOSED_FIELD_left	44
#define EXPOSED_FIELD_backAmbientIntensity	45
#define EXPOSED_FIELD_receivedPower	46
#define EXPOSED_FIELD_joints	47
#define EXPOSED_FIELD_articulationParameterArray	48
#define EXPOSED_FIELD_order	49
#define EXPOSED_FIELD_deletionAllowed	50
#define EXPOSED_FIELD_geometry	51
#define EXPOSED_FIELD_translation	52
#define EXPOSED_FIELD_address	53
#define EXPOSED_FIELD_multicastRelayPort	54
#define EXPOSED_FIELD_watchList	55
#define EXPOSED_FIELD_limitOrientation	56
#define EXPOSED_FIELD_skeleton	57
#define EXPOSED_FIELD_lineProperties	58
#define EXPOSED_FIELD_data	59
#define EXPOSED_FIELD_centerOfRotation	60
#define EXPOSED_FIELD_minBack	61
#define EXPOSED_FIELD_type	62
#define EXPOSED_FIELD_writeInterval	63
#define EXPOSED_FIELD_backShininess	64
#define EXPOSED_FIELD_entityID	65
#define EXPOSED_FIELD_fired2	66
#define EXPOSED_FIELD_closed	67
#define EXPOSED_FIELD_eventApplicationID	68
#define EXPOSED_FIELD_applicationID	69
#define EXPOSED_FIELD_global	70
#define EXPOSED_FIELD_vTessellation	71
#define EXPOSED_FIELD_displacers	72
#define EXPOSED_FIELD_back	73
#define EXPOSED_FIELD_bboxCenter	74
#define EXPOSED_FIELD_emissiveColor	75
#define EXPOSED_FIELD_geoCenter	76
#define EXPOSED_FIELD_antennaPatternLength	77
#define EXPOSED_FIELD_centerOfMass	78
#define EXPOSED_FIELD_filled	79
#define EXPOSED_FIELD_groundAngle	80
#define EXPOSED_FIELD_mapping	81
#define EXPOSED_FIELD_mode	82
#define EXPOSED_FIELD_string	83
#define EXPOSED_FIELD_children	84
#define EXPOSED_FIELD_map	85
#define EXPOSED_FIELD_on	86
#define EXPOSED_FIELD_leftUrl	87
#define EXPOSED_FIELD_textureCompression	88
#define EXPOSED_FIELD_warhead	89
#define EXPOSED_FIELD_frontTexture	90
#define EXPOSED_FIELD_entityCategory	91
#define EXPOSED_FIELD_diskAngle	92
#define EXPOSED_FIELD_transmitFrequencyBandwidth	93
#define EXPOSED_FIELD_dataLength	94
#define EXPOSED_FIELD_shininess	95
#define EXPOSED_FIELD_texturePriority	96
#define EXPOSED_FIELD_description	97
#define EXPOSED_FIELD_radioEntityTypeCategory	98
#define EXPOSED_FIELD_top	99
#define EXPOSED_FIELD_dropOffRate	100
#define EXPOSED_FIELD_fuse	101
#define EXPOSED_FIELD_family	102
#define EXPOSED_FIELD_int32Inp	103
#define EXPOSED_FIELD_width	104
#define EXPOSED_FIELD_source	105
#define EXPOSED_FIELD_skinNormal	106
#define EXPOSED_FIELD_front	107
#define EXPOSED_FIELD_linearVelocity	108
#define EXPOSED_FIELD_entityDomain	109
#define EXPOSED_FIELD_backUrl	110
#define EXPOSED_FIELD_size	111
#define EXPOSED_FIELD_boundaryModeT	112
#define EXPOSED_FIELD_maxExtent	113
#define EXPOSED_FIELD_summary	114
#define EXPOSED_FIELD_transmitState	115
#define EXPOSED_FIELD_readInterval	116
#define EXPOSED_FIELD_materialIndex	117
#define EXPOSED_FIELD_style	118
#define EXPOSED_FIELD_tdlType	119
#define EXPOSED_FIELD_radioEntityTypeDomain	120
#define EXPOSED_FIELD_hatchColor	121
#define EXPOSED_FIELD_bottom	122
#define EXPOSED_FIELD_marking	123
#define EXPOSED_FIELD_backSpecularColor	124
#define EXPOSED_FIELD_ambientIntensity	125
#define EXPOSED_FIELD_modulationTypeSystem	126
#define EXPOSED_FIELD_frontUrl	127
#define EXPOSED_FIELD_floatInp	128
#define EXPOSED_FIELD_headlight	129
#define EXPOSED_FIELD_radioEntityTypeKind	130
#define EXPOSED_FIELD_cycleInterval	131
#define EXPOSED_FIELD_dimension	132
#define EXPOSED_FIELD_mass	133
#define EXPOSED_FIELD_pitch	134
#define EXPOSED_FIELD_articulationParameterTypeArray	135
#define EXPOSED_FIELD_modulationTypeDetail	136
#define EXPOSED_FIELD_bottomTexture	137
#define EXPOSED_FIELD_separateBackColor	138
#define EXPOSED_FIELD_sites	139
#define EXPOSED_FIELD_encodingScheme	140
#define EXPOSED_FIELD_fired1	141
#define EXPOSED_FIELD_depth	142
#define EXPOSED_FIELD_parameter	143
#define EXPOSED_FIELD_borderWidth	144
#define EXPOSED_FIELD_gotEvents	145
#define EXPOSED_FIELD_backTransparency	146
#define EXPOSED_FIELD_tessellation	147
#define EXPOSED_FIELD_fieldOfView	148
#define EXPOSED_FIELD_scale	149
#define EXPOSED_FIELD_listenfor	150
#define EXPOSED_FIELD_renderCulling	151
#define EXPOSED_FIELD_borderColor	152
#define EXPOSED_FIELD_ambientColor	153
#define EXPOSED_FIELD_maxFront	154
#define EXPOSED_FIELD_rightTexture	155
#define EXPOSED_FIELD_uTessellation	156
#define EXPOSED_FIELD_skinCoordWeight	157
#define EXPOSED_FIELD_plane	158
#define EXPOSED_FIELD_keyValue	159
#define EXPOSED_FIELD_radius	160
#define EXPOSED_FIELD_bottomRadius	161
#define EXPOSED_FIELD_controlPoint	162
#define EXPOSED_FIELD_tessellationScale	163
#define EXPOSED_FIELD_diffuseColor	164
#define EXPOSED_FIELD_startIndex	165
#define EXPOSED_FIELD_handler	166
#define EXPOSED_FIELD_point	167
#define EXPOSED_FIELD_inputSource	168
#define EXPOSED_FIELD_radioEntityTypeNomenclatureVersion	169
#define EXPOSED_FIELD_normal	170
#define EXPOSED_FIELD_keyWeight	171
#define EXPOSED_FIELD_articulationParameterChangeIndicatorArr	172
#define EXPOSED_FIELD_firingRate	173
#define EXPOSED_FIELD_entitySpecific	174
#define EXPOSED_FIELD_eventNumber	175
#define EXPOSED_FIELD_loop	176
#define EXPOSED_FIELD_key	177
#define EXPOSED_FIELD_ulimit	178
#define EXPOSED_FIELD_skinCoord	179
#define EXPOSED_FIELD_enabled	180
#define EXPOSED_FIELD_name	181
#define EXPOSED_FIELD_texCoord	182
#define EXPOSED_FIELD_pickable	183
#define EXPOSED_FIELD_hatched	184
#define EXPOSED_FIELD_shapeType	185
#define EXPOSED_FIELD_articulationParameterCount	186
#define EXPOSED_FIELD_collide	187
#define EXPOSED_FIELD_avatarSize	188
#define EXPOSED_FIELD_specularColor	189
#define EXPOSED_FIELD_easeInEaseOut	190
#define EXPOSED_FIELD_transitionTime	191
#define EXPOSED_FIELD_siteID	192
#define EXPOSED_FIELD_color	193
#define EXPOSED_FIELD_axisOfRotation	194
#define EXPOSED_FIELD_networkMode	195
#define EXPOSED_FIELD_backEmissiveColor	196
#define EXPOSED_FIELD_transparency	197
#define EXPOSED_FIELD_linearAcceleration	198
#define EXPOSED_FIELD_textureTransform	199
#define EXPOSED_FIELD_lengthOfModulationParameters	200
#define EXPOSED_FIELD_height	201
#define EXPOSED_FIELD_viewpoints	202
#define EXPOSED_FIELD_length	203
#define EXPOSED_FIELD_right	204
#define EXPOSED_FIELD_index	205
#define EXPOSED_FIELD_pickingGeometry	206
#define EXPOSED_FIELD_intensity	207
#define EXPOSED_FIELD_update	208
#define EXPOSED_FIELD_navType	209
#define EXPOSED_FIELD_entityCountry	210
#define EXPOSED_FIELD_protocol	211
#define EXPOSED_FIELD_heightAngle	212
#define EXPOSED_FIELD_antennaPatternType	213
#define EXPOSED_FIELD_minAngle	214
#define EXPOSED_FIELD_weight	215
#define EXPOSED_FIELD_talksTo	216
#define EXPOSED_FIELD_visibilityLimit	217
#define EXPOSED_FIELD_munitionApplicationID	218
#define EXPOSED_FIELD_value	219
#define EXPOSED_FIELD_FIFOsize	220
#define EXPOSED_FIELD_articulationParameterIdPartAttachedToAr	221
#define EXPOSED_FIELD_multicastRelayHost	222
#define EXPOSED_FIELD_forceID	223
#define EXPOSED_FIELD_articulationParameterDesignatorArray	224
#define EXPOSED_FIELD_stopTime	225
#define EXPOSED_FIELD_position	226
#define EXPOSED_FIELD_faceType	227
#define EXPOSED_FIELD_magnificationFilter	228
#define EXPOSED_FIELD_fogCoord	229
#define EXPOSED_FIELD_scaleOrientation	230
#define EXPOSED_FIELD_munitionEndPoint	231
#define EXPOSED_FIELD_choice	232
#define EXPOSED_FIELD_bottomUrl	233
#define EXPOSED_FIELD_radioID	234
#define EXPOSED_FIELD_boundaryModeS	235
#define EXPOSED_FIELD_hatchStyle	236
#define EXPOSED_FIELD_cutOffAngle	237
#define EXPOSED_FIELD_justification	238
#define EXPOSED_FIELD_fogType	239
#define EXPOSED_FIELD_spacing	240
#define EXPOSED_FIELD_skyColor	241
#define EXPOSED_FIELD_displacements	242
#define EXPOSED_FIELD_minPosition	243
#define EXPOSED_FIELD_topUrl	244
#define EXPOSED_FIELD_linewidthScaleFactor	245
#define EXPOSED_FIELD_detonationLocation	246
#define EXPOSED_FIELD_FreeWRL_PROTOInterfaceNodes	247
#define EXPOSED_FIELD_attenuation	248
#define EXPOSED_FIELD_fireMissionIndex	249
#define EXPOSED_FIELD_entityExtra	250
#define EXPOSED_FIELD_url	251
#define EXPOSED_FIELD_coord	252
#define EXPOSED_FIELD_startTime	253
#define EXPOSED_FIELD_minFront	254
#define EXPOSED_FIELD_displayed	255
#define EXPOSED_FIELD_focalDistance	256
#define EXPOSED_FIELD_boundaryModeR	257
#define EXPOSED_FIELD_level	258
#define EXPOSED_FIELD_vertexCount	259
#define EXPOSED_FIELD_transitionType	260
#define EXPOSED_FIELD_applied	261
#define EXPOSED_FIELD_backTexture	262
#define EXPOSED_FIELD_llimit	263
#define EXPOSED_FIELD_function	264
#define EXPOSED_FIELD_range	265
#define EXPOSED_FIELD_resumeTime	266
#define EXPOSED_FIELD_antennaLocation	267
#define EXPOSED_FIELD_alpha	268
#define EXPOSED_FIELD_vertexOrdering	269
#define EXPOSED_FIELD_radioEntityTypeNomenclature	270
#define EXPOSED_FIELD_bboxSize	271
#define EXPOSED_FIELD_backDiffuseColor	272
#define EXPOSED_FIELD_shaders	273
#define EXPOSED_FIELD_VRML1children	274
#define EXPOSED_FIELD_visibilityRange	275
#define EXPOSED_FIELD_filter	276
#define EXPOSED_FIELD_leftTexture	277
#define EXPOSED_FIELD_momentsOfInertia	278
#define EXPOSED_FIELD_coordIndex	279
#define EXPOSED_FIELD_stringInp	280
#define EXPOSED_FIELD_munitionStartPoint	281
#define EXPOSED_FIELD_skinCoordIndex	282
#define EXPOSED_FIELD_material	283
#define EXPOSED_FIELD_priority	284
#define EXPOSED_FIELD_linetype	285
#define EXPOSED_FIELD_receiverState	286
#define EXPOSED_FIELD_transmitterApplicationID	287
#define EXPOSED_FIELD_frequency	288
#define EXPOSED_FIELD_eventEntityID	289
#define EXPOSED_FIELD_rtpHeaderExpected	290
#define EXPOSED_FIELD_pauseTime	291
#define EXPOSED_FIELD_normalizeVelocity	292
#define EXPOSED_FIELD_metadata	293
#define EXPOSED_FIELD_geoCoords	294
#define EXPOSED_FIELD_relativeAntennaLocation	295
#define EXPOSED_FIELD_normalIndex	296
#define EXPOSED_FIELD_beamWidth	297
#define EXPOSED_FIELD_location	298
#define EXPOSED_FIELD_pickTarget	299
#define EXPOSED_FIELD_jump	300
#define EXPOSED_FIELD_port	301
#define EXPOSED_FIELD_whichGeometry	302
#define EXPOSED_FIELD_timeOut	303
#define EXPOSED_FIELD_skyAngle	304
#define EXPOSED_FIELD_eventSiteID	305
#define EXPOSED_FIELD_fontStyle	306
#define EXPOSED_FIELD_orientation	307
#define EXPOSED_FIELD_whichChild	308
#define EXPOSED_FIELD_appearance	309
#define EXPOSED_FIELD_center	310
#define EXPOSED_FIELD_autoOffset	311
#define EXPOSED_FIELD_wrapT	312
#define EXPOSED_FIELD_munitionEntityID	313
#define EXPOSED_FIELD_offset	314
#define EXPOSED_FIELD_entitySubCategory	315
#define EXPOSED_FIELD_munitionQuantity	316
#define EXPOSED_FIELD_cryptoSystem	317
#define EXPOSED_FIELD_numPoints	318
#define EXPOSED_FIELD_cryptoKeyID	319
#define EXPOSED_FIELD_anisotropicDegree	320
#define EXPOSED_FIELD_parts	321
#define EXPOSED_FIELD_keyVelocity	322
#define EXPOSED_FIELD_collisionType	323


/* Table of built-in fieldIds */
extern const char *FIELD[];
extern const int FIELD_COUNT;
#define FIELD_rootNode	0
#define FIELD_category	1
#define FIELD_extra	2
#define FIELD_load	3
#define FIELD_horizontal	4
#define FIELD_yScale	5
#define FIELD_fanCount	6
#define FIELD_title	7
#define FIELD_child4Url	8
#define FIELD_geoGridOrigin	9
#define FIELD_stripCount	10
#define FIELD_repeatT	11
#define FIELD_texCoordIndex	12
#define FIELD_intersectionType	13
#define FIELD_beginCap	14
#define FIELD_speedFactor	15
#define FIELD_topToBottom	16
#define FIELD_FreeWRL__protoDef	17
#define FIELD_height	18
#define FIELD_colorIndex	19
#define FIELD_startAngle	20
#define FIELD_textureProperties	21
#define FIELD_child2Url	22
#define FIELD_crossSection	23
#define FIELD_xSpacing	24
#define FIELD_numComponents	25
#define FIELD_creaseAngle	26
#define FIELD_knot	27
#define FIELD_bboxCenter	28
#define FIELD_xDimension	29
#define FIELD_spacing	30
#define FIELD_solid	31
#define FIELD_geoSystem	32
#define FIELD_rootUrl	33
#define FIELD_sortOrder	34
#define FIELD_endAngle	35
#define FIELD_ccw	36
#define FIELD_subcategory	37
#define FIELD_outerRadius	38
#define FIELD_family	39
#define FIELD_specific	40
#define FIELD_leftToRight	41
#define FIELD_range	42
#define FIELD_domain	43
#define FIELD_kind	44
#define FIELD_repeatS	45
#define FIELD_forceTransitions	46
#define FIELD_bboxSize	47
#define FIELD_country	48
#define FIELD_info	49
#define FIELD_language	50
#define FIELD_style	51
#define FIELD_lineSegments	52
#define FIELD_justify	53
#define FIELD_side	54
#define FIELD_coordIndex	55
#define FIELD_rtpHeaderExpected	56
#define FIELD_child3Url	57
#define FIELD_spatialize	58
#define FIELD_geoOrigin	59
#define FIELD_rotateYUp	60
#define FIELD_normalIndex	61
#define FIELD_colorPerVertex	62
#define FIELD_zSpacing	63
#define FIELD_directOutput	64
#define FIELD_generateMipMaps	65
#define FIELD_innerRadius	66
#define FIELD_proxy	67
#define FIELD_closureType	68
#define FIELD_convex	69
#define FIELD_child1Url	70
#define FIELD_endCap	71
#define FIELD_zDimension	72
#define FIELD_reference	73
#define FIELD_spine	74
#define FIELD_bottomRadius	75
#define FIELD_mustEvaluate	76
#define FIELD_normalPerVertex	77


/* Table of built-in keywords */
extern const char *KEYWORDS[];
extern const int KEYWORDS_COUNT;
#define KW_eventOut	0
#define KW_TRUE	1
#define KW_NULL	2
#define KW_IS	3
#define KW_EXTERNPROTO	4
#define KW_inputOnly	5
#define KW_DEF	6
#define KW_PROTO	7
#define KW_IMPORT	8
#define KW_initializeOnly	9
#define KW_outputOnly	10
#define KW_FALSE	11
#define KW_inputOutput	12
#define KW_field	13
#define KW_TO	14
#define KW_PROFILE	15
#define KW_exposedField	16
#define KW_COMPONENT	17
#define KW_eventIn	18
#define KW_META	19
#define KW_EXPORT	20
#define KW_USE	21
#define KW_ROUTE	22

const char *stringKeywordType(int st);

/* Table of built-in profiles */
extern const char *PROFILES[];
extern const int PROFILES_COUNT;
#define PRO_Interchange	0
#define PRO_CADInterchange	1
#define PRO_MPEG4	2
#define PRO_Interactive	3
#define PRO_Full	4
#define PRO_Immersive	5
#define PRO_Core	6

const char *stringProfileType(int st);

/* Table of built-in components */
extern const char *COMPONENTS[];
extern const int COMPONENTS_COUNT;
#define COM_Geometry2D	0
#define COM_Rendering	1
#define COM_PickingSensor	2
#define COM_DIS	3
#define COM_EnvironmentalSensor	4
#define COM_Text	5
#define COM_NURBS	6
#define COM_CubeMapTexturing	7
#define COM_EventUtilities	8
#define COM_Interpolation	9
#define COM_Shaders	10
#define COM_Navigation	11
#define COM_Grouping	12
#define COM_Texturing	13
#define COM_Geospatial	14
#define COM_CADGeometry	15
#define COM_EnvironmentalEffects	16
#define COM_Shape	17
#define COM_Texturing3D	18
#define COM_PointDeviceSensor	19
#define COM_HAnim	20
#define COM_RigidBodyPhysics	21
#define COM_Core	22
#define COM_Layout	23
#define COM_Time	24
#define COM_Geometry3D	25
#define COM_Followers	26
#define COM_Scripting	27
#define COM_Lighting	28
#define COM_KeyDeviceSensor	29
#define COM_Layering	30
#define COM_Networking	31
#define COM_ParticleSystems	32
#define COM_Sound	33

const char *stringComponentType(int st);

/* Table of built-in PROTO keywords */
extern const char *PROTOKEYWORDS[];
extern const int PROTOKEYWORDS_COUNT;
#define PKW_eventOut	0
#define PKW_exposedField	1
#define PKW_inputOnly	2
#define PKW_eventIn	3
#define PKW_outputOnly	4
#define PKW_initializeOnly	5
#define PKW_inputOutput	6
#define PKW_field	7

const char *stringPROTOKeywordType(int st);

/* Table of built-in X3DSPECIAL keywords */
extern const char *X3DSPECIAL[];
extern const int X3DSPECIAL_COUNT;
#define X3DSP_IS	0
#define X3DSP_Scene	1
#define X3DSP_meta	2
#define X3DSP_export	3
#define X3DSP_ProtoDeclare	4
#define X3DSP_field	5
#define X3DSP_connect	6
#define X3DSP_head	7
#define X3DSP_ProtoInterface	8
#define X3DSP_ProtoInstance	9
#define X3DSP_ProtoBody	10
#define X3DSP_X3D	11
#define X3DSP_import	12
#define X3DSP_component	13
#define X3DSP_ExternProtoDeclare	14
#define X3DSP_fieldValue	15
#define X3DSP_ROUTE	16
#define X3DSP_Header	17

const char *stringX3DSPECIALType(int st);

/* Table of built-in TEXTUREBOUNDARY keywords */
extern const char *TEXTUREBOUNDARYKEYWORDS[];
extern const int TEXTUREBOUNDARYKEYWORDS_COUNT;
#define TB_CLAMP_TO_BOUNDARY	0
#define TB_REPEAT	1
#define TB_MIRRORED_REPEAT	2
#define TB_CLAMP	3
#define TB_CLAMP_TO_EDGE	4

const char *stringTEXTUREBOUNDARYKeywordType(int st);

/* Table of built-in TEXTUREMAGNIFICATION keywords */
extern const char *TEXTUREMAGNIFICATIONKEYWORDS[];
extern const int TEXTUREMAGNIFICATIONKEYWORDS_COUNT;
#define TMAG_NICEST	0
#define TMAG_NEAREST_PIXEL	1
#define TMAG_FASTEST	2
#define TMAG_DEFAULT	3
#define TMAG_AVG_PIXEL	4

const char *stringTEXTUREMAGNIFICATIONKeywordType(int st);

/* Table of built-in TEXTUREMINIFICATION keywords */
extern const char *TEXTUREMINIFICATIONKEYWORDS[];
extern const int TEXTUREMINIFICATIONKEYWORDS_COUNT;
#define TMIN_NEAREST_PIXEL_AVG_MIPMAP	0
#define TMIN_DEFAULT	1
#define TMIN_NEAREST_PIXEL	2
#define TMIN_NICEST	3
#define TMIN_AVG_PIXEL_AVG_MIPMAP	4
#define TMIN_FASTEST	5
#define TMIN_AVG_PIXEL	6
#define TMIN_AVG_PIXEL_NEAREST_MIPMAP	7
#define TMIN_NEAREST_PIXEL_NEAREST_MIPMAP	8

const char *stringTEXTUREMINIFICATIONKeywordType(int st);

/* Table of built-in TEXTURECOMPRESSION keywords */
extern const char *TEXTURECOMPRESSIONKEYWORDS[];
extern const int TEXTURECOMPRESSIONKEYWORDS_COUNT;
#define TC_NICEST	0
#define TC_LOW	1
#define TC_FASTEST	2
#define TC_DEFAULT	3
#define TC_HIGH	4
#define TC_MEDIUM	5

const char *stringTEXTURECOMPRESSIONKeywordType(int st);

/* Table of built-in VRML1Modifier keywords */
extern const char *VRML1Modifier[];
extern const int VRML1Modifier_COUNT;
#define VRML1MOD_REPEAT	0
#define VRML1MOD_ITALIC	1
#define VRML1MOD_PER_PART_INDEXED	2
#define VRML1MOD_PER_VERTEX_INDEXED	3
#define VRML1MOD_AUTO	4
#define VRML1MOD_TYPEWRITER	5
#define VRML1MOD_OVERALL	6
#define VRML1MOD_UNKNOWN_SHAPE_TYPE	7
#define VRML1MOD_SERIF	8
#define VRML1MOD_COUNTERCLOCKWISE	9
#define VRML1MOD_CLOCKWISE	10
#define VRML1MOD_POINT	11
#define VRML1MOD_PER_PART	12
#define VRML1MOD_SOLID	13
#define VRML1MOD_ALL	14
#define VRML1MOD_TOP	15
#define VRML1MOD_RIGHT	16
#define VRML1MOD_SIDES	17
#define VRML1MOD_BOLD	18
#define VRML1MOD_BOTTOM	19
#define VRML1MOD_LEFT	20
#define VRML1MOD_CONVEX	21
#define VRML1MOD_UNKNOWN_FACE_TYPE	22
#define VRML1MOD_SANS	23
#define VRML1MOD_UNKNOWN_ORDERING	24
#define VRML1MOD_PER_FACE	25
#define VRML1MOD_PER_VERTEX	26
#define VRML1MOD_NONE	27
#define VRML1MOD_PER_FACE_INDEXED	28
#define VRML1MOD_DEFAULT	29
#define VRML1MOD_ON	30
#define VRML1MOD_CLAMP	31
#define VRML1MOD_CENTER	32
#define VRML1MOD_OFF	33

const char *stringVRML1ModifierType(int st);

/* Table of built-in GEOSPATIAL keywords */
extern const char *GEOSPATIAL[];
extern const int GEOSPATIAL_COUNT;
#define GEOSP_CC	0
#define GEOSP_WE	1
#define GEOSP_GCC	2
#define GEOSP_date	3
#define GEOSP_copyright	4
#define GEOSP_FA	5
#define GEOSP_EC	6
#define GEOSP_UTM	7
#define GEOSP_BN	8
#define GEOSP_ED	9
#define GEOSP_CD	10
#define GEOSP_EF	11
#define GEOSP_GD	12
#define GEOSP_dataFormat	13
#define GEOSP_extent	14
#define GEOSP_metadataFormat	15
#define GEOSP_originator	16
#define GEOSP_dataUrl	17
#define GEOSP_verticalDatum	18
#define GEOSP_description	19
#define GEOSP_WD	20
#define GEOSP_resolution	21
#define GEOSP_coordinateSystem	22
#define GEOSP_RF	23
#define GEOSP_title	24
#define GEOSP_WGS84	25
#define GEOSP_ID	26
#define GEOSP_EB	27
#define GEOSP_HO	28
#define GEOSP_horizontalDatum	29
#define GEOSP_HE	30
#define GEOSP_EE	31
#define GEOSP_AA	32
#define GEOSP_SA	33
#define GEOSP_GC	34
#define GEOSP_AM	35
#define GEOSP_ellipsoid	36
#define GEOSP_IN	37
#define GEOSP_AN	38
#define GEOSP_KA	39
#define GEOSP_GDC	40
#define GEOSP_BR	41
#define GEOSP_EA	42

const char *stringGEOSPATIALType(int st);

/* Table of built-in VRML1_ keywords */
extern const char *VRML1_[];
extern const int VRML1__COUNT;
#define VRML1_VRML1_Rotation	0
#define VRML1_VRML1_Cone	1
#define VRML1_VRML1_PerspectiveCamera	2
#define VRML1_VRML1_ShapeHints	3
#define VRML1_VRML1_LOD	4
#define VRML1_VRML1_Translation	5
#define VRML1_VRML1_MatrixTransform	6
#define VRML1_VRML1_SpotLight	7
#define VRML1_VRML1_Texture2	8
#define VRML1_VRML1_IndexedLineSet	9
#define VRML1_VRML1_OrthographicCamera	10
#define VRML1_VRML1_Switch	11
#define VRML1_VRML1_Scale	12
#define VRML1_VRML1_Cube	13
#define VRML1_VRML1_Separator	14
#define VRML1_VRML1_PointSet	15
#define VRML1_VRML1_FontStyle	16
#define VRML1_VRML1_WWWInline	17
#define VRML1_VRML1_TextureCoordinate2	18
#define VRML1_VRML1_Info	19
#define VRML1_VRML1_DirectionalLight	20
#define VRML1_VRML1_AsciiText	21
#define VRML1_VRML1_Transform	22
#define VRML1_VRML1_Texture2Transform	23
#define VRML1_VRML1_Cylinder	24
#define VRML1_VRML1_Normal	25
#define VRML1_VRML1_WWWAnchor	26
#define VRML1_VRML1_NormalBinding	27
#define VRML1_VRML1_MaterialBinding	28
#define VRML1_VRML1_PointLight	29
#define VRML1_VRML1_IndexedFaceSet	30
#define VRML1_VRML1_Material	31
#define VRML1_VRML1_Coordinate3	32
#define VRML1_VRML1_Sphere	33

const char *stringVRML1_Type(int st);
char mapFieldTypeToEAItype (int st);
int mapEAItypeToFieldType (char st);
int convertToSFType (int st);

/* Table of built-in fieldIds */
extern const char *FIELDTYPES[];
extern const int FIELDTYPES_COUNT;
#define FIELDTYPE_SFFloat	0
#define FIELDTYPE_MFFloat	1
#define FIELDTYPE_SFRotation	2
#define FIELDTYPE_MFRotation	3
#define FIELDTYPE_SFVec3f	4
#define FIELDTYPE_MFVec3f	5
#define FIELDTYPE_SFBool	6
#define FIELDTYPE_MFBool	7
#define FIELDTYPE_SFInt32	8
#define FIELDTYPE_MFInt32	9
#define FIELDTYPE_SFNode	10
#define FIELDTYPE_MFNode	11
#define FIELDTYPE_SFColor	12
#define FIELDTYPE_MFColor	13
#define FIELDTYPE_SFColorRGBA	14
#define FIELDTYPE_MFColorRGBA	15
#define FIELDTYPE_SFTime	16
#define FIELDTYPE_MFTime	17
#define FIELDTYPE_SFString	18
#define FIELDTYPE_MFString	19
#define FIELDTYPE_SFVec2f	20
#define FIELDTYPE_MFVec2f	21
#define FIELDTYPE_SFImage	22
#define FIELDTYPE_FreeWRLPTR	23
#define FIELDTYPE_SFVec3d	24
#define FIELDTYPE_MFVec3d	25
#define FIELDTYPE_SFDouble	26
#define FIELDTYPE_MFDouble	27
#define FIELDTYPE_SFMatrix3f	28
#define FIELDTYPE_MFMatrix3f	29
#define FIELDTYPE_SFMatrix3d	30
#define FIELDTYPE_MFMatrix3d	31
#define FIELDTYPE_SFMatrix4f	32
#define FIELDTYPE_MFMatrix4f	33
#define FIELDTYPE_SFMatrix4d	34
#define FIELDTYPE_MFMatrix4d	35
#define FIELDTYPE_SFVec2d	36
#define FIELDTYPE_MFVec2d	37
#define FIELDTYPE_SFVec4f	38
#define FIELDTYPE_MFVec4f	39
#define FIELDTYPE_SFVec4d	40
#define FIELDTYPE_MFVec4d	41

/*cstruct*/
struct Multi_Float { int n; float  *p; };
struct SFRotation { float c[4]; };
struct Multi_Rotation { int n; struct SFRotation  *p; };
struct SFVec3f { float c[3]; };
struct Multi_Vec3f { int n; struct SFVec3f  *p; };
/*cstruct*/
struct Multi_Bool { int n; int  *p; };
/*cstruct*/
struct Multi_Int32 { int n; int  *p; };

struct Multi_Node { int n; struct X3D_Node * *p; };
struct SFColor { float c[3]; };
struct Multi_Color { int n; struct SFColor  *p; };
struct SFColorRGBA { float c[4]; };
struct Multi_ColorRGBA { int n; struct SFColorRGBA  *p; };
/*cstruct*/
struct Multi_Time { int n; double  *p; };
/*cstruct*/
struct Multi_String { int n; struct Uni_String * *p; };
struct SFVec2f { float c[2]; };
struct Multi_Vec2f { int n; struct SFVec2f  *p; };
/*cstruct*/
/*cstruct*/
struct SFVec3d { double c[3]; };
struct Multi_Vec3d { int n; struct SFVec3d  *p; };
/*cstruct*/
struct Multi_Double { int n; double  *p; };
struct SFMatrix3f { float c[9]; };
struct Multi_Matrix3f { int n; struct SFMatrix3f  *p; };
struct SFMatrix3d { double c[9]; };
struct Multi_Matrix3d { int n; struct SFMatrix3d  *p; };
struct SFMatrix4f { float c[16]; };
struct Multi_Matrix4f { int n; struct SFMatrix4f  *p; };
struct SFMatrix4d { double c[16]; };
struct Multi_Matrix4d { int n; struct SFMatrix4d  *p; };
struct SFVec2d { double c[2]; };
struct Multi_Vec2d { int n; struct SFVec2d  *p; };
struct SFVec4f { float c[4]; };
struct Multi_Vec4f { int n; struct SFVec4f  *p; };
struct SFVec4d { double c[4]; };
struct Multi_Vec4d { int n; struct SFVec4d  *p; };
const char *stringFieldtypeType(int st);

/* Table of built-in nodeIds */
extern const char *NODES[];
extern const int NODES_COUNT;

/* and now the structs for the nodetypes */ 
const char *stringNodeType(int st);

/* First, a generic struct, contains only the common elements */
struct X3D_Node {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
};
#define X3D_NODE(node) ((struct X3D_Node*)node)
#define X3D_GROUP(node) ((struct X3D_Group*)node)
#define X3D_PICKABLEGROUP(node) ((struct X3D_PickableGroup*)node)
#define X3D_POINTPICKSENSOR(node) ((struct X3D_PointPickSensor*)node)
#define X3D_STATICGROUP(node) ((struct X3D_StaticGroup*)node)
#define X3D_ANCHOR(node) ((struct X3D_Anchor*)node)
#define X3D_COLLISION(node) ((struct X3D_Collision*)node)
#define X3D_COMPOSEDSHADER(node) ((struct X3D_ComposedShader*)node)
#define X3D_PACKAGEDSHADER(node) ((struct X3D_PackagedShader*)node)
#define X3D_PROGRAMSHADER(node) ((struct X3D_ProgramShader*)node)
#define X3D_SHADERPROGRAM(node) ((struct X3D_ShaderProgram*)node)
#define X3D_SHAPE(node) ((struct X3D_Shape*)node)
#define X3D_VISIBILITYSENSOR(node) ((struct X3D_VisibilitySensor*)node)
#define X3D_BILLBOARD(node) ((struct X3D_Billboard*)node)
#define X3D_NAVIGATIONINFO(node) ((struct X3D_NavigationInfo*)node)
#define X3D_BACKGROUND(node) ((struct X3D_Background*)node)
#define X3D_TEXTUREBACKGROUND(node) ((struct X3D_TextureBackground*)node)
#define X3D_FOG(node) ((struct X3D_Fog*)node)
#define X3D_INLINE(node) ((struct X3D_Inline*)node)
#define X3D_SWITCH(node) ((struct X3D_Switch*)node)
#define X3D_SCRIPT(node) ((struct X3D_Script*)node)
#define X3D_VIEWPOINT(node) ((struct X3D_Viewpoint*)node)
#define X3D_ORTHOVIEWPOINT(node) ((struct X3D_OrthoViewpoint*)node)
#define X3D_LODNODE(node) ((struct X3D_LOD*)node)
#define X3D_TRANSFORM(node) ((struct X3D_Transform*)node)
#define X3D_PROXIMITYSENSOR(node) ((struct X3D_ProximitySensor*)node)
#define X3D_POINTLIGHT(node) ((struct X3D_PointLight*)node)
#define X3D_SPOTLIGHT(node) ((struct X3D_SpotLight*)node)
#define X3D_DIRECTIONALLIGHT(node) ((struct X3D_DirectionalLight*)node)
#define X3D_INDEXEDFACESET(node) ((struct X3D_IndexedFaceSet*)node)
#define VRML1_INDEXEDFACESET(node) ((struct X3D_VRML1_IndexedFaceSet*)node)
#define VRML1_SEPARATOR(node) ((struct X3D_VRML1_Separator*)node)
#define X3D_ELEVATIONGRID(node) ((struct X3D_ElevationGrid*)node)
#define X3D_INDEXEDTRIANGLEFANSET(node) ((struct X3D_IndexedTriangleFanSet*)node)
#define X3D_INDEXEDTRIANGLESET(node) ((struct X3D_IndexedTriangleSet*)node)
#define X3D_INDEXEDTRIANGLESTRIPSET(node) ((struct X3D_IndexedTriangleStripSet*)node)
#define X3D_TRIANGLEFANSET(node) ((struct X3D_TriangleFanSet*)node)
#define X3D_TRIANGLESET(node) ((struct X3D_TriangleSet*)node)
#define X3D_TRIANGLESTRIPSET(node) ((struct X3D_TriangleStripSet*)node)
#define X3D_GEOORIGIN(node) ((struct X3D_GeoOrigin*)node)
#define X3D_GEOLOD(node) ((struct X3D_GeoLOD*)node)
#define X3D_GEOCOORD(node) ((struct X3D_GeoCoordinate*)node)
#define X3D_GEOVIEWPOINT(node) ((struct X3D_GeoViewpoint*)node)
#define X3D_GEOELEVATIONGRID(node) ((struct X3D_GeoElevationGrid*)node)
#define X3D_GEOLOCATION(node) ((struct X3D_GeoLocation*)node)
#define X3D_GEOTRANSFORM(node) ((struct X3D_GeoTransform*)node)
#define X3D_GEOPROXIMITYSENSOR(node) ((struct X3D_GeoProximitySensor*)node)
#define X3D_COLOR(node) ((struct X3D_Color*)node)
#define X3D_COORDINATE(node) ((struct X3D_Coordinate*)node)
#define X3D_NORMAL(node) ((struct X3D_Normal*)node)
#define X3D_TEXTURECOORDINATE(node) ((struct X3D_TextureCoordinate*)node)
#define X3D_IMAGETEXTURE(node) ((struct X3D_ImageTexture*)node)
#define X3D_TEXTUREPROPERTIES(node) ((struct X3D_TextureProperties*)node)
#define X3D_PIXELTEXTURE(node) ((struct X3D_PixelTexture*)node)
#undef DEBUG_VALIDNODE
#ifdef DEBUG_VALIDNODE	
#define X3D_NODE_CHECK(node) checkNode(node,__FILE__,__LINE__)
#define MARK_EVENT(node,offset) mark_event_check(node,(int) offset,__FILE__,__LINE__)
#else
#define X3D_NODE_CHECK(node)
#define MARK_EVENT(node,offset)	mark_event(node,(int) offset)
#endif
#define COPY_SFVEC3F_TO_POINT_XYZ(too,from) { too.x = from[0]; too.y = from[1]; too.z = from[2];}
#define COPY_POINT_XYZ_TO_SFVEC3F(too,from) { too[0] = (float) from.x; too[1] = (float) from.y; too[2] = (float) from.z;}
#define offsetPointer_deref(t, me, offs) ((t)(((char*)(me))+offs))

/* now, generated structures for each VRML/X3D Node*/
/***********************/
struct X3D_Anchor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * _parentResource;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct Uni_String *description;
	struct X3D_Node *metadata;
	struct Multi_String parameter;
	struct Multi_Node removeChildren;
	struct Multi_String url;
};
extern struct X3D_Virt virt_Anchor;
/***********************/
struct X3D_Appearance {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *fillProperties;
	struct X3D_Node *lineProperties;
	struct X3D_Node *material;
	struct X3D_Node *metadata;
	struct Multi_Node shaders;
	struct X3D_Node *texture;
	struct X3D_Node *textureTransform;
};
extern struct X3D_Virt virt_Appearance;
/***********************/
struct X3D_Arc2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __numPoints;
	struct Multi_Vec2f __points;
	float endAngle;
	struct X3D_Node *metadata;
	float radius;
	float startAngle;
};
extern struct X3D_Virt virt_Arc2D;
/***********************/
struct X3D_ArcClose2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __numPoints;
	struct Multi_Vec2f __points;
	struct Uni_String *closureType;
	float endAngle;
	struct X3D_Node *metadata;
	float radius;
	int solid;
	float startAngle;
};
extern struct X3D_Virt virt_ArcClose2D;
/***********************/
struct X3D_AudioClip {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double __inittime;
	void * __localFileName;
	int __sourceNumber;
	void * _parentResource;
	struct Uni_String *description;
	double duration_changed;
	double elapsedTime;
	int isActive;
	int isPaused;
	int loop;
	struct X3D_Node *metadata;
	double pauseTime;
	float pitch;
	double resumeTime;
	double startTime;
	double stopTime;
	struct Multi_String url;
};
extern struct X3D_Virt virt_AudioClip;
/***********************/
struct X3D_Background {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __VBO;
	struct X3D_Node *__backTexture;
	struct X3D_Node *__bottomTexture;
	struct Multi_Color __colours;
	struct X3D_Node *__frontTexture;
	struct X3D_Node *__leftTexture;
	struct Multi_Vec3f __points;
	int __quadcount;
	struct X3D_Node *__rightTexture;
	int __textureright;
	struct X3D_Node *__topTexture;
	void * _parentResource;
	struct Multi_String backUrl;
	double bindTime;
	struct Multi_String bottomUrl;
	struct Multi_String frontUrl;
	struct Multi_Float groundAngle;
	struct Multi_Color groundColor;
	int isBound;
	struct Multi_String leftUrl;
	struct X3D_Node *metadata;
	struct Multi_String rightUrl;
	int set_bind;
	struct Multi_Float skyAngle;
	struct Multi_Color skyColor;
	struct Multi_String topUrl;
	float transparency;
};
extern struct X3D_Virt virt_Background;
/***********************/
struct X3D_Billboard {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double _rotationAngle;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f axisOfRotation;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_Billboard;
/***********************/
struct X3D_BooleanFilter {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int inputFalse;
	int inputNegate;
	int inputTrue;
	struct X3D_Node *metadata;
	int set_boolean;
};
extern struct X3D_Virt virt_BooleanFilter;
/***********************/
struct X3D_BooleanSequencer {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Bool keyValue;
	struct X3D_Node *metadata;
	int next;
	int previous;
	float set_fraction;
	int value_changed;
};
extern struct X3D_Virt virt_BooleanSequencer;
/***********************/
struct X3D_BooleanToggle {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	int set_boolean;
	int toggle;
};
extern struct X3D_Virt virt_BooleanToggle;
/***********************/
struct X3D_BooleanTrigger {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	double set_triggerTime;
	int triggerTrue;
};
extern struct X3D_Virt virt_BooleanTrigger;
/***********************/
struct X3D_Box {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f __points;
	struct X3D_Node *metadata;
	struct SFVec3f size;
	int solid;
};
extern struct X3D_Virt virt_Box;
/***********************/
struct X3D_Circle2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __numPoints;
	struct Multi_Vec2f __points;
	struct X3D_Node *metadata;
	float radius;
};
extern struct X3D_Virt virt_Circle2D;
/***********************/
struct X3D_ClipPlane {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int enabled;
	struct X3D_Node *metadata;
	struct SFVec4f plane;
};
extern struct X3D_Virt virt_ClipPlane;
/***********************/
struct X3D_Collision {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __hit;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	int collide;
	double collideTime;
	int enabled;
	struct X3D_Node *metadata;
	struct X3D_Node *proxy;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_Collision;
/***********************/
struct X3D_Color {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Color color;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_Color;
/***********************/
struct X3D_ColorInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Color keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct SFColor value_changed;
};
extern struct X3D_Virt virt_ColorInterpolator;
/***********************/
struct X3D_ColorRGBA {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_ColorRGBA color;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_ColorRGBA;
/***********************/
struct X3D_ComposedCubeMapTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * _parentResource;
	struct X3D_Node *back;
	struct X3D_Node *bottom;
	struct X3D_Node *front;
	struct X3D_Node *left;
	struct X3D_Node *metadata;
	struct X3D_Node *right;
	struct X3D_Node *top;
};
extern struct X3D_Virt virt_ComposedCubeMapTexture;
/***********************/
struct X3D_ComposedShader {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __initialized;
	struct Multi_Int32 __shaderIDS;
	struct X3D_Node *__shaderObj;
	int activate;
	int isSelected;
	int isValid;
	struct Uni_String *language;
	struct X3D_Node *metadata;
	struct Multi_Node parts;
};
extern struct X3D_Virt virt_ComposedShader;
/***********************/
struct X3D_Cone {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f __botpoints;
	int __coneTriangles;
	int __coneVBO;
	struct Multi_Vec3f __normals;
	struct Multi_Vec3f __sidepoints;
	int bottom;
	float bottomRadius;
	float height;
	struct X3D_Node *metadata;
	int side;
	int solid;
};
extern struct X3D_Virt virt_Cone;
/***********************/
struct X3D_Contour2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node addChildren;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_Contour2D;
/***********************/
struct X3D_ContourPolyLine2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_ContourPolyLine2D;
/***********************/
struct X3D_Coordinate {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Multi_Vec3f point;
};
extern struct X3D_Virt virt_Coordinate;
/***********************/
struct X3D_CoordinateInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Vec3f keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct Multi_Vec3f value_changed;
};
extern struct X3D_Virt virt_CoordinateInterpolator;
/***********************/
struct X3D_CoordinateInterpolator2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Vec2f keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct Multi_Vec2f value_changed;
};
extern struct X3D_Virt virt_CoordinateInterpolator2D;
/***********************/
struct X3D_Cylinder {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __cylinderTriangles;
	int __cylinderVBO;
	struct Multi_Vec3f __normals;
	struct Multi_Vec3f __points;
	int bottom;
	float height;
	struct X3D_Node *metadata;
	float radius;
	int side;
	int solid;
	int top;
};
extern struct X3D_Virt virt_Cylinder;
/***********************/
struct X3D_CylinderSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	int _dlchange;
	struct SFRotation _oldrotation;
	struct SFVec3f _oldtrackPoint;
	struct SFVec3f _origPoint;
	float _radius;
	int autoOffset;
	struct Uni_String *description;
	float diskAngle;
	int enabled;
	int isActive;
	int isOver;
	float maxAngle;
	struct X3D_Node *metadata;
	float minAngle;
	float offset;
	struct SFRotation rotation_changed;
	struct SFVec3f trackPoint_changed;
};
extern struct X3D_Virt virt_CylinderSensor;
/***********************/
struct X3D_DISEntityManager {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node addedEntities;
	struct Uni_String *address;
	int applicationID;
	struct Multi_Node mapping;
	struct X3D_Node *metadata;
	int port;
	struct Multi_Node removedEntities;
	int siteID;
};
extern struct X3D_Virt virt_DISEntityManager;
/***********************/
struct X3D_DISEntityTypeMapping {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int category;
	int country;
	int domain;
	int extra;
	int kind;
	struct X3D_Node *metadata;
	int specific;
	int subcategory;
	struct Multi_String url;
};
extern struct X3D_Virt virt_DISEntityTypeMapping;
/***********************/
struct X3D_DirectionalLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float ambientIntensity;
	struct SFColor color;
	struct SFVec3f direction;
	int global;
	float intensity;
	struct X3D_Node *metadata;
	int on;
};
extern struct X3D_Virt virt_DirectionalLight;
/***********************/
struct X3D_Disk2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __numPoints;
	struct Multi_Vec2f __points;
	int __simpleDisk;
	void * __texCoords;
	float innerRadius;
	struct X3D_Node *metadata;
	float outerRadius;
	int solid;
};
extern struct X3D_Virt virt_Disk2D;
/***********************/
struct X3D_EaseInEaseOut {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2f easeInEaseOut;
	struct Multi_Float key;
	struct X3D_Node *metadata;
	float modifiedFraction_changed;
	float set_fraction;
};
extern struct X3D_Virt virt_EaseInEaseOut;
/***********************/
struct X3D_ElevationGrid {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	float creaseAngle;
	struct X3D_Node *fogCoord;
	struct Multi_Float height;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	struct Multi_Float set_height;
	int solid;
	struct X3D_Node *texCoord;
	int xDimension;
	float xSpacing;
	int zDimension;
	float zSpacing;
};
extern struct X3D_Virt virt_ElevationGrid;
/***********************/
struct X3D_EspduTransform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node addChildren;
	struct Uni_String *address;
	int applicationID;
	struct Multi_Float articulationParameterArray;
	struct Multi_Int32 articulationParameterChangeIndicatorArr;
	int articulationParameterCount;
	struct Multi_Int32 articulationParameterDesignatorArray;
	struct Multi_Int32 articulationParameterIdPartAttachedToAr;
	struct Multi_Int32 articulationParameterTypeArray;
	float articulationParameterValue0_changed;
	float articulationParameterValue1_changed;
	float articulationParameterValue2_changed;
	float articulationParameterValue3_changed;
	float articulationParameterValue4_changed;
	float articulationParameterValue5_changed;
	float articulationParameterValue6_changed;
	float articulationParameterValue7_changed;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_Node children;
	double collideTime;
	int collisionType;
	int deadReckoning;
	double detonateTime;
	struct SFVec3f detonationLocation;
	struct SFVec3f detonationRelativeLocation;
	int detonationResult;
	int enabled;
	int entityCategory;
	int entityCountry;
	int entityDomain;
	int entityExtra;
	int entityID;
	int entityKind;
	int entitySpecific;
	int entitySubCategory;
	int eventApplicationID;
	int eventEntityID;
	int eventNumber;
	int eventSiteID;
	int fireMissionIndex;
	int fired1;
	int fired2;
	double firedTime;
	float firingRange;
	int firingRate;
	int forceID;
	int fuse;
	int isActive;
	int isCollided;
	int isDetonated;
	int isNetworkReader;
	int isNetworkWriter;
	int isRtpHeaderHeard;
	int isStandAlone;
	struct SFVec3f linearAcceleration;
	struct SFVec3f linearVelocity;
	struct Uni_String *marking;
	struct X3D_Node *metadata;
	struct Uni_String *multicastRelayHost;
	int multicastRelayPort;
	int munitionApplicationID;
	struct SFVec3f munitionEndPoint;
	int munitionEntityID;
	int munitionQuantity;
	int munitionSiteID;
	struct SFVec3f munitionStartPoint;
	struct Uni_String *networkMode;
	int port;
	double readInterval;
	struct Multi_Node removeChildren;
	struct SFRotation rotation;
	int rtpHeaderExpected;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	float set_articulationParameterValue0;
	float set_articulationParameterValue1;
	float set_articulationParameterValue2;
	float set_articulationParameterValue3;
	float set_articulationParameterValue4;
	float set_articulationParameterValue5;
	float set_articulationParameterValue6;
	float set_articulationParameterValue7;
	int siteID;
	double timestamp;
	struct SFVec3f translation;
	int warhead;
	double writeInterval;
};
extern struct X3D_Virt virt_EspduTransform;
/***********************/
struct X3D_Extrusion {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int beginCap;
	int ccw;
	int convex;
	float creaseAngle;
	struct Multi_Vec2f crossSection;
	int endCap;
	struct X3D_Node *metadata;
	struct Multi_Rotation orientation;
	struct Multi_Vec2f scale;
	struct Multi_Vec2f set_crossSection;
	struct Multi_Rotation set_orientation;
	struct Multi_Vec2f set_scale;
	struct Multi_Vec3f set_spine;
	int solid;
	struct Multi_Vec3f spine;
};
extern struct X3D_Virt virt_Extrusion;
/***********************/
struct X3D_FillProperties {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int filled;
	struct SFColor hatchColor;
	int hatchStyle;
	int hatched;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_FillProperties;
/***********************/
struct X3D_FloatVertexAttribute {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	int numComponents;
	struct Multi_Float value;
};
extern struct X3D_Virt virt_FloatVertexAttribute;
/***********************/
struct X3D_Fog {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double bindTime;
	struct SFColor color;
	struct Uni_String *fogType;
	int isBound;
	struct X3D_Node *metadata;
	int set_bind;
	float visibilityRange;
};
extern struct X3D_Virt virt_Fog;
/***********************/
struct X3D_FogCoordinate {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float depth;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_FogCoordinate;
/***********************/
struct X3D_FontStyle {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_String family;
	int horizontal;
	struct Multi_String justify;
	struct Uni_String *language;
	int leftToRight;
	struct X3D_Node *metadata;
	float size;
	float spacing;
	struct Uni_String *style;
	int topToBottom;
};
extern struct X3D_Virt virt_FontStyle;
/***********************/
struct X3D_GeneratedCubeMapTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __textureTableIndex;
	struct X3D_Node *metadata;
	int size;
	struct X3D_Node *textureProperties;
	struct Uni_String *update;
};
extern struct X3D_Virt virt_GeneratedCubeMapTexture;
/***********************/
struct X3D_GeoCoordinate {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct Multi_Vec3f __movedCoords;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct X3D_Node *metadata;
	struct Multi_Vec3d point;
};
extern struct X3D_Virt virt_GeoCoordinate;
/***********************/
struct X3D_GeoElevationGrid {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct Multi_Int32 _coordIndex;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	double creaseAngle;
	struct SFVec3d geoGridOrigin;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct Multi_Double height;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	struct Multi_Double set_height;
	int solid;
	struct X3D_Node *texCoord;
	int xDimension;
	double xSpacing;
	float yScale;
	int zDimension;
	double zSpacing;
};
extern struct X3D_Virt virt_GeoElevationGrid;
/***********************/
struct X3D_GeoLOD {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *__child1Node;
	struct X3D_Node *__child2Node;
	struct X3D_Node *__child3Node;
	struct X3D_Node *__child4Node;
	int __childloadstatus;
	struct Multi_Int32 __geoSystem;
	int __inRange;
	int __level;
	struct SFVec3d __movedCoords;
	struct X3D_Node *__rootUrl;
	int __rooturlloadstatus;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3d center;
	struct Multi_String child1Url;
	struct Multi_String child2Url;
	struct Multi_String child3Url;
	struct Multi_String child4Url;
	struct Multi_Node children;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	int level_changed;
	struct X3D_Node *metadata;
	float range;
	struct Multi_Node rootNode;
	struct Multi_String rootUrl;
};
extern struct X3D_Virt virt_GeoLOD;
/***********************/
struct X3D_GeoLocation {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct SFVec4d __localOrient;
	struct SFVec3d __movedCoords;
	struct Multi_Node __oldChildren;
	struct SFVec3d __oldgeoCoords;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct SFVec3d geoCoords;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_GeoLocation;
/***********************/
struct X3D_GeoMetadata {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node data;
	struct X3D_Node *metadata;
	struct Multi_String summary;
	struct Multi_String url;
};
extern struct X3D_Virt virt_GeoMetadata;
/***********************/
struct X3D_GeoOrigin {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct SFVec3d __movedCoords;
	struct Multi_String __oldMFString;
	struct SFVec3d __oldgeoCoords;
	struct SFVec4d __rotyup;
	struct SFVec3d geoCoords;
	struct Multi_String geoSystem;
	struct X3D_Node *metadata;
	int rotateYUp;
};
extern struct X3D_Virt virt_GeoOrigin;
/***********************/
struct X3D_GeoPositionInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct Multi_Vec3d __movedValue;
	struct Multi_Float __oldKeyPtr;
	struct Multi_Vec3d __oldKeyValuePtr;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct SFVec3d geovalue_changed;
	struct Multi_Float key;
	struct Multi_Vec3d keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct SFVec3f value_changed;
};
extern struct X3D_Virt virt_GeoPositionInterpolator;
/***********************/
struct X3D_GeoProximitySensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	int __hit;
	struct SFVec4d __localOrient;
	struct SFVec3d __movedCoords;
	int __oldEnabled;
	struct SFVec3d __oldGeoCenter;
	struct SFVec3f __oldSize;
	struct SFVec3f __t1;
	struct SFRotation __t2;
	struct SFVec3f centerOfRotation_changed;
	int enabled;
	double enterTime;
	double exitTime;
	struct SFVec3d geoCenter;
	struct SFVec3d geoCoord_changed;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	int isActive;
	struct X3D_Node *metadata;
	struct SFRotation orientation_changed;
	struct SFVec3f position_changed;
	struct SFVec3f size;
};
extern struct X3D_Virt virt_GeoProximitySensor;
/***********************/
struct X3D_GeoTouchSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	int __oldEnabled;
	struct SFVec3f _oldhitNormal;
	struct SFVec3f _oldhitPoint;
	struct SFVec2f _oldhitTexCoord;
	struct Uni_String *description;
	int enabled;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct SFVec3d hitGeoCoord_changed;
	struct SFVec3f hitNormal_changed;
	struct SFVec3f hitPoint_changed;
	struct SFVec2f hitTexCoord_changed;
	int isActive;
	int isOver;
	struct X3D_Node *metadata;
	double touchTime;
};
extern struct X3D_Virt virt_GeoTouchSensor;
/***********************/
struct X3D_GeoTransform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __do_center;
	int __do_rotation;
	int __do_scale;
	int __do_scaleO;
	int __do_trans;
	struct Multi_Int32 __geoSystem;
	struct SFVec4d __localOrient;
	struct SFVec3d __movedCoords;
	struct Multi_Node __oldChildren;
	struct SFVec3d __oldGeoCenter;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct SFVec3d geoCenter;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
	struct SFRotation rotation;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	struct SFVec3f translation;
};
extern struct X3D_Virt virt_GeoTransform;
/***********************/
struct X3D_GeoViewpoint {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 __geoSystem;
	struct SFRotation __movedOrientation;
	struct SFVec3d __movedPosition;
	float __oldFieldOfView;
	int __oldHeadlight;
	int __oldJump;
	struct Multi_String __oldMFString;
	struct Uni_String *__oldSFString;
	double bindTime;
	struct Uni_String *description;
	float fieldOfView;
	struct X3D_Node *geoOrigin;
	struct Multi_String geoSystem;
	int headlight;
	int isBound;
	int jump;
	struct X3D_Node *metadata;
	struct Multi_String navType;
	struct SFRotation orientation;
	struct SFVec3d position;
	int set_bind;
	struct SFRotation set_orientation;
	struct SFVec3d set_position;
	float speedFactor;
};
extern struct X3D_Virt virt_GeoViewpoint;
/***********************/
struct X3D_Group {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node FreeWRL_PROTOInterfaceNodes;
	int FreeWRL__protoDef;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_Group;
/***********************/
struct X3D_HAnimDisplacer {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 coordIndex;
	struct Multi_Vec3f displacements;
	struct X3D_Node *metadata;
	struct Uni_String *name;
	float weight;
};
extern struct X3D_Virt virt_HAnimDisplacer;
/***********************/
struct X3D_HAnimHumanoid {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_String info;
	struct Multi_Node joints;
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct SFRotation rotation;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	struct Multi_Node segments;
	struct Multi_Node sites;
	struct Multi_Node skeleton;
	struct Multi_Node skin;
	struct X3D_Node *skinCoord;
	struct X3D_Node *skinNormal;
	struct SFVec3f translation;
	struct Uni_String *version;
	struct Multi_Node viewpoints;
};
extern struct X3D_Virt virt_HAnimHumanoid;
/***********************/
struct X3D_HAnimJoint {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __do_center;
	int __do_rotation;
	int __do_scale;
	int __do_scaleO;
	int __do_trans;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_Node children;
	struct Multi_Node displacers;
	struct SFRotation limitOrientation;
	struct Multi_Float llimit;
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Multi_Node removeChildren;
	struct SFRotation rotation;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	struct Multi_Int32 skinCoordIndex;
	struct Multi_Float skinCoordWeight;
	struct Multi_Float stiffness;
	struct SFVec3f translation;
	struct Multi_Float ulimit;
};
extern struct X3D_Virt virt_HAnimJoint;
/***********************/
struct X3D_HAnimSegment {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f centerOfMass;
	struct Multi_Node children;
	struct X3D_Node *coord;
	struct Multi_Node displacers;
	float mass;
	struct X3D_Node *metadata;
	struct Multi_Float momentsOfInertia;
	struct Uni_String *name;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_HAnimSegment;
/***********************/
struct X3D_HAnimSite {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __do_center;
	int __do_rotation;
	int __do_scale;
	int __do_scaleO;
	int __do_trans;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Multi_Node removeChildren;
	struct SFRotation rotation;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	struct SFVec3f translation;
};
extern struct X3D_Virt virt_HAnimSite;
/***********************/
struct X3D_ImageCubeMapTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __regenSubTextures;
	struct Multi_Node __subTextures;
	int __textureTableIndex;
	void * _parentResource;
	struct X3D_Node *metadata;
	struct X3D_Node *textureProperties;
	struct Multi_String url;
};
extern struct X3D_Virt virt_ImageCubeMapTexture;
/***********************/
struct X3D_ImageTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __textureTableIndex;
	void * _parentResource;
	struct X3D_Node *metadata;
	int repeatS;
	int repeatT;
	struct X3D_Node *textureProperties;
	struct Multi_String url;
};
extern struct X3D_Virt virt_ImageTexture;
/***********************/
struct X3D_IndexedFaceSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	struct Multi_Int32 colorIndex;
	int colorPerVertex;
	int convex;
	struct X3D_Node *coord;
	struct Multi_Int32 coordIndex;
	float creaseAngle;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	struct Multi_Int32 normalIndex;
	int normalPerVertex;
	struct Multi_Int32 set_colorIndex;
	struct Multi_Int32 set_coordIndex;
	struct Multi_Int32 set_normalIndex;
	struct Multi_Int32 set_texCoordIndex;
	int solid;
	struct X3D_Node *texCoord;
	struct Multi_Int32 texCoordIndex;
};
extern struct X3D_Virt virt_IndexedFaceSet;
/***********************/
struct X3D_IndexedLineSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * __colours;
	int __segCount;
	void * __vertArr;
	void * __vertIndx;
	void * __vertexCount;
	void * __vertices;
	struct Multi_Node attrib;
	struct X3D_Node *color;
	struct Multi_Int32 colorIndex;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct Multi_Int32 coordIndex;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct Multi_Int32 set_colorIndex;
	struct Multi_Int32 set_coordIndex;
};
extern struct X3D_Virt virt_IndexedLineSet;
/***********************/
struct X3D_IndexedTriangleFanSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct Multi_Int32 index;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	struct Multi_Int32 set_index;
	int solid;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_IndexedTriangleFanSet;
/***********************/
struct X3D_IndexedTriangleSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct Multi_Int32 index;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	struct Multi_Int32 set_index;
	int solid;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_IndexedTriangleSet;
/***********************/
struct X3D_IndexedTriangleStripSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct Multi_Int32 index;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	struct Multi_Int32 set_index;
	int solid;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_IndexedTriangleStripSet;
/***********************/
struct X3D_Inline {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node __children;
	void * __loadResource;
	int __loadstatus;
	void * _parentResource;
	struct Multi_Node _sortedChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	int load;
	struct X3D_Node *metadata;
	struct Multi_String url;
};
extern struct X3D_Virt virt_Inline;
/***********************/
struct X3D_IntegerSequencer {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Int32 keyValue;
	struct X3D_Node *metadata;
	int next;
	int previous;
	float set_fraction;
	int value_changed;
};
extern struct X3D_Virt virt_IntegerSequencer;
/***********************/
struct X3D_IntegerTrigger {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int integerKey;
	struct X3D_Node *metadata;
	double set_triggerTime;
	int triggerValue;
};
extern struct X3D_Virt virt_IntegerTrigger;
/***********************/
struct X3D_KeySensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	int actionKeyPress;
	int actionKeyRelease;
	int altKey;
	int controlKey;
	int enabled;
	int isActive;
	struct Uni_String *keyPress;
	struct Uni_String *keyRelease;
	struct X3D_Node *metadata;
	int shiftKey;
};
extern struct X3D_Virt virt_KeySensor;
/***********************/
struct X3D_LOD {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __isX3D;
	void * _selected;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_Node children;
	int forceTransitions;
	struct Multi_Node level;
	int levelChanged;
	struct X3D_Node *metadata;
	struct Multi_Float range;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_LOD;
/***********************/
struct X3D_LineProperties {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int applied;
	int linetype;
	float linewidthScaleFactor;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_LineProperties;
/***********************/
struct X3D_LineSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __segCount;
	void * __vertArr;
	void * __vertIndx;
	struct Multi_Node attrib;
	struct X3D_Node *color;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct Multi_Int32 vertexCount;
};
extern struct X3D_Virt virt_LineSet;
/***********************/
struct X3D_LoadSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double __StartLoadTime;
	int __finishedloading;
	int __loading;
	int __oldEnabled;
	int enabled;
	int isActive;
	int isLoaded;
	double loadTime;
	struct X3D_Node *metadata;
	float progress;
	double timeOut;
	struct Multi_Node watchList;
};
extern struct X3D_Virt virt_LoadSensor;
/***********************/
struct X3D_LocalFog {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColor color;
	int enabled;
	struct Uni_String *fogType;
	struct X3D_Node *metadata;
	float visibilityRange;
};
extern struct X3D_Virt virt_LocalFog;
/***********************/
struct X3D_Material {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float _verifiedColor;
	float ambientIntensity;
	struct SFColor diffuseColor;
	struct SFColor emissiveColor;
	struct X3D_Node *metadata;
	float shininess;
	struct SFColor specularColor;
	float transparency;
};
extern struct X3D_Virt virt_Material;
/***********************/
struct X3D_Matrix3VertexAttribute {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Multi_Matrix3f value;
};
extern struct X3D_Virt virt_Matrix3VertexAttribute;
/***********************/
struct X3D_Matrix4VertexAttribute {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Multi_Matrix4f value;
};
extern struct X3D_Virt virt_Matrix4VertexAttribute;
/***********************/
struct X3D_MetadataDouble {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Uni_String *reference;
	struct Multi_Double value;
};
extern struct X3D_Virt virt_MetadataDouble;
/***********************/
struct X3D_MetadataFloat {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Uni_String *reference;
	struct Multi_Float value;
};
extern struct X3D_Virt virt_MetadataFloat;
/***********************/
struct X3D_MetadataInteger {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Uni_String *reference;
	struct Multi_Int32 value;
};
extern struct X3D_Virt virt_MetadataInteger;
/***********************/
struct X3D_MetadataMFBool {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Bool setValue;
	double tickTime;
	struct Multi_Bool value;
	struct Multi_Bool valueChanged;
};
extern struct X3D_Virt virt_MetadataMFBool;
/***********************/
struct X3D_MetadataMFColor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Color setValue;
	double tickTime;
	struct Multi_Color value;
	struct Multi_Color valueChanged;
};
extern struct X3D_Virt virt_MetadataMFColor;
/***********************/
struct X3D_MetadataMFColorRGBA {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_ColorRGBA setValue;
	double tickTime;
	struct Multi_ColorRGBA value;
	struct Multi_ColorRGBA valueChanged;
};
extern struct X3D_Virt virt_MetadataMFColorRGBA;
/***********************/
struct X3D_MetadataMFDouble {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Double setValue;
	double tickTime;
	struct Multi_Double value;
	struct Multi_Double valueChanged;
};
extern struct X3D_Virt virt_MetadataMFDouble;
/***********************/
struct X3D_MetadataMFFloat {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float setValue;
	double tickTime;
	struct Multi_Float value;
	struct Multi_Float valueChanged;
};
extern struct X3D_Virt virt_MetadataMFFloat;
/***********************/
struct X3D_MetadataMFInt32 {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 setValue;
	double tickTime;
	struct Multi_Int32 value;
	struct Multi_Int32 valueChanged;
};
extern struct X3D_Virt virt_MetadataMFInt32;
/***********************/
struct X3D_MetadataMFMatrix3d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Matrix3d setValue;
	double tickTime;
	struct Multi_Matrix3d value;
	struct Multi_Matrix3d valueChanged;
};
extern struct X3D_Virt virt_MetadataMFMatrix3d;
/***********************/
struct X3D_MetadataMFMatrix3f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Matrix3f setValue;
	double tickTime;
	struct Multi_Matrix3f value;
	struct Multi_Matrix3f valueChanged;
};
extern struct X3D_Virt virt_MetadataMFMatrix3f;
/***********************/
struct X3D_MetadataMFMatrix4d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Matrix4d setValue;
	double tickTime;
	struct Multi_Matrix4d value;
	struct Multi_Matrix4d valueChanged;
};
extern struct X3D_Virt virt_MetadataMFMatrix4d;
/***********************/
struct X3D_MetadataMFMatrix4f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Matrix4f setValue;
	double tickTime;
	struct Multi_Matrix4f value;
	struct Multi_Matrix4f valueChanged;
};
extern struct X3D_Virt virt_MetadataMFMatrix4f;
/***********************/
struct X3D_MetadataMFNode {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node setValue;
	double tickTime;
	struct Multi_Node value;
	struct Multi_Node valueChanged;
};
extern struct X3D_Virt virt_MetadataMFNode;
/***********************/
struct X3D_MetadataMFRotation {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Rotation setValue;
	double tickTime;
	struct Multi_Rotation value;
	struct Multi_Rotation valueChanged;
};
extern struct X3D_Virt virt_MetadataMFRotation;
/***********************/
struct X3D_MetadataMFString {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_String setValue;
	double tickTime;
	struct Multi_String value;
	struct Multi_String valueChanged;
};
extern struct X3D_Virt virt_MetadataMFString;
/***********************/
struct X3D_MetadataMFTime {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Time setValue;
	double tickTime;
	struct Multi_Time value;
	struct Multi_Time valueChanged;
};
extern struct X3D_Virt virt_MetadataMFTime;
/***********************/
struct X3D_MetadataMFVec2d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2d setValue;
	double tickTime;
	struct Multi_Vec2d value;
	struct Multi_Vec2d valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec2d;
/***********************/
struct X3D_MetadataMFVec2f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2f setValue;
	double tickTime;
	struct Multi_Vec2f value;
	struct Multi_Vec2f valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec2f;
/***********************/
struct X3D_MetadataMFVec3d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3d setValue;
	double tickTime;
	struct Multi_Vec3d value;
	struct Multi_Vec3d valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec3d;
/***********************/
struct X3D_MetadataMFVec3f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f setValue;
	double tickTime;
	struct Multi_Vec3f value;
	struct Multi_Vec3f valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec3f;
/***********************/
struct X3D_MetadataMFVec4d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec4d setValue;
	double tickTime;
	struct Multi_Vec4d value;
	struct Multi_Vec4d valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec4d;
/***********************/
struct X3D_MetadataMFVec4f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec4f setValue;
	double tickTime;
	struct Multi_Vec4f value;
	struct Multi_Vec4f valueChanged;
};
extern struct X3D_Virt virt_MetadataMFVec4f;
/***********************/
struct X3D_MetadataSFBool {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int setValue;
	double tickTime;
	int value;
	int valueChanged;
};
extern struct X3D_Virt virt_MetadataSFBool;
/***********************/
struct X3D_MetadataSFColor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColor setValue;
	double tickTime;
	struct SFColor value;
	struct SFColor valueChanged;
};
extern struct X3D_Virt virt_MetadataSFColor;
/***********************/
struct X3D_MetadataSFColorRGBA {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColorRGBA setValue;
	double tickTime;
	struct SFColorRGBA value;
	struct SFColorRGBA valueChanged;
};
extern struct X3D_Virt virt_MetadataSFColorRGBA;
/***********************/
struct X3D_MetadataSFDouble {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double setValue;
	double tickTime;
	double value;
	double valueChanged;
};
extern struct X3D_Virt virt_MetadataSFDouble;
/***********************/
struct X3D_MetadataSFFloat {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float setValue;
	double tickTime;
	float value;
	float valueChanged;
};
extern struct X3D_Virt virt_MetadataSFFloat;
/***********************/
struct X3D_MetadataSFImage {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 setValue;
	double tickTime;
	struct Multi_Int32 value;
	struct Multi_Int32 valueChanged;
};
extern struct X3D_Virt virt_MetadataSFImage;
/***********************/
struct X3D_MetadataSFInt32 {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int setValue;
	double tickTime;
	int value;
	int valueChanged;
};
extern struct X3D_Virt virt_MetadataSFInt32;
/***********************/
struct X3D_MetadataSFMatrix3d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFMatrix3d setValue;
	double tickTime;
	struct SFMatrix3d value;
	struct SFMatrix3d valueChanged;
};
extern struct X3D_Virt virt_MetadataSFMatrix3d;
/***********************/
struct X3D_MetadataSFMatrix3f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFMatrix3f setValue;
	double tickTime;
	struct SFMatrix3f value;
	struct SFMatrix3f valueChanged;
};
extern struct X3D_Virt virt_MetadataSFMatrix3f;
/***********************/
struct X3D_MetadataSFMatrix4d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFMatrix4d setValue;
	double tickTime;
	struct SFMatrix4d value;
	struct SFMatrix4d valueChanged;
};
extern struct X3D_Virt virt_MetadataSFMatrix4d;
/***********************/
struct X3D_MetadataSFMatrix4f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFMatrix4f setValue;
	double tickTime;
	struct SFMatrix4f value;
	struct SFMatrix4f valueChanged;
};
extern struct X3D_Virt virt_MetadataSFMatrix4f;
/***********************/
struct X3D_MetadataSFNode {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *setValue;
	double tickTime;
	struct X3D_Node *value;
	struct X3D_Node *valueChanged;
};
extern struct X3D_Virt virt_MetadataSFNode;
/***********************/
struct X3D_MetadataSFRotation {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFRotation setValue;
	double tickTime;
	struct SFRotation value;
	struct SFRotation valueChanged;
};
extern struct X3D_Virt virt_MetadataSFRotation;
/***********************/
struct X3D_MetadataSFString {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *setValue;
	double tickTime;
	struct Uni_String *value;
	struct Uni_String *valueChanged;
};
extern struct X3D_Virt virt_MetadataSFString;
/***********************/
struct X3D_MetadataSFTime {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double setValue;
	double tickTime;
	double value;
	double valueChanged;
};
extern struct X3D_Virt virt_MetadataSFTime;
/***********************/
struct X3D_MetadataSFVec2d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec2d setValue;
	double tickTime;
	struct SFVec2d value;
	struct SFVec2d valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec2d;
/***********************/
struct X3D_MetadataSFVec2f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec2f setValue;
	double tickTime;
	struct SFVec2f value;
	struct SFVec2f valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec2f;
/***********************/
struct X3D_MetadataSFVec3d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3d setValue;
	double tickTime;
	struct SFVec3d value;
	struct SFVec3d valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec3d;
/***********************/
struct X3D_MetadataSFVec3f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f setValue;
	double tickTime;
	struct SFVec3f value;
	struct SFVec3f valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec3f;
/***********************/
struct X3D_MetadataSFVec4d {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec4d setValue;
	double tickTime;
	struct SFVec4d value;
	struct SFVec4d valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec4d;
/***********************/
struct X3D_MetadataSFVec4f {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec4f setValue;
	double tickTime;
	struct SFVec4f value;
	struct SFVec4f valueChanged;
};
extern struct X3D_Virt virt_MetadataSFVec4f;
/***********************/
struct X3D_MetadataSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Uni_String *reference;
	struct Multi_Node value;
};
extern struct X3D_Virt virt_MetadataSet;
/***********************/
struct X3D_MetadataString {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Uni_String *name;
	struct Uni_String *reference;
	struct Multi_String value;
};
extern struct X3D_Virt virt_MetadataString;
/***********************/
struct X3D_MovieTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __textureTableIndex;
	void * _parentResource;
	struct Uni_String *description;
	double duration_changed;
	double elapsedTime;
	int isActive;
	double isPaused;
	int loop;
	struct X3D_Node *metadata;
	double pauseTime;
	int repeatS;
	int repeatT;
	double resumeTime;
	float speed;
	double startTime;
	double stopTime;
	struct X3D_Node *textureProperties;
	struct Multi_String url;
};
extern struct X3D_Virt virt_MovieTexture;
/***********************/
struct X3D_MultiTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * __params;
	float alpha;
	struct SFColor color;
	struct Multi_String function;
	struct X3D_Node *metadata;
	struct Multi_String mode;
	struct Multi_String source;
	struct Multi_Node texture;
};
extern struct X3D_Virt virt_MultiTexture;
/***********************/
struct X3D_MultiTextureCoordinate {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Multi_Node texCoord;
};
extern struct X3D_Virt virt_MultiTextureCoordinate;
/***********************/
struct X3D_MultiTextureTransform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Multi_Node textureTransform;
};
extern struct X3D_Virt virt_MultiTextureTransform;
/***********************/
struct X3D_NavigationInfo {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float avatarSize;
	double bindTime;
	int headlight;
	int isBound;
	struct X3D_Node *metadata;
	int set_bind;
	float speed;
	int transitionComplete;
	double transitionTime;
	struct Multi_String transitionType;
	struct Multi_String type;
	float visibilityLimit;
};
extern struct X3D_Virt virt_NavigationInfo;
/***********************/
struct X3D_Normal {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Multi_Vec3f vector;
};
extern struct X3D_Virt virt_Normal;
/***********************/
struct X3D_NormalInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Vec3f keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct Multi_Vec3f value_changed;
};
extern struct X3D_Virt virt_NormalInterpolator;
/***********************/
struct X3D_NurbsCurve {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f controlPoint;
	struct Multi_Float knot;
	struct X3D_Node *metadata;
	int order;
	int tessellation;
	struct Multi_Float weight;
};
extern struct X3D_Virt virt_NurbsCurve;
/***********************/
struct X3D_NurbsCurve2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2f controlPoint;
	struct Multi_Float knot;
	struct X3D_Node *metadata;
	int order;
	int tessellation;
	struct Multi_Float weight;
};
extern struct X3D_Virt virt_NurbsCurve2D;
/***********************/
struct X3D_NurbsGroup {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
	float tessellationScale;
};
extern struct X3D_Virt virt_NurbsGroup;
/***********************/
struct X3D_NurbsPositionInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int dimension;
	struct Multi_Vec3f keyValue;
	struct Multi_Float keyWeight;
	struct Multi_Float knot;
	struct X3D_Node *metadata;
	int order;
	float set_fraction;
	struct SFVec3f value_changed;
};
extern struct X3D_Virt virt_NurbsPositionInterpolator;
/***********************/
struct X3D_NurbsSurface {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int ccw;
	struct Multi_Vec3f controlPoint;
	struct Multi_Float knot;
	struct X3D_Node *metadata;
	int order;
	struct X3D_Node *texCoord;
	int uTessellation;
	int vTessellation;
	struct Multi_Float weight;
};
extern struct X3D_Virt virt_NurbsSurface;
/***********************/
struct X3D_NurbsTextureSurface {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_NurbsTextureSurface;
/***********************/
struct X3D_NurbsTrimmedSurface {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_NurbsTrimmedSurface;
/***********************/
struct X3D_OSC_Sensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int FIFOsize;
	struct X3D_Node *__oldmetadata;
	void * _floatInpFIFO;
	void * _floatOutFIFO;
	void * _int32InpFIFO;
	void * _int32OutFIFO;
	int _status;
	void * _stringInpFIFO;
	void * _stringOutFIFO;
	struct Multi_Node _talkToNodes;
	struct Uni_String *description;
	int enabled;
	struct Uni_String *filter;
	float floatInp;
	int gotEvents;
	struct Uni_String *handler;
	int int32Inp;
	struct Uni_String *listenfor;
	struct X3D_Node *metadata;
	int port;
	struct Uni_String *protocol;
	struct Uni_String *stringInp;
	struct Multi_String talksTo;
};
extern struct X3D_Virt virt_OSC_Sensor;
/***********************/
struct X3D_OrientationInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Rotation keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct SFRotation value_changed;
};
extern struct X3D_Virt virt_OrientationInterpolator;
/***********************/
struct X3D_OrthoViewpoint {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double bindTime;
	struct SFVec3f centerOfRotation;
	struct Uni_String *description;
	struct Multi_Float fieldOfView;
	int isBound;
	int jump;
	struct X3D_Node *metadata;
	struct SFRotation orientation;
	struct SFVec3f position;
	int retainUserOffsets;
	int set_bind;
};
extern struct X3D_Virt virt_OrthoViewpoint;
/***********************/
struct X3D_PackagedShader {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *__shaderObj;
	int activate;
	int isSelected;
	int isValid;
	struct Uni_String *language;
	struct X3D_Node *metadata;
	struct Multi_String url;
};
extern struct X3D_Virt virt_PackagedShader;
/***********************/
struct X3D_PickableGroup {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node FreeWRL_PROTOInterfaceNodes;
	int FreeWRL__protoDef;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_String objectType;
	int pickable;
	struct Multi_Node removeChildren;
};
extern struct X3D_Virt virt_PickableGroup;
/***********************/
struct X3D_PixelTexture {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __textureTableIndex;
	void * _parentResource;
	struct Multi_Int32 image;
	struct X3D_Node *metadata;
	int repeatS;
	int repeatT;
	struct X3D_Node *textureProperties;
};
extern struct X3D_Virt virt_PixelTexture;
/***********************/
struct X3D_PlaneSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	struct SFVec3f _oldtrackPoint;
	struct SFVec3f _oldtranslation;
	struct SFVec3f _origPoint;
	int autoOffset;
	struct Uni_String *description;
	int enabled;
	int isActive;
	int isOver;
	struct SFVec2f maxPosition;
	struct X3D_Node *metadata;
	struct SFVec2f minPosition;
	struct SFVec3f offset;
	struct SFVec3f trackPoint_changed;
	struct SFVec3f translation_changed;
};
extern struct X3D_Virt virt_PlaneSensor;
/***********************/
struct X3D_PointLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float ambientIntensity;
	struct SFVec3f attenuation;
	struct SFColor color;
	int global;
	float intensity;
	struct SFVec3f location;
	struct X3D_Node *metadata;
	int on;
	float radius;
};
extern struct X3D_Virt virt_PointLight;
/***********************/
struct X3D_PointPickSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f _bboxCenter;
	struct SFVec3f _bboxSize;
	int _oldisActive;
	struct Multi_Node _oldpickTarget;
	struct Multi_Node _oldpickedGeometry;
	struct Multi_Vec3f _oldpickedPoint;
	int enabled;
	struct Uni_String *intersectionType;
	int isActive;
	struct X3D_Node *metadata;
	struct Multi_String objectType;
	struct Multi_Node pickTarget;
	struct Multi_Node pickedGeometry;
	struct Multi_Vec3f pickedPoint;
	struct X3D_Node *pickingGeometry;
	struct Uni_String *set_intersectionType;
	struct Uni_String *set_sortOrder;
	struct Uni_String *sortOrder;
};
extern struct X3D_Virt virt_PointPickSensor;
/***********************/
struct X3D_PointSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node attrib;
	struct X3D_Node *color;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_PointSet;
/***********************/
struct X3D_Polyline2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2f lineSegments;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_Polyline2D;
/***********************/
struct X3D_Polypoint2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	struct Multi_Vec2f point;
};
extern struct X3D_Virt virt_Polypoint2D;
/***********************/
struct X3D_PositionInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Vec3f keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct SFVec3f value_changed;
};
extern struct X3D_Virt virt_PositionInterpolator;
/***********************/
struct X3D_PositionInterpolator2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Vec2f keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	struct SFVec2f value_changed;
};
extern struct X3D_Virt virt_PositionInterpolator2D;
/***********************/
struct X3D_ProgramShader {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __initialized;
	struct Multi_Int32 __shaderIDS;
	int activate;
	int isSelected;
	int isValid;
	struct Uni_String *language;
	struct X3D_Node *metadata;
	struct Multi_Node programs;
};
extern struct X3D_Virt virt_ProgramShader;
/***********************/
struct X3D_ProximitySensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __hit;
	int __oldEnabled;
	struct SFVec3f __t1;
	struct SFRotation __t2;
	struct SFVec3f center;
	struct SFVec3f centerOfRotation_changed;
	int enabled;
	double enterTime;
	double exitTime;
	int isActive;
	struct X3D_Node *metadata;
	struct SFRotation orientation_changed;
	struct SFVec3f position_changed;
	struct SFVec3f size;
};
extern struct X3D_Virt virt_ProximitySensor;
/***********************/
struct X3D_ReceiverPdu {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *address;
	int applicationID;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	int enabled;
	int entityID;
	int isActive;
	int isNetworkReader;
	int isNetworkWriter;
	int isRtpHeaderHeard;
	int isStandAlone;
	struct X3D_Node *metadata;
	struct Uni_String *multicastRelayHost;
	int multicastRelayPort;
	struct Uni_String *networkMode;
	int port;
	int radioID;
	float readInterval;
	float receivedPower;
	int receiverState;
	int rtpHeaderExpected;
	int siteID;
	double timestamp;
	int transmitterApplicationID;
	int transmitterEntityID;
	int transmitterRadioID;
	int transmitterSiteID;
	int whichGeometry;
	float writeInterval;
};
extern struct X3D_Virt virt_ReceiverPdu;
/***********************/
struct X3D_Rectangle2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __numPoints;
	struct Multi_Vec3f __points;
	struct X3D_Node *metadata;
	struct SFVec2f size;
	int solid;
};
extern struct X3D_Virt virt_Rectangle2D;
/***********************/
struct X3D_ScalarInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Float keyValue;
	struct X3D_Node *metadata;
	float set_fraction;
	float value_changed;
};
extern struct X3D_Virt virt_ScalarInterpolator;
/***********************/
struct X3D_Script {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * __scriptObj;
	void * _parentResource;
	int directOutput;
	struct X3D_Node *metadata;
	int mustEvaluate;
	struct Multi_String url;
};
extern struct X3D_Virt virt_Script;
/***********************/
struct X3D_ShaderPart {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * _parentResource;
	struct X3D_Node *metadata;
	struct Uni_String *type;
	struct Multi_String url;
};
extern struct X3D_Virt virt_ShaderPart;
/***********************/
struct X3D_ShaderProgram {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *__shaderObj;
	void * _parentResource;
	struct X3D_Node *metadata;
	struct Uni_String *type;
	struct Multi_String url;
};
extern struct X3D_Virt virt_ShaderProgram;
/***********************/
struct X3D_Shape {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __Samples;
	int __occludeCheckCount;
	int __visible;
	int _shaderTableEntry;
	struct X3D_Node *appearance;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct X3D_Node *geometry;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_Shape;
/***********************/
struct X3D_SignalPdu {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *address;
	int applicationID;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Int32 data;
	int dataLength;
	int enabled;
	int encodingScheme;
	int entityID;
	int isActive;
	int isNetworkReader;
	int isNetworkWriter;
	int isRtpHeaderHeard;
	int isStandAlone;
	struct X3D_Node *metadata;
	struct Uni_String *multicastRelayHost;
	int multicastRelayPort;
	struct Uni_String *networkMode;
	int port;
	int radioID;
	float readInterval;
	int rtpHeaderExpected;
	int sampleRate;
	int samples;
	int siteID;
	int tdlType;
	double timestamp;
	int whichGeometry;
	float writeInterval;
};
extern struct X3D_Virt virt_SignalPdu;
/***********************/
struct X3D_Sound {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f direction;
	float intensity;
	struct SFVec3f location;
	float maxBack;
	float maxFront;
	struct X3D_Node *metadata;
	float minBack;
	float minFront;
	float priority;
	struct X3D_Node *source;
	int spatialize;
};
extern struct X3D_Virt virt_Sound;
/***********************/
struct X3D_Sphere {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f __points;
	int _sideVBO;
	struct X3D_Node *metadata;
	float radius;
	int solid;
};
extern struct X3D_Virt virt_Sphere;
/***********************/
struct X3D_SphereSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	struct SFRotation _oldrotation;
	struct SFVec3f _oldtrackPoint;
	struct SFVec3f _origNormalizedPoint;
	struct SFVec3f _origPoint;
	float _radius;
	int autoOffset;
	struct Uni_String *description;
	int enabled;
	int isActive;
	int isOver;
	struct X3D_Node *metadata;
	struct SFRotation offset;
	struct SFRotation rotation_changed;
	struct SFVec3f trackPoint_changed;
};
extern struct X3D_Virt virt_SphereSensor;
/***********************/
struct X3D_SplinePositionInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int closed;
	struct Multi_Float key;
	struct Multi_Vec3f keyValue;
	struct Multi_Vec3f keyVelocity;
	struct X3D_Node *metadata;
	int normalizeVelocity;
	float set_fraction;
	struct SFVec3f value_changed;
};
extern struct X3D_Virt virt_SplinePositionInterpolator;
/***********************/
struct X3D_SplinePositionInterpolator2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int closed;
	struct Multi_Float key;
	struct Multi_Vec2f keyValue;
	struct Multi_Vec2f keyVelocity;
	struct X3D_Node *metadata;
	int normalizeVelocity;
	float set_fraction;
	struct SFVec2f value_changed;
};
extern struct X3D_Virt virt_SplinePositionInterpolator2D;
/***********************/
struct X3D_SplineScalarInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int closed;
	struct Multi_Float key;
	struct Multi_Float keyValue;
	struct Multi_Float keyVelocity;
	struct X3D_Node *metadata;
	int normalizeVelocity;
	float set_fraction;
	float value_changed;
};
extern struct X3D_Virt virt_SplineScalarInterpolator;
/***********************/
struct X3D_SpotLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float ambientIntensity;
	struct SFVec3f attenuation;
	float beamWidth;
	struct SFColor color;
	float cutOffAngle;
	struct SFVec3f direction;
	int global;
	float intensity;
	struct SFVec3f location;
	struct X3D_Node *metadata;
	int on;
	float radius;
};
extern struct X3D_Virt virt_SpotLight;
/***********************/
struct X3D_SquadOrientationInterpolator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float key;
	struct Multi_Rotation keyValue;
	struct X3D_Node *metadata;
	int normalizeVelocity;
	float set_fraction;
	struct SFRotation value_changed;
};
extern struct X3D_Virt virt_SquadOrientationInterpolator;
/***********************/
struct X3D_StaticGroup {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __solid;
	int __transparency;
	struct Multi_Node _sortedChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_StaticGroup;
/***********************/
struct X3D_StringSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	int _initialized;
	int deletionAllowed;
	int enabled;
	struct Uni_String *enteredText;
	struct Uni_String *finalText;
	int isActive;
	struct X3D_Node *metadata;
};
extern struct X3D_Virt virt_StringSensor;
/***********************/
struct X3D_Switch {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __isX3D;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Multi_Node children;
	struct Multi_Node choice;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
	int whichChoice;
};
extern struct X3D_Virt virt_Switch;
/***********************/
struct X3D_Text {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __rendersub;
	struct X3D_Node *fontStyle;
	struct Multi_Float length;
	struct Multi_Vec2f lineBounds;
	float maxExtent;
	struct X3D_Node *metadata;
	struct SFVec3f origin;
	int solid;
	struct Multi_String string;
	struct SFVec2f textBounds;
};
extern struct X3D_Virt virt_Text;
/***********************/
struct X3D_TextureBackground {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __VBO;
	struct Multi_Vec3f __colours;
	struct Multi_Vec3f __points;
	int __quadcount;
	void * _parentResource;
	struct X3D_Node *backTexture;
	double bindTime;
	struct X3D_Node *bottomTexture;
	struct X3D_Node *frontTexture;
	struct Multi_Float groundAngle;
	struct Multi_Color groundColor;
	int isBound;
	struct X3D_Node *leftTexture;
	struct X3D_Node *metadata;
	struct X3D_Node *rightTexture;
	int set_bind;
	struct Multi_Float skyAngle;
	struct Multi_Color skyColor;
	struct X3D_Node *topTexture;
	struct Multi_Float transparency;
};
extern struct X3D_Virt virt_TextureBackground;
/***********************/
struct X3D_TextureCoordinate {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __VBO;
	struct Multi_Vec2f __compiledpoint;
	void * __lastParent;
	struct X3D_Node *metadata;
	struct Multi_Vec2f point;
};
extern struct X3D_Virt virt_TextureCoordinate;
/***********************/
struct X3D_TextureCoordinateGenerator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __compiledmode;
	struct X3D_Node *metadata;
	struct Uni_String *mode;
	struct Multi_Float parameter;
};
extern struct X3D_Virt virt_TextureCoordinateGenerator;
/***********************/
struct X3D_TextureProperties {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float anisotropicDegree;
	struct SFColorRGBA borderColor;
	int borderWidth;
	struct Uni_String *boundaryModeR;
	struct Uni_String *boundaryModeS;
	struct Uni_String *boundaryModeT;
	int generateMipMaps;
	struct Uni_String *magnificationFilter;
	struct X3D_Node *metadata;
	struct Uni_String *minificationFilter;
	struct Uni_String *textureCompression;
	float texturePriority;
};
extern struct X3D_Virt virt_TextureProperties;
/***********************/
struct X3D_TextureTransform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec2f center;
	struct X3D_Node *metadata;
	float rotation;
	struct SFVec2f scale;
	struct SFVec2f translation;
};
extern struct X3D_Virt virt_TextureTransform;
/***********************/
struct X3D_TimeSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double __ctflag;
	double __inittime;
	int __oldEnabled;
	double cycleInterval;
	double cycleTime;
	double elapsedTime;
	int enabled;
	float fraction_changed;
	int isActive;
	double isPaused;
	int loop;
	struct X3D_Node *metadata;
	double pauseTime;
	double resumeTime;
	double startTime;
	double stopTime;
	double time;
};
extern struct X3D_Virt virt_TimeSensor;
/***********************/
struct X3D_TimeTrigger {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *metadata;
	int set_boolean;
	double triggerTime;
};
extern struct X3D_Virt virt_TimeTrigger;
/***********************/
struct X3D_TouchSensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __oldEnabled;
	struct SFVec3f _oldhitNormal;
	struct SFVec3f _oldhitPoint;
	struct SFVec2f _oldhitTexCoord;
	struct Uni_String *description;
	int enabled;
	struct SFVec3f hitNormal_changed;
	struct SFVec3f hitPoint_changed;
	struct SFVec2f hitTexCoord_changed;
	int isActive;
	int isOver;
	struct X3D_Node *metadata;
	double touchTime;
};
extern struct X3D_Virt virt_TouchSensor;
/***********************/
struct X3D_Transform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __do_anything;
	int __do_center;
	int __do_rotation;
	int __do_scale;
	int __do_scaleO;
	int __do_trans;
	struct Multi_Node _sortedChildren;
	struct Multi_Node addChildren;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct SFVec3f center;
	struct Multi_Node children;
	struct X3D_Node *metadata;
	struct Multi_Node removeChildren;
	struct SFRotation rotation;
	struct SFVec3f scale;
	struct SFRotation scaleOrientation;
	struct SFVec3f translation;
};
extern struct X3D_Virt virt_Transform;
/***********************/
struct X3D_TransmitterPdu {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *address;
	struct SFVec3f antennaLocation;
	int antennaPatternLength;
	int antennaPatternType;
	int applicationID;
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	int cryptoKeyID;
	int cryptoSystem;
	int enabled;
	int entityID;
	int frequency;
	int inputSource;
	int isActive;
	int isNetworkReader;
	int isNetworkWriter;
	int isRtpHeaderHeard;
	int isStandAlone;
	int lengthOfModulationParameters;
	struct X3D_Node *metadata;
	int modulationTypeDetail;
	int modulationTypeMajor;
	int modulationTypeSpreadSpectrum;
	int modulationTypeSystem;
	struct Uni_String *multicastRelayHost;
	int multicastRelayPort;
	struct Uni_String *networkMode;
	int port;
	float power;
	int radioEntityTypeCategory;
	int radioEntityTypeCountry;
	int radioEntityTypeDomain;
	int radioEntityTypeKind;
	int radioEntityTypeNomenclature;
	int radioEntityTypeNomenclatureVersion;
	int radioID;
	float readInterval;
	struct SFVec3f relativeAntennaLocation;
	int rtpHeaderExpected;
	int siteID;
	double timestamp;
	float transmitFrequencyBandwidth;
	int transmitState;
	int whichGeometry;
	float writeInterval;
};
extern struct X3D_Virt virt_TransmitterPdu;
/***********************/
struct X3D_TriangleFanSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct Multi_Int32 fanCount;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	int solid;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_TriangleFanSet;
/***********************/
struct X3D_TriangleSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	int solid;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_TriangleSet;
/***********************/
struct X3D_TriangleSet2D {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	void * __texCoords;
	struct X3D_Node *metadata;
	int solid;
	struct Multi_Vec2f vertices;
};
extern struct X3D_Virt virt_TriangleSet2D;
/***********************/
struct X3D_TriangleStripSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Int32 _coordIndex;
	struct Multi_Node attrib;
	int ccw;
	struct X3D_Node *color;
	int colorPerVertex;
	struct X3D_Node *coord;
	struct X3D_Node *fogCoord;
	struct X3D_Node *metadata;
	struct X3D_Node *normal;
	int normalPerVertex;
	int solid;
	struct Multi_Int32 stripCount;
	struct X3D_Node *texCoord;
};
extern struct X3D_Virt virt_TriangleStripSet;
/***********************/
struct X3D_TwoSidedMaterial {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float _verifiedBackColor;
	struct Multi_Float _verifiedFrontColor;
	float ambientIntensity;
	float backAmbientIntensity;
	struct SFColor backDiffuseColor;
	struct SFColor backEmissiveColor;
	float backShininess;
	struct SFColor backSpecularColor;
	float backTransparency;
	struct SFColor diffuseColor;
	struct SFColor emissiveColor;
	struct X3D_Node *metadata;
	int separateBackColor;
	float shininess;
	struct SFColor specularColor;
	float transparency;
};
extern struct X3D_Virt virt_TwoSidedMaterial;
/***********************/
struct X3D_VRML1_AsciiText {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	struct Uni_String *justification;
	float spacing;
	struct Multi_String string;
	struct Multi_Float width;
};
extern struct X3D_Virt virt_VRML1_AsciiText;
/***********************/
struct X3D_VRML1_Cone {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	float bottomRadius;
	float height;
	struct Uni_String *parts;
};
extern struct X3D_Virt virt_VRML1_Cone;
/***********************/
struct X3D_VRML1_Coordinate3 {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f point;
};
extern struct X3D_Virt virt_VRML1_Coordinate3;
/***********************/
struct X3D_VRML1_Cube {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	float depth;
	float height;
	float width;
};
extern struct X3D_Virt virt_VRML1_Cube;
/***********************/
struct X3D_VRML1_Cylinder {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	float height;
	struct Uni_String *parts;
	float radius;
};
extern struct X3D_Virt virt_VRML1_Cylinder;
/***********************/
struct X3D_VRML1_DirectionalLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColor color;
	struct SFVec3f direction;
	float intensity;
	int on;
};
extern struct X3D_Virt virt_VRML1_DirectionalLight;
/***********************/
struct X3D_VRML1_FontStyle {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *family;
	float size;
	struct Uni_String *style;
};
extern struct X3D_Virt virt_VRML1_FontStyle;
/***********************/
struct X3D_VRML1_IndexedFaceSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int _ccw;
	struct X3D_Node *_color;
	int _convex;
	struct X3D_Node *_coord;
	int _cpv;
	float _creaseAngle;
	struct X3D_Node *_normal;
	int _npv;
	int _solid;
	struct X3D_Node *_texCoord;
	struct Multi_Int32 coordIndex;
	struct Multi_Int32 materialIndex;
	struct Multi_Int32 normalIndex;
	struct Multi_Int32 textureCoordIndex;
};
extern struct X3D_Virt virt_VRML1_IndexedFaceSet;
/***********************/
struct X3D_VRML1_IndexedLineSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	struct Multi_Int32 coordIndex;
	struct Multi_Int32 materialIndex;
	struct Multi_Int32 normalIndex;
	struct Multi_Int32 textureCoordIndex;
};
extern struct X3D_Virt virt_VRML1_IndexedLineSet;
/***********************/
struct X3D_VRML1_Info {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *string;
};
extern struct X3D_Virt virt_VRML1_Info;
/***********************/
struct X3D_VRML1_LOD {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f center;
	struct Multi_Float range;
};
extern struct X3D_Virt virt_VRML1_LOD;
/***********************/
struct X3D_VRML1_Material {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Float _verifiedColor;
	struct Multi_Color ambientColor;
	struct Multi_Color diffuseColor;
	struct Multi_Color emissiveColor;
	struct Multi_Float shininess;
	struct Multi_Color specularColor;
	struct Multi_Float transparency;
};
extern struct X3D_Virt virt_VRML1_Material;
/***********************/
struct X3D_VRML1_MaterialBinding {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int _Value;
	int _initialized;
	struct Uni_String *value;
};
extern struct X3D_Virt virt_VRML1_MaterialBinding;
/***********************/
struct X3D_VRML1_MatrixTransform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFMatrix4f value;
};
extern struct X3D_Virt virt_VRML1_MatrixTransform;
/***********************/
struct X3D_VRML1_Normal {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec3f vector;
};
extern struct X3D_Virt virt_VRML1_Normal;
/***********************/
struct X3D_VRML1_NormalBinding {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int _Value;
	int _initialized;
	struct Uni_String *value;
};
extern struct X3D_Virt virt_VRML1_NormalBinding;
/***********************/
struct X3D_VRML1_OrthographicCamera {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float focalDistance;
	float height;
	struct SFRotation orientation;
	struct SFVec3f position;
};
extern struct X3D_Virt virt_VRML1_OrthographicCamera;
/***********************/
struct X3D_VRML1_PerspectiveCamera {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	float focalDistance;
	float heightAngle;
	struct SFRotation orientation;
	struct SFVec3f position;
};
extern struct X3D_Virt virt_VRML1_PerspectiveCamera;
/***********************/
struct X3D_VRML1_PointLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColor color;
	float intensity;
	struct SFVec3f location;
	int on;
};
extern struct X3D_Virt virt_VRML1_PointLight;
/***********************/
struct X3D_VRML1_PointSet {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int numPoints;
	int startIndex;
};
extern struct X3D_Virt virt_VRML1_PointSet;
/***********************/
struct X3D_VRML1_Rotation {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFRotation rotation;
};
extern struct X3D_Virt virt_VRML1_Rotation;
/***********************/
struct X3D_VRML1_Scale {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f scaleFactor;
};
extern struct X3D_Virt virt_VRML1_Scale;
/***********************/
struct X3D_VRML1_Separator {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Node VRML1children;
	struct Multi_Node _sortedChildren;
	struct Uni_String *renderCulling;
};
extern struct X3D_Virt virt_VRML1_Separator;
/***********************/
struct X3D_VRML1_ShapeHints {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int _faceValue;
	int _initialized;
	int _typeValue;
	int _vertValue;
	double creaseAngle;
	struct Uni_String *faceType;
	struct Uni_String *shapeType;
	struct Uni_String *vertexOrdering;
};
extern struct X3D_Virt virt_VRML1_ShapeHints;
/***********************/
struct X3D_VRML1_Sphere {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *_ILS;
	float radius;
};
extern struct X3D_Virt virt_VRML1_Sphere;
/***********************/
struct X3D_VRML1_SpotLight {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFColor color;
	float cutOffAngle;
	struct SFVec3f direction;
	float dropOffRate;
	float intensity;
	struct SFVec3f location;
	int on;
};
extern struct X3D_Virt virt_VRML1_SpotLight;
/***********************/
struct X3D_VRML1_Switch {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int whichChild;
};
extern struct X3D_Virt virt_VRML1_Switch;
/***********************/
struct X3D_VRML1_Texture2 {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __textureTableIndex;
	int _initialized;
	void * _parentResource;
	int _wrapS;
	int _wrapT;
	struct Multi_String filename;
	struct Multi_Int32 image;
	struct Uni_String *wrapS;
	struct Uni_String *wrapT;
};
extern struct X3D_Virt virt_VRML1_Texture2;
/***********************/
struct X3D_VRML1_Texture2Transform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec2f center;
	float rotation;
	struct SFVec2f scaleFactor;
	struct SFVec2f translation;
};
extern struct X3D_Virt virt_VRML1_Texture2Transform;
/***********************/
struct X3D_VRML1_TextureCoordinate2 {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_Vec2f point;
};
extern struct X3D_Virt virt_VRML1_TextureCoordinate2;
/***********************/
struct X3D_VRML1_Transform {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f center;
	struct SFRotation rotation;
	struct SFVec3f scaleFactor;
	struct SFRotation scaleOrientation;
	struct SFVec3f translation;
};
extern struct X3D_Virt virt_VRML1_Transform;
/***********************/
struct X3D_VRML1_Translation {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f translation;
};
extern struct X3D_Virt virt_VRML1_Translation;
/***********************/
struct X3D_VRML1_WWWAnchor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Uni_String *description;
	struct Uni_String *map;
	struct Uni_String *name;
};
extern struct X3D_Virt virt_VRML1_WWWAnchor;
/***********************/
struct X3D_VRML1_WWWInline {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct SFVec3f bboxCenter;
	struct SFVec3f bboxSize;
	struct Uni_String *name;
};
extern struct X3D_Virt virt_VRML1_WWWInline;
/***********************/
struct X3D_Viewpoint {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	double bindTime;
	struct SFVec3f centerOfRotation;
	struct Uni_String *description;
	float fieldOfView;
	int isBound;
	int jump;
	struct X3D_Node *metadata;
	struct SFRotation orientation;
	struct SFVec3f position;
	int retainUserOffsets;
	int set_bind;
};
extern struct X3D_Virt virt_Viewpoint;
/***********************/
struct X3D_ViewpointGroup {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct X3D_Node *__proxNode;
	struct SFVec3f center;
	struct Multi_Node children;
	struct Uni_String *description;
	int displayed;
	struct X3D_Node *metadata;
	int retainUserOffsets;
	struct SFVec3f size;
};
extern struct X3D_Virt virt_ViewpointGroup;
/***********************/
struct X3D_VisibilitySensor {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	int __Samples;
	int __occludeCheckCount;
	int __oldEnabled;
	struct Multi_Vec3f __points;
	int __visible;
	struct SFVec3f center;
	int enabled;
	double enterTime;
	double exitTime;
	int isActive;
	struct X3D_Node *metadata;
	struct SFVec3f size;
};
extern struct X3D_Virt virt_VisibilitySensor;
/***********************/
struct X3D_WorldInfo {
       int _renderFlags; /*sensitive, etc */ 
       int _hit; 
       int _change; 
       int _ichange; 
       struct Vector* _parentVector; 
       double _dist; /*sorting for blending */ 
       float _extent[6]; /* used for boundingboxes - +-x, +-y, +-z */ 
       void *_intern; 
       int _nodeType; /* unique integer for each type */ 
       int referenceCount; /* if this reaches zero, nobody wants it anymore */ 
       int _defaultContainer; /* holds the container */
 	/*** node specific data: *****/
	struct Multi_String info;
	struct X3D_Node *metadata;
	struct Uni_String *title;
};
extern struct X3D_Virt virt_WorldInfo;
extern struct X3D_Virt* virtTable[];

extern const int *NODE_OFFSETS[];

int getSAI_X3DNodeType (int FreeWRLNodeType);

#endif /* __FREEWRL_STRUCTS_H__ */
