/*
  $Id: GeneratedCode.c,v 1.133 2011/10/27 18:51:32 crc_canada Exp $

  GeneratedCode.c: generated by VRMLC.pm. DO NOT MODIFY, MODIFY VRMLC.pm INSTEAD.

*/

/****************************************************************************
    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/>.
****************************************************************************/


/*
  d: n
  GeneratedCode.c: generated by VRMLC.pm. DO NOT MODIFY, MODIFY VRMLC.pm INSTEAD.
*/
 
#include <config.h> 
#include <system.h> 
#include <display.h> 
#include <internal.h> 
 
#include <libFreeWRL.h> 
#include <io_files.h> 
 
#include "../vrml_parser/Structs.h" 
#include "../main/headers.h" 
#include "../main/ProdCon.h" 
#include "Component_Networking.h" 
#include "Component_Picking.h" 
#include "../list.h" 
#include "../resources.h" 
#include "../io_http.h" 
 
 
/**********************************************************************************************/ 
/*                                                                                            */ 
/* This file is part of the FreeWRL/FreeX3D Distribution, from http://freewrl.sourceforge.net */ 
/*                                                                                            */ 
/**********************************************************************************************/ 
 
#include "../input/EAIHeaders.h" 
#include "../input/EAIHelpers.h" 
#include "../x3d_parser/Bindable.h" 
 
#include "../opengl/Textures.h" 
#include "Component_CubeMapTexturing.h" 
#include "Polyrep.h" 
void add_OSCsensor(struct X3D_Node* node); /* WANT_OSC*/
void addNodeToKeySensorList(struct X3D_Node* node);
void collide_genericfaceset (struct X3D_IndexedFaceSet *node );
void make_genericfaceset(struct X3D_IndexedFaceSet *this_);
void render_ray_polyrep(void *node);
void dump_scene(FILE *fp, int level, struct X3D_Node* node);
extern char *parser_getNameFromNode(struct X3D_Node* node);

/* Table of built-in fieldIds */
       const char *FIELDNAMES[] = {
	"wrapS",
	"_sideVBO",
	"_Value",
	"integerKey",
	"__proxNode",
	"activate",
	"rootNode",
	"munitionSiteID",
	"modulationTypeMajor",
	"whichChoice",
	"load",
	"textureCoordIndex",
	"isLoaded",
	"rotation",
	"scaleFactor",
	"toggle",
	"set_articulationParameterValue7",
	"set_articulationParameterValue3",
	"title",
	"geoGridOrigin",
	"__child4Node",
	"stripCount",
	"groundColor",
	"direction",
	"previous",
	"transmitterSiteID",
	"transmitterRadioID",
	"detonationResult",
	"maxPosition",
	"removeChildren",
	"skin",
	"speedFactor",
	"detonateTime",
	"entityKind",
	"__shaderObj",
	"transmitterEntityID",
	"retainUserOffsets",
	"vertices",
	"filename",
	"__children",
	"__do_scale",
	"left",
	"__sidepoints",
	"inputTrue",
	"__localFileName",
	"backAmbientIntensity",
	"exitTime",
	"joints",
	"_oldhitNormal",
	"articulationParameterArray",
	"deletionAllowed",
	"translation",
	"address",
	"__inRange",
	"articulationParameterValue6_changed",
	"child2Url",
	"limitOrientation",
	"skeleton",
	"__cylinderTriangles",
	"_oldhitPoint",
	"set_articulationParameterValue1",
	"type",
	"writeInterval",
	"entityID",
	"fired2",
	"_talkToNodes",
	"_verifiedBackColor",
	"_bboxCenter",
	"creaseAngle",
	"triggerTime",
	"displacers",
	"isActive",
	"__childloadstatus",
	"articulationParameterValue2_changed",
	"bboxCenter",
	"xDimension",
	"centerOfMass",
	"set_orientation",
	"set_position",
	"solid",
	"mode",
	"__textureTableIndex",
	"map",
	"isRtpHeaderHeard",
	"on",
	"leftUrl",
	"warhead",
	"__do_anything",
	"sortOrder",
	"isOver",
	"shininess",
	"texturePriority",
	"description",
	"_wrapT",
	"top",
	"dropOffRate",
	"outerRadius",
	"fuse",
	"set_articulationParameterValue4",
	"touchTime",
	"int32Inp",
	"family",
	"width",
	"source",
	"skinNormal",
	"__lastParent",
	"front",
	"leftToRight",
	"linearVelocity",
	"entityDomain",
	"__occludeCheckCount",
	"boundaryModeT",
	"summary",
	"transmitState",
	"info",
	"tdlType",
	"_dlchange",
	"marking",
	"backSpecularColor",
	"ambientIntensity",
	"floatInp",
	"headlight",
	"_bboxSize",
	"radioEntityTypeKind",
	"cycleInterval",
	"mass",
	"pickedGeometry",
	"pitch",
	"rotateYUp",
	"articulationParameterTypeArray",
	"bottomTexture",
	"__oldJump",
	"sites",
	"encodingScheme",
	"fired1",
	"_rotationAngle",
	"__t2",
	"parameter",
	"borderWidth",
	"backTransparency",
	"generateMipMaps",
	"tessellation",
	"scale",
	"proxy",
	"_coord",
	"translation_changed",
	"renderCulling",
	"__numPoints",
	"_floatInpFIFO",
	"ambientColor",
	"maxFront",
	"rightTexture",
	"set_spine",
	"__t1",
	"__textureright",
	"rotation_changed",
	"skinCoordWeight",
	"plane",
	"radius",
	"articulationParameterValue7_changed",
	"controlPoint",
	"point",
	"inputSource",
	"radioEntityTypeNomenclatureVersion",
	"_int32InpFIFO",
	"normal",
	"__leftTexture",
	"articulationParameterChangeIndicatorArr",
	"firingRate",
	"_oldrotation",
	"eventNumber",
	"loop",
	"_wrapS",
	"actionKeyPress",
	"extra",
	"horizontal",
	"enabled",
	"pickedPoint",
	"fanCount",
	"__child2Node",
	"triggerTrue",
	"shapeType",
	"_parentResource",
	"articulationParameterCount",
	"avatarSize",
	"collide",
	"specularColor",
	"transitionTime",
	"siteID",
	"color",
	"axisOfRotation",
	"networkMode",
	"backEmissiveColor",
	"repeatT",
	"_npv",
	"__visible",
	"__movedPosition",
	"topToBottom",
	"viewpoints",
	"FreeWRL__protoDef",
	"length",
	"index",
	"__oldFieldOfView",
	"intensity",
	"navType",
	"update",
	"set_articulationParameterValue5",
	"heightAngle",
	"_oldisActive",
	"__loading",
	"next",
	"__level",
	"isPaused",
	"_oldpickedPoint",
	"FIFOsize",
	"value",
	"articulationParameterIdPartAttachedToAr",
	"__child1Node",
	"multicastRelayHost",
	"_color",
	"__scriptObj",
	"keyRelease",
	"__backTexture",
	"stopTime",
	"_faceValue",
	"crossSection",
	"position",
	"__solid",
	"__do_scaleO",
	"xSpacing",
	"faceType",
	"__transparency",
	"isDetonated",
	"scaleOrientation",
	"__ctflag",
	"inputFalse",
	"bottomUrl",
	"radioID",
	"hitPoint_changed",
	"boundaryModeS",
	"_sortedChildren",
	"set_normalIndex",
	"knot",
	"articulationParameterValue4_changed",
	"justification",
	"set_articulationParameterValue6",
	"fogType",
	"spacing",
	"skyColor",
	"_oldtranslation",
	"displacements",
	"isStandAlone",
	"topUrl",
	"__colours",
	"geoSystem",
	"__shaderIDS",
	"addChildren",
	"detonationLocation",
	"attenuation",
	"fireMissionIndex",
	"articulationParameterValue3_changed",
	"endAngle",
	"__oldKeyPtr",
	"displayed",
	"hitGeoCoord_changed",
	"focalDistance",
	"cycleTime",
	"boundaryModeR",
	"__oldChildren",
	"applied",
	"backTexture",
	"function",
	"setValue",
	"isNetworkWriter",
	"hitTexCoord_changed",
	"alpha",
	"enteredText",
	"_origNormalizedPoint",
	"repeatS",
	"__do_trans",
	"_origPoint",
	"backDiffuseColor",
	"bboxSize",
	"country",
	"visibilityRange",
	"textBounds",
	"munitionStartPoint",
	"skinCoordIndex",
	"_coordIndex",
	"priority",
	"linetype",
	"_oldtrackPoint",
	"receiverState",
	"addedEntities",
	"eventEntityID",
	"spatialize",
	"articulationParameterValue5_changed",
	"normalizeVelocity",
	"__do_center",
	"geoOrigin",
	"metadata",
	"geoCoords",
	"relativeAntennaLocation",
	"location",
	"colorPerVertex",
	"origin",
	"jump",
	"directOutput",
	"port",
	"__oldgeoCoords",
	"timeOut",
	"hitNormal_changed",
	"skyAngle",
	"closureType",
	"__finishedloading",
	"enterTime",
	"__rooturlloadstatus",
	"center",
	"munitionEntityID",
	"altKey",
	"spine",
	"offset",
	"__StartLoadTime",
	"cryptoSystem",
	"__points",
	"cryptoKeyID",
	"anisotropicDegree",
	"parts",
	"keyVelocity",
	"collisionType",
	"__simpleDisk",
	"normalPerVertex",
	"topTexture",
	"position_changed",
	"_initialized",
	"__hit",
	"set_articulationParameterValue0",
	"power",
	"category",
	"maxBack",
	"vector",
	"sampleRate",
	"modifiedFraction_changed",
	"firingRange",
	"geoCoord_changed",
	"set_index",
	"stiffness",
	"__segCount",
	"samples",
	"detonationRelativeLocation",
	"minificationFilter",
	"attrib",
	"radioEntityTypeCountry",
	"child4Url",
	"rightUrl",
	"time",
	"deadReckoning",
	"fraction_changed",
	"segments",
	"texture",
	"speed",
	"objectType",
	"programs",
	"fillProperties",
	"__VBO",
	"maxAngle",
	"__movedValue",
	"modulationTypeSpreadSpectrum",
	"version",
	"__loadResource",
	"image",
	"__cylinderVBO",
	"__botpoints",
	"set_crossSection",
	"__subTextures",
	"levelChanged",
	"receivedPower",
	"colorIndex",
	"duration_changed",
	"order",
	"geometry",
	"multicastRelayPort",
	"textureProperties",
	"watchList",
	"lineProperties",
	"_oldpickTarget",
	"data",
	"centerOfRotation",
	"minBack",
	"__vertIndx",
	"backShininess",
	"__movedCoords",
	"_int32OutFIFO",
	"__isX3D",
	"closed",
	"applicationID",
	"eventApplicationID",
	"__vertArr",
	"__coneTriangles",
	"trackPoint_changed",
	"global",
	"vTessellation",
	"back",
	"tickTime",
	"articulationParameterValue0_changed",
	"__rightTexture",
	"__compiledmode",
	"geoCenter",
	"emissiveColor",
	"antennaPatternLength",
	"filled",
	"groundAngle",
	"mapping",
	"isValid",
	"string",
	"children",
	"isBound",
	"triggerValue",
	"__compiledpoint",
	"__bottomTexture",
	"controlKey",
	"textureCompression",
	"frontTexture",
	"entityCategory",
	"centerOfRotation_changed",
	"diskAngle",
	"__Samples",
	"transmitFrequencyBandwidth",
	"__do_rotation",
	"dataLength",
	"radioEntityTypeCategory",
	"set_fraction",
	"subcategory",
	"transitionComplete",
	"specific",
	"__inittime",
	"_status",
	"backUrl",
	"set_sortOrder",
	"size",
	"maxExtent",
	"domain",
	"kind",
	"orientation_changed",
	"__regenSubTextures",
	"readInterval",
	"__child3Node",
	"materialIndex",
	"style",
	"radioEntityTypeDomain",
	"bottom",
	"hatchColor",
	"justify",
	"removedEntities",
	"modulationTypeSystem",
	"side",
	"frontUrl",
	"_stringInpFIFO",
	"dimension",
	"modulationTypeDetail",
	"_solid",
	"separateBackColor",
	"__rootUrl",
	"_verifiedFrontColor",
	"bindTime",
	"depth",
	"set_boolean",
	"gotEvents",
	"fieldOfView",
	"__oldHeadlight",
	"listenfor",
	"borderColor",
	"set_height",
	"child1Url",
	"endCap",
	"set_colorIndex",
	"reference",
	"uTessellation",
	"__normals",
	"set_triggerTime",
	"_oldhitTexCoord",
	"_oldpickedGeometry",
	"value_changed",
	"__oldKeyValuePtr",
	"keyValue",
	"bottomRadius",
	"mustEvaluate",
	"diffuseColor",
	"tessellationScale",
	"startIndex",
	"handler",
	"_vertValue",
	"__oldmetadata",
	"inputNegate",
	"keyWeight",
	"entitySpecific",
	"set_articulationParameterValue2",
	"key",
	"_typeValue",
	"ulimit",
	"__quadcount",
	"skinCoord",
	"yScale",
	"__oldEnabled",
	"__movedOrientation",
	"name",
	"texCoord",
	"_ccw",
	"pickable",
	"__coneVBO",
	"lineBounds",
	"hatched",
	"easeInEaseOut",
	"_creaseAngle",
	"level_changed",
	"__texCoords",
	"geovalue_changed",
	"_texCoord",
	"texCoordIndex",
	"_shaderTableEntry",
	"beginCap",
	"linearAcceleration",
	"transparency",
	"__vertexCount",
	"intersectionType",
	"set_bind",
	"textureTransform",
	"__sourceNumber",
	"progress",
	"lengthOfModulationParameters",
	"height",
	"right",
	"pickingGeometry",
	"entityCountry",
	"__localOrient",
	"protocol",
	"isNetworkReader",
	"antennaPatternType",
	"startAngle",
	"minAngle",
	"weight",
	"talksTo",
	"visibilityLimit",
	"munitionApplicationID",
	"firedTime",
	"forceID",
	"articulationParameterDesignatorArray",
	"_verifiedColor",
	"__oldSize",
	"_radius",
	"collideTime",
	"__loadstatus",
	"magnificationFilter",
	"numComponents",
	"fogCoord",
	"munitionEndPoint",
	"__oldGeoCenter",
	"choice",
	"hatchStyle",
	"__params",
	"cutOffAngle",
	"minPosition",
	"__rotyup",
	"linewidthScaleFactor",
	"__geoSystem",
	"finalText",
	"rootUrl",
	"FreeWRL_PROTOInterfaceNodes",
	"entityExtra",
	"url",
	"coord",
	"startTime",
	"__frontTexture",
	"__topTexture",
	"minFront",
	"ccw",
	"valueChanged",
	"level",
	"vertexCount",
	"transitionType",
	"__rendersub",
	"llimit",
	"range",
	"keyPress",
	"resumeTime",
	"antennaLocation",
	"timestamp",
	"vertexOrdering",
	"forceTransitions",
	"radioEntityTypeNomenclature",
	"shaders",
	"language",
	"VRML1children",
	"_cpv",
	"shiftKey",
	"filter",
	"leftTexture",
	"momentsOfInertia",
	"lineSegments",
	"coordIndex",
	"stringInp",
	"set_intersectionType",
	"material",
	"_selected",
	"set_scale",
	"loadTime",
	"transmitterApplicationID",
	"_convex",
	"frequency",
	"actionKeyRelease",
	"articulationParameterValue1_changed",
	"isSelected",
	"__oldMFString",
	"rtpHeaderExpected",
	"child3Url",
	"pauseTime",
	"isCollided",
	"_ILS",
	"normalIndex",
	"beamWidth",
	"pickTarget",
	"zSpacing",
	"__oldSFString",
	"whichGeometry",
	"eventSiteID",
	"innerRadius",
	"fontStyle",
	"convex",
	"orientation",
	"set_texCoordIndex",
	"whichChild",
	"autoOffset",
	"appearance",
	"wrapT",
	"zDimension",
	"_floatOutFIFO",
	"_normal",
	"entitySubCategory",
	"set_coordIndex",
	"munitionQuantity",
	"_stringOutFIFO",
	"elapsedTime",
	"numPoints",
	"__vertices",
	"__initialized",
};
const int FIELDNAMES_COUNT = ARR_SIZE(FIELDNAMES);


/* Table of EVENT_OUTs */
       const char *EVENT_OUT[] = {
	"isStandAlone",
	"inputNegate",
	"isValid",
	"position_changed",
	"finalText",
	"isBound",
	"triggerValue",
	"isRtpHeaderHeard",
	"controlKey",
	"actionKeyPress",
	"centerOfRotation_changed",
	"isLoaded",
	"articulationParameterValue3_changed",
	"modifiedFraction_changed",
	"isOver",
	"hitGeoCoord_changed",
	"pickedPoint",
	"geoCoord_changed",
	"cycleTime",
	"valueChanged",
	"transitionComplete",
	"toggle",
	"lineBounds",
	"triggerTrue",
	"touchTime",
	"time",
	"keyPress",
	"fraction_changed",
	"level_changed",
	"isNetworkWriter",
	"hitTexCoord_changed",
	"orientation_changed",
	"timestamp",
	"enteredText",
	"geovalue_changed",
	"detonateTime",
	"progress",
	"shiftKey",
	"textBounds",
	"removedEntities",
	"inputTrue",
	"isNetworkReader",
	"loadTime",
	"addedEntities",
	"levelChanged",
	"actionKeyRelease",
	"isSelected",
	"articulationParameterValue1_changed",
	"exitTime",
	"duration_changed",
	"isPaused",
	"pickedGeometry",
	"isCollided",
	"articulationParameterValue5_changed",
	"firedTime",
	"articulationParameterValue6_changed",
	"origin",
	"bindTime",
	"keyRelease",
	"hitNormal_changed",
	"translation_changed",
	"collideTime",
	"enterTime",
	"isDetonated",
	"altKey",
	"rotation_changed",
	"triggerTime",
	"inputFalse",
	"value_changed",
	"trackPoint_changed",
	"isActive",
	"hitPoint_changed",
	"articulationParameterValue7_changed",
	"elapsedTime",
	"articulationParameterValue0_changed",
	"articulationParameterValue2_changed",
	"articulationParameterValue4_changed",
};
const int EVENT_OUT_COUNT = ARR_SIZE(EVENT_OUT);


/* Table of EVENT_INs */
       const char *EVENT_IN[] = {
	"set_position",
	"set_articulationParameterValue5",
	"next",
	"set_scale",
	"set_articulationParameterValue2",
	"activate",
	"addChildren",
	"set_crossSection",
	"set_articulationParameterValue0",
	"set_index",
	"set_articulationParameterValue1",
	"set_fraction",
	"set_boolean",
	"set_articulationParameterValue7",
	"set_articulationParameterValue3",
	"set_articulationParameterValue4",
	"set_texCoordIndex",
	"setValue",
	"set_height",
	"set_sortOrder",
	"previous",
	"set_colorIndex",
	"set_spine",
	"set_triggerTime",
	"removeChildren",
	"set_bind",
	"set_coordIndex",
	"tickTime",
	"set_normalIndex",
	"set_articulationParameterValue6",
	"coordIndex",
	"set_intersectionType",
	"set_orientation",
};
const int EVENT_IN_COUNT = ARR_SIZE(EVENT_IN);


/* Table of EXPOSED_FIELDs */
       const char *EXPOSED_FIELD[] = {
	"wrapS",
	"topTexture",
	"integerKey",
	"power",
	"munitionSiteID",
	"modulationTypeMajor",
	"whichChoice",
	"textureCoordIndex",
	"maxBack",
	"vector",
	"sampleRate",
	"rotation",
	"firingRange",
	"scaleFactor",
	"stiffness",
	"samples",
	"detonationRelativeLocation",
	"minificationFilter",
	"attrib",
	"radioEntityTypeCountry",
	"rightUrl",
	"deadReckoning",
	"segments",
	"texture",
	"groundColor",
	"direction",
	"transmitterSiteID",
	"transmitterRadioID",
	"detonationResult",
	"programs",
	"maxPosition",
	"objectType",
	"speed",
	"fillProperties",
	"skin",
	"maxAngle",
	"modulationTypeSpreadSpectrum",
	"version",
	"entityKind",
	"transmitterEntityID",
	"retainUserOffsets",
	"image",
	"vertices",
	"filename",
	"left",
	"backAmbientIntensity",
	"receivedPower",
	"joints",
	"articulationParameterArray",
	"order",
	"deletionAllowed",
	"geometry",
	"translation",
	"address",
	"multicastRelayPort",
	"watchList",
	"limitOrientation",
	"skeleton",
	"lineProperties",
	"data",
	"centerOfRotation",
	"minBack",
	"type",
	"writeInterval",
	"backShininess",
	"entityID",
	"fired2",
	"closed",
	"eventApplicationID",
	"applicationID",
	"global",
	"vTessellation",
	"displacers",
	"back",
	"bboxCenter",
	"emissiveColor",
	"geoCenter",
	"antennaPatternLength",
	"centerOfMass",
	"filled",
	"groundAngle",
	"mapping",
	"mode",
	"string",
	"children",
	"map",
	"on",
	"leftUrl",
	"textureCompression",
	"warhead",
	"frontTexture",
	"entityCategory",
	"diskAngle",
	"transmitFrequencyBandwidth",
	"dataLength",
	"shininess",
	"texturePriority",
	"description",
	"radioEntityTypeCategory",
	"top",
	"dropOffRate",
	"fuse",
	"family",
	"int32Inp",
	"width",
	"source",
	"skinNormal",
	"front",
	"linearVelocity",
	"entityDomain",
	"backUrl",
	"size",
	"boundaryModeT",
	"maxExtent",
	"summary",
	"transmitState",
	"readInterval",
	"materialIndex",
	"style",
	"tdlType",
	"radioEntityTypeDomain",
	"hatchColor",
	"bottom",
	"marking",
	"backSpecularColor",
	"ambientIntensity",
	"modulationTypeSystem",
	"frontUrl",
	"floatInp",
	"headlight",
	"radioEntityTypeKind",
	"cycleInterval",
	"dimension",
	"mass",
	"pitch",
	"articulationParameterTypeArray",
	"modulationTypeDetail",
	"bottomTexture",
	"separateBackColor",
	"sites",
	"encodingScheme",
	"fired1",
	"depth",
	"parameter",
	"borderWidth",
	"gotEvents",
	"backTransparency",
	"tessellation",
	"fieldOfView",
	"scale",
	"listenfor",
	"renderCulling",
	"borderColor",
	"ambientColor",
	"maxFront",
	"rightTexture",
	"uTessellation",
	"skinCoordWeight",
	"plane",
	"keyValue",
	"radius",
	"bottomRadius",
	"controlPoint",
	"tessellationScale",
	"diffuseColor",
	"startIndex",
	"handler",
	"point",
	"inputSource",
	"radioEntityTypeNomenclatureVersion",
	"normal",
	"keyWeight",
	"articulationParameterChangeIndicatorArr",
	"firingRate",
	"entitySpecific",
	"eventNumber",
	"loop",
	"key",
	"ulimit",
	"skinCoord",
	"enabled",
	"name",
	"texCoord",
	"pickable",
	"hatched",
	"shapeType",
	"articulationParameterCount",
	"collide",
	"avatarSize",
	"specularColor",
	"easeInEaseOut",
	"transitionTime",
	"siteID",
	"color",
	"axisOfRotation",
	"networkMode",
	"backEmissiveColor",
	"transparency",
	"linearAcceleration",
	"textureTransform",
	"lengthOfModulationParameters",
	"height",
	"viewpoints",
	"length",
	"right",
	"index",
	"pickingGeometry",
	"intensity",
	"update",
	"navType",
	"entityCountry",
	"protocol",
	"heightAngle",
	"antennaPatternType",
	"minAngle",
	"weight",
	"talksTo",
	"visibilityLimit",
	"munitionApplicationID",
	"value",
	"FIFOsize",
	"articulationParameterIdPartAttachedToAr",
	"multicastRelayHost",
	"forceID",
	"articulationParameterDesignatorArray",
	"stopTime",
	"position",
	"faceType",
	"magnificationFilter",
	"fogCoord",
	"scaleOrientation",
	"munitionEndPoint",
	"choice",
	"bottomUrl",
	"radioID",
	"boundaryModeS",
	"hatchStyle",
	"cutOffAngle",
	"justification",
	"fogType",
	"spacing",
	"skyColor",
	"displacements",
	"minPosition",
	"topUrl",
	"linewidthScaleFactor",
	"detonationLocation",
	"FreeWRL_PROTOInterfaceNodes",
	"attenuation",
	"fireMissionIndex",
	"entityExtra",
	"url",
	"coord",
	"startTime",
	"minFront",
	"displayed",
	"focalDistance",
	"boundaryModeR",
	"level",
	"vertexCount",
	"transitionType",
	"applied",
	"backTexture",
	"llimit",
	"function",
	"range",
	"resumeTime",
	"antennaLocation",
	"alpha",
	"vertexOrdering",
	"radioEntityTypeNomenclature",
	"bboxSize",
	"backDiffuseColor",
	"shaders",
	"VRML1children",
	"visibilityRange",
	"filter",
	"leftTexture",
	"momentsOfInertia",
	"coordIndex",
	"stringInp",
	"munitionStartPoint",
	"skinCoordIndex",
	"material",
	"priority",
	"linetype",
	"receiverState",
	"transmitterApplicationID",
	"frequency",
	"eventEntityID",
	"rtpHeaderExpected",
	"pauseTime",
	"normalizeVelocity",
	"metadata",
	"geoCoords",
	"relativeAntennaLocation",
	"normalIndex",
	"beamWidth",
	"location",
	"pickTarget",
	"jump",
	"port",
	"whichGeometry",
	"timeOut",
	"skyAngle",
	"eventSiteID",
	"fontStyle",
	"orientation",
	"whichChild",
	"appearance",
	"center",
	"autoOffset",
	"wrapT",
	"munitionEntityID",
	"offset",
	"entitySubCategory",
	"munitionQuantity",
	"cryptoSystem",
	"numPoints",
	"cryptoKeyID",
	"anisotropicDegree",
	"parts",
	"keyVelocity",
	"collisionType",
};
const int EXPOSED_FIELD_COUNT = ARR_SIZE(EXPOSED_FIELD);


/* Table of FIELDs */
       const char *FIELD[] = {
	"rootNode",
	"category",
	"extra",
	"load",
	"horizontal",
	"yScale",
	"fanCount",
	"title",
	"child4Url",
	"geoGridOrigin",
	"stripCount",
	"repeatT",
	"texCoordIndex",
	"intersectionType",
	"beginCap",
	"speedFactor",
	"topToBottom",
	"FreeWRL__protoDef",
	"height",
	"colorIndex",
	"startAngle",
	"textureProperties",
	"child2Url",
	"crossSection",
	"xSpacing",
	"numComponents",
	"creaseAngle",
	"knot",
	"bboxCenter",
	"xDimension",
	"spacing",
	"solid",
	"geoSystem",
	"rootUrl",
	"sortOrder",
	"endAngle",
	"ccw",
	"subcategory",
	"outerRadius",
	"family",
	"specific",
	"leftToRight",
	"range",
	"domain",
	"kind",
	"repeatS",
	"forceTransitions",
	"bboxSize",
	"country",
	"info",
	"language",
	"style",
	"lineSegments",
	"justify",
	"side",
	"coordIndex",
	"rtpHeaderExpected",
	"child3Url",
	"spatialize",
	"geoOrigin",
	"rotateYUp",
	"normalIndex",
	"colorPerVertex",
	"zSpacing",
	"directOutput",
	"generateMipMaps",
	"innerRadius",
	"proxy",
	"closureType",
	"convex",
	"child1Url",
	"endCap",
	"zDimension",
	"reference",
	"spine",
	"bottomRadius",
	"mustEvaluate",
	"normalPerVertex",
};
const int FIELD_COUNT = ARR_SIZE(FIELD);


/* Table of keywords */
       const char *KEYWORDS[] = {
	"eventOut",
	"TRUE",
	"NULL",
	"IS",
	"EXTERNPROTO",
	"inputOnly",
	"DEF",
	"PROTO",
	"IMPORT",
	"initializeOnly",
	"outputOnly",
	"FALSE",
	"inputOutput",
	"field",
	"TO",
	"PROFILE",
	"exposedField",
	"COMPONENT",
	"eventIn",
	"META",
	"EXPORT",
	"USE",
	"ROUTE",
};
const int KEYWORDS_COUNT = ARR_SIZE(KEYWORDS);


/* Table of profiles */
       const char *PROFILES[] = {
	"Interchange",
	"CADInterchange",
	"MPEG-4",
	"Interactive",
	"Full",
	"Immersive",
	"Core",
};
const int PROFILES_COUNT = ARR_SIZE(PROFILES);


/* Table of components */
       const char *COMPONENTS[] = {
	"Geometry2D",
	"Rendering",
	"PickingSensor",
	"DIS",
	"EnvironmentalSensor",
	"Text",
	"NURBS",
	"CubeMapTexturing",
	"EventUtilities",
	"Interpolation",
	"Shaders",
	"Navigation",
	"Grouping",
	"Texturing",
	"Geospatial",
	"CADGeometry",
	"EnvironmentalEffects",
	"Shape",
	"Texturing3D",
	"PointDeviceSensor",
	"H-Anim",
	"RigidBodyPhysics",
	"Core",
	"Layout",
	"Time",
	"Geometry3D",
	"Followers",
	"Scripting",
	"Lighting",
	"KeyDeviceSensor",
	"Layering",
	"Networking",
	"ParticleSystems",
	"Sound",
};
const int COMPONENTS_COUNT = ARR_SIZE(COMPONENTS);


/* Table of PROTO keywords */
       const char *PROTOKEYWORDS[] = {
	"eventOut",
	"exposedField",
	"inputOnly",
	"eventIn",
	"outputOnly",
	"initializeOnly",
	"inputOutput",
	"field",
};
const int PROTOKEYWORDS_COUNT = ARR_SIZE(PROTOKEYWORDS);


/* Table of X3DSPECIAL keywords */
       const char *X3DSPECIAL[] = {
	"IS",
	"Scene",
	"meta",
	"export",
	"ProtoDeclare",
	"field",
	"connect",
	"head",
	"ProtoInterface",
	"ProtoInstance",
	"ProtoBody",
	"X3D",
	"import",
	"component",
	"ExternProtoDeclare",
	"fieldValue",
	"ROUTE",
	"Header",
};
const int X3DSPECIAL_COUNT = ARR_SIZE(X3DSPECIAL);


/* Table of TEXTUREBOUNDARY keywords */
       const char *TEXTUREBOUNDARYKEYWORDS[] = {
	"CLAMP_TO_BOUNDARY",
	"REPEAT",
	"MIRRORED_REPEAT",
	"CLAMP",
	"CLAMP_TO_EDGE",
};
const int TEXTUREBOUNDARYKEYWORDS_COUNT = ARR_SIZE(TEXTUREBOUNDARYKEYWORDS);


/* Table of TEXTUREMAGNIFICATION keywords */
       const char *TEXTUREMAGNIFICATIONKEYWORDS[] = {
	"NICEST",
	"NEAREST_PIXEL",
	"FASTEST",
	"DEFAULT",
	"AVG_PIXEL",
};
const int TEXTUREMAGNIFICATIONKEYWORDS_COUNT = ARR_SIZE(TEXTUREMAGNIFICATIONKEYWORDS);


/* Table of TEXTUREMINIFICATION keywords */
       const char *TEXTUREMINIFICATIONKEYWORDS[] = {
	"NEAREST_PIXEL_AVG_MIPMAP",
	"DEFAULT",
	"NEAREST_PIXEL",
	"NICEST",
	"AVG_PIXEL_AVG_MIPMAP",
	"FASTEST",
	"AVG_PIXEL",
	"AVG_PIXEL_NEAREST_MIPMAP",
	"NEAREST_PIXEL_NEAREST_MIPMAP",
};
const int TEXTUREMINIFICATIONKEYWORDS_COUNT = ARR_SIZE(TEXTUREMINIFICATIONKEYWORDS);


/* Table of TEXTURECOMPRESSION keywords */
       const char *TEXTURECOMPRESSIONKEYWORDS[] = {
	"NICEST",
	"LOW",
	"FASTEST",
	"DEFAULT",
	"HIGH",
	"MEDIUM",
};
const int TEXTURECOMPRESSIONKEYWORDS_COUNT = ARR_SIZE(TEXTURECOMPRESSIONKEYWORDS);


/* Table of VRML1Modifier keywords */
       const char *VRML1Modifier[] = {
	"REPEAT",
	"ITALIC",
	"PER_PART_INDEXED",
	"PER_VERTEX_INDEXED",
	"AUTO",
	"TYPEWRITER",
	"OVERALL",
	"UNKNOWN_SHAPE_TYPE",
	"SERIF",
	"COUNTERCLOCKWISE",
	"CLOCKWISE",
	"POINT",
	"PER_PART",
	"SOLID",
	"ALL",
	"TOP",
	"RIGHT",
	"SIDES",
	"BOLD",
	"BOTTOM",
	"LEFT",
	"CONVEX",
	"UNKNOWN_FACE_TYPE",
	"SANS",
	"UNKNOWN_ORDERING",
	"PER_FACE",
	"PER_VERTEX",
	"NONE",
	"PER_FACE_INDEXED",
	"DEFAULT",
	"ON",
	"CLAMP",
	"CENTER",
	"OFF",
};
const int VRML1Modifier_COUNT = ARR_SIZE(VRML1Modifier);


/* Table of GEOSPATIAL keywords */
       const char *GEOSPATIAL[] = {
	"CC",
	"WE",
	"GCC",
	"date",
	"copyright",
	"FA",
	"EC",
	"UTM",
	"BN",
	"ED",
	"CD",
	"EF",
	"GD",
	"dataFormat",
	"extent",
	"metadataFormat",
	"originator",
	"dataUrl",
	"verticalDatum",
	"description",
	"WD",
	"resolution",
	"coordinateSystem",
	"RF",
	"title",
	"WGS84",
	"ID",
	"EB",
	"HO",
	"horizontalDatum",
	"HE",
	"EE",
	"AA",
	"SA",
	"GC",
	"AM",
	"ellipsoid",
	"IN",
	"AN",
	"KA",
	"GDC",
	"BR",
	"EA",
};
const int GEOSPATIAL_COUNT = ARR_SIZE(GEOSPATIAL);


/* Table of VRML1_ keywords */
       const char *VRML1_[] = {
	"VRML1_Rotation",
	"VRML1_Cone",
	"VRML1_PerspectiveCamera",
	"VRML1_ShapeHints",
	"VRML1_LOD",
	"VRML1_Translation",
	"VRML1_MatrixTransform",
	"VRML1_SpotLight",
	"VRML1_Texture2",
	"VRML1_IndexedLineSet",
	"VRML1_OrthographicCamera",
	"VRML1_Switch",
	"VRML1_Scale",
	"VRML1_Cube",
	"VRML1_Separator",
	"VRML1_PointSet",
	"VRML1_FontStyle",
	"VRML1_WWWInline",
	"VRML1_TextureCoordinate2",
	"VRML1_Info",
	"VRML1_DirectionalLight",
	"VRML1_AsciiText",
	"VRML1_Transform",
	"VRML1_Texture2Transform",
	"VRML1_Cylinder",
	"VRML1_Normal",
	"VRML1_WWWAnchor",
	"VRML1_NormalBinding",
	"VRML1_MaterialBinding",
	"VRML1_PointLight",
	"VRML1_IndexedFaceSet",
	"VRML1_Material",
	"VRML1_Coordinate3",
	"VRML1_Sphere",
};
const int VRML1__COUNT = ARR_SIZE(VRML1_);


/* Table of Field Types */
       const char *FIELDTYPES[] = {
	"SFFloat",
	"MFFloat",
	"SFRotation",
	"MFRotation",
	"SFVec3f",
	"MFVec3f",
	"SFBool",
	"MFBool",
	"SFInt32",
	"MFInt32",
	"SFNode",
	"MFNode",
	"SFColor",
	"MFColor",
	"SFColorRGBA",
	"MFColorRGBA",
	"SFTime",
	"MFTime",
	"SFString",
	"MFString",
	"SFVec2f",
	"MFVec2f",
	"SFImage",
	"FreeWRLPTR",
	"SFVec3d",
	"MFVec3d",
	"SFDouble",
	"MFDouble",
	"SFMatrix3f",
	"MFMatrix3f",
	"SFMatrix3d",
	"MFMatrix3d",
	"SFMatrix4f",
	"MFMatrix4f",
	"SFMatrix4d",
	"MFMatrix4d",
	"SFVec2d",
	"MFVec2d",
	"SFVec4f",
	"MFVec4f",
	"SFVec4d",
	"MFVec4d",
};
const int FIELDTYPES_COUNT = ARR_SIZE(FIELDTYPES);


/* Table of Node Types */
       const char *NODES[] = {
	"Anchor",
	"Appearance",
	"Arc2D",
	"ArcClose2D",
	"AudioClip",
	"Background",
	"Billboard",
	"BooleanFilter",
	"BooleanSequencer",
	"BooleanToggle",
	"BooleanTrigger",
	"Box",
	"Circle2D",
	"ClipPlane",
	"Collision",
	"Color",
	"ColorInterpolator",
	"ColorRGBA",
	"ComposedCubeMapTexture",
	"ComposedShader",
	"Cone",
	"Contour2D",
	"ContourPolyLine2D",
	"Coordinate",
	"CoordinateInterpolator",
	"CoordinateInterpolator2D",
	"Cylinder",
	"CylinderSensor",
	"DISEntityManager",
	"DISEntityTypeMapping",
	"DirectionalLight",
	"Disk2D",
	"EaseInEaseOut",
	"ElevationGrid",
	"EspduTransform",
	"Extrusion",
	"FillProperties",
	"FloatVertexAttribute",
	"Fog",
	"FogCoordinate",
	"FontStyle",
	"GeneratedCubeMapTexture",
	"GeoCoordinate",
	"GeoElevationGrid",
	"GeoLOD",
	"GeoLocation",
	"GeoMetadata",
	"GeoOrigin",
	"GeoPositionInterpolator",
	"GeoProximitySensor",
	"GeoTouchSensor",
	"GeoTransform",
	"GeoViewpoint",
	"Group",
	"HAnimDisplacer",
	"HAnimHumanoid",
	"HAnimJoint",
	"HAnimSegment",
	"HAnimSite",
	"ImageCubeMapTexture",
	"ImageTexture",
	"IndexedFaceSet",
	"IndexedLineSet",
	"IndexedTriangleFanSet",
	"IndexedTriangleSet",
	"IndexedTriangleStripSet",
	"Inline",
	"IntegerSequencer",
	"IntegerTrigger",
	"KeySensor",
	"LOD",
	"LineProperties",
	"LineSet",
	"LoadSensor",
	"LocalFog",
	"Material",
	"Matrix3VertexAttribute",
	"Matrix4VertexAttribute",
	"MetadataDouble",
	"MetadataFloat",
	"MetadataInteger",
	"MetadataMFBool",
	"MetadataMFColor",
	"MetadataMFColorRGBA",
	"MetadataMFDouble",
	"MetadataMFFloat",
	"MetadataMFInt32",
	"MetadataMFMatrix3d",
	"MetadataMFMatrix3f",
	"MetadataMFMatrix4d",
	"MetadataMFMatrix4f",
	"MetadataMFNode",
	"MetadataMFRotation",
	"MetadataMFString",
	"MetadataMFTime",
	"MetadataMFVec2d",
	"MetadataMFVec2f",
	"MetadataMFVec3d",
	"MetadataMFVec3f",
	"MetadataMFVec4d",
	"MetadataMFVec4f",
	"MetadataSFBool",
	"MetadataSFColor",
	"MetadataSFColorRGBA",
	"MetadataSFDouble",
	"MetadataSFFloat",
	"MetadataSFImage",
	"MetadataSFInt32",
	"MetadataSFMatrix3d",
	"MetadataSFMatrix3f",
	"MetadataSFMatrix4d",
	"MetadataSFMatrix4f",
	"MetadataSFNode",
	"MetadataSFRotation",
	"MetadataSFString",
	"MetadataSFTime",
	"MetadataSFVec2d",
	"MetadataSFVec2f",
	"MetadataSFVec3d",
	"MetadataSFVec3f",
	"MetadataSFVec4d",
	"MetadataSFVec4f",
	"MetadataSet",
	"MetadataString",
	"MovieTexture",
	"MultiTexture",
	"MultiTextureCoordinate",
	"MultiTextureTransform",
	"NavigationInfo",
	"Normal",
	"NormalInterpolator",
	"NurbsCurve",
	"NurbsCurve2D",
	"NurbsGroup",
	"NurbsPositionInterpolator",
	"NurbsSurface",
	"NurbsTextureSurface",
	"NurbsTrimmedSurface",
	"OSC_Sensor",
	"OrientationInterpolator",
	"OrthoViewpoint",
	"PackagedShader",
	"PickableGroup",
	"PixelTexture",
	"PlaneSensor",
	"PointLight",
	"PointPickSensor",
	"PointSet",
	"Polyline2D",
	"Polypoint2D",
	"PositionInterpolator",
	"PositionInterpolator2D",
	"ProgramShader",
	"ProximitySensor",
	"ReceiverPdu",
	"Rectangle2D",
	"ScalarInterpolator",
	"Script",
	"ShaderPart",
	"ShaderProgram",
	"Shape",
	"SignalPdu",
	"Sound",
	"Sphere",
	"SphereSensor",
	"SplinePositionInterpolator",
	"SplinePositionInterpolator2D",
	"SplineScalarInterpolator",
	"SpotLight",
	"SquadOrientationInterpolator",
	"StaticGroup",
	"StringSensor",
	"Switch",
	"Text",
	"TextureBackground",
	"TextureCoordinate",
	"TextureCoordinateGenerator",
	"TextureProperties",
	"TextureTransform",
	"TimeSensor",
	"TimeTrigger",
	"TouchSensor",
	"Transform",
	"TransmitterPdu",
	"TriangleFanSet",
	"TriangleSet",
	"TriangleSet2D",
	"TriangleStripSet",
	"TwoSidedMaterial",
	"VRML1_AsciiText",
	"VRML1_Cone",
	"VRML1_Coordinate3",
	"VRML1_Cube",
	"VRML1_Cylinder",
	"VRML1_DirectionalLight",
	"VRML1_FontStyle",
	"VRML1_IndexedFaceSet",
	"VRML1_IndexedLineSet",
	"VRML1_Info",
	"VRML1_LOD",
	"VRML1_Material",
	"VRML1_MaterialBinding",
	"VRML1_MatrixTransform",
	"VRML1_Normal",
	"VRML1_NormalBinding",
	"VRML1_OrthographicCamera",
	"VRML1_PerspectiveCamera",
	"VRML1_PointLight",
	"VRML1_PointSet",
	"VRML1_Rotation",
	"VRML1_Scale",
	"VRML1_Separator",
	"VRML1_ShapeHints",
	"VRML1_Sphere",
	"VRML1_SpotLight",
	"VRML1_Switch",
	"VRML1_Texture2",
	"VRML1_Texture2Transform",
	"VRML1_TextureCoordinate2",
	"VRML1_Transform",
	"VRML1_Translation",
	"VRML1_WWWAnchor",
	"VRML1_WWWInline",
	"Viewpoint",
	"ViewpointGroup",
	"VisibilitySensor",
	"WorldInfo",
};
const int NODES_COUNT = ARR_SIZE(NODES);

/* Virtual tables for each node */

void child_Anchor(struct X3D_Anchor *);
struct X3D_Virt virt_Anchor = { NULL,NULL,(void *)child_Anchor,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_Appearance(struct X3D_Appearance *);
struct X3D_Virt virt_Appearance = { NULL,NULL,(void *)child_Appearance,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Arc2D(struct X3D_Arc2D *);
void compile_Arc2D(struct X3D_Arc2D *);
struct X3D_Virt virt_Arc2D = { NULL,(void *)render_Arc2D,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Arc2D};

void render_ArcClose2D(struct X3D_ArcClose2D *);
void compile_ArcClose2D(struct X3D_ArcClose2D *);
struct X3D_Virt virt_ArcClose2D = { NULL,(void *)render_ArcClose2D,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_ArcClose2D};

void render_AudioClip(struct X3D_AudioClip *);
struct X3D_Virt virt_AudioClip = { NULL,(void *)render_AudioClip,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Background(struct X3D_Background *);
struct X3D_Virt virt_Background = { NULL,(void *)render_Background,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_Billboard(struct X3D_Billboard *);
void child_Billboard(struct X3D_Billboard *);
void fin_Billboard(struct X3D_Billboard *);
void proximity_Billboard(struct X3D_Billboard *);
struct X3D_Virt virt_Billboard = { (void *)prep_Billboard,NULL,(void *)child_Billboard,(void *)fin_Billboard,NULL,NULL,(void *)proximity_Billboard,NULL,NULL,NULL};

struct X3D_Virt virt_BooleanFilter = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_BooleanSequencer = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_BooleanToggle = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_BooleanTrigger = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Box(struct X3D_Box *);
void rendray_Box(struct X3D_Box *);
void collide_Box(struct X3D_Box *);
void compile_Box(struct X3D_Box *);
struct X3D_Virt virt_Box = { NULL,(void *)render_Box,NULL,NULL,(void *)rendray_Box,NULL,NULL,NULL,(void *)collide_Box,(void *)compile_Box};

void render_Circle2D(struct X3D_Circle2D *);
void compile_Circle2D(struct X3D_Circle2D *);
struct X3D_Virt virt_Circle2D = { NULL,(void *)render_Circle2D,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Circle2D};

struct X3D_Virt virt_ClipPlane = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_Collision(struct X3D_Collision *);
struct X3D_Virt virt_Collision = { NULL,NULL,(void *)child_Collision,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_Color = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_ColorInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_ColorRGBA = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ComposedCubeMapTexture(struct X3D_ComposedCubeMapTexture *);
struct X3D_Virt virt_ComposedCubeMapTexture = { NULL,(void *)render_ComposedCubeMapTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ComposedShader(struct X3D_ComposedShader *);
void compile_ComposedShader(struct X3D_ComposedShader *);
struct X3D_Virt virt_ComposedShader = { NULL,(void *)render_ComposedShader,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_ComposedShader};

void render_Cone(struct X3D_Cone *);
void rendray_Cone(struct X3D_Cone *);
void collide_Cone(struct X3D_Cone *);
void compile_Cone(struct X3D_Cone *);
struct X3D_Virt virt_Cone = { NULL,(void *)render_Cone,NULL,NULL,(void *)rendray_Cone,NULL,NULL,NULL,(void *)collide_Cone,(void *)compile_Cone};

struct X3D_Virt virt_Contour2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_ContourPolyLine2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_Coordinate = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_CoordinateInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_CoordinateInterpolator2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Cylinder(struct X3D_Cylinder *);
void rendray_Cylinder(struct X3D_Cylinder *);
void collide_Cylinder(struct X3D_Cylinder *);
void compile_Cylinder(struct X3D_Cylinder *);
struct X3D_Virt virt_Cylinder = { NULL,(void *)render_Cylinder,NULL,NULL,(void *)rendray_Cylinder,NULL,NULL,NULL,(void *)collide_Cylinder,(void *)compile_Cylinder};

struct X3D_Virt virt_CylinderSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_DISEntityManager = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_DISEntityTypeMapping = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_DirectionalLight(struct X3D_DirectionalLight *);
void render_DirectionalLight(struct X3D_DirectionalLight *);
struct X3D_Virt virt_DirectionalLight = { (void *)prep_DirectionalLight,(void *)render_DirectionalLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Disk2D(struct X3D_Disk2D *);
void collide_Disk2D(struct X3D_Disk2D *);
void compile_Disk2D(struct X3D_Disk2D *);
struct X3D_Virt virt_Disk2D = { NULL,(void *)render_Disk2D,NULL,NULL,NULL,NULL,NULL,NULL,(void *)collide_Disk2D,(void *)compile_Disk2D};

struct X3D_Virt virt_EaseInEaseOut = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ElevationGrid(struct X3D_ElevationGrid *);
struct X3D_Virt virt_ElevationGrid = { NULL,(void *)render_ElevationGrid,NULL,NULL,(void *)rendray_ElevationGrid,(void *)make_ElevationGrid,NULL,NULL,(void *)collide_ElevationGrid,NULL};

struct X3D_Virt virt_EspduTransform = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Extrusion(struct X3D_Extrusion *);
void make_Extrusion(struct X3D_Extrusion *);
void collide_Extrusion(struct X3D_Extrusion *);
struct X3D_Virt virt_Extrusion = { NULL,(void *)render_Extrusion,NULL,NULL,(void *)rendray_Extrusion,(void *)make_Extrusion,NULL,NULL,(void *)collide_Extrusion,NULL};

void render_FillProperties(struct X3D_FillProperties *);
struct X3D_Virt virt_FillProperties = { NULL,(void *)render_FillProperties,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_FloatVertexAttribute = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Fog(struct X3D_Fog *);
struct X3D_Virt virt_Fog = { NULL,(void *)render_Fog,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_FogCoordinate = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_FontStyle = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_GeneratedCubeMapTexture(struct X3D_GeneratedCubeMapTexture *);
struct X3D_Virt virt_GeneratedCubeMapTexture = { NULL,(void *)render_GeneratedCubeMapTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void compile_GeoCoordinate(struct X3D_GeoCoordinate *);
struct X3D_Virt virt_GeoCoordinate = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoCoordinate};

void render_GeoElevationGrid(struct X3D_GeoElevationGrid *);
void compile_GeoElevationGrid(struct X3D_GeoElevationGrid *);
struct X3D_Virt virt_GeoElevationGrid = { NULL,(void *)render_GeoElevationGrid,NULL,NULL,(void *)rendray_GeoElevationGrid,(void *)make_GeoElevationGrid,NULL,NULL,(void *)collide_GeoElevationGrid,(void *)compile_GeoElevationGrid};

void child_GeoLOD(struct X3D_GeoLOD *);
void compile_GeoLOD(struct X3D_GeoLOD *);
struct X3D_Virt virt_GeoLOD = { NULL,NULL,(void *)child_GeoLOD,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoLOD};

void prep_GeoLocation(struct X3D_GeoLocation *);
void child_GeoLocation(struct X3D_GeoLocation *);
void fin_GeoLocation(struct X3D_GeoLocation *);
void compile_GeoLocation(struct X3D_GeoLocation *);
struct X3D_Virt virt_GeoLocation = { (void *)prep_GeoLocation,NULL,(void *)child_GeoLocation,(void *)fin_GeoLocation,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoLocation};

void compile_GeoMetadata(struct X3D_GeoMetadata *);
struct X3D_Virt virt_GeoMetadata = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoMetadata};

void compile_GeoOrigin(struct X3D_GeoOrigin *);
struct X3D_Virt virt_GeoOrigin = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoOrigin};

void compile_GeoPositionInterpolator(struct X3D_GeoPositionInterpolator *);
struct X3D_Virt virt_GeoPositionInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoPositionInterpolator};

void proximity_GeoProximitySensor(struct X3D_GeoProximitySensor *);
void compile_GeoProximitySensor(struct X3D_GeoProximitySensor *);
struct X3D_Virt virt_GeoProximitySensor = { NULL,NULL,NULL,NULL,NULL,NULL,(void *)proximity_GeoProximitySensor,NULL,NULL,(void *)compile_GeoProximitySensor};

void compile_GeoTouchSensor(struct X3D_GeoTouchSensor *);
struct X3D_Virt virt_GeoTouchSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoTouchSensor};

void prep_GeoTransform(struct X3D_GeoTransform *);
void child_GeoTransform(struct X3D_GeoTransform *);
void fin_GeoTransform(struct X3D_GeoTransform *);
void compile_GeoTransform(struct X3D_GeoTransform *);
struct X3D_Virt virt_GeoTransform = { (void *)prep_GeoTransform,NULL,(void *)child_GeoTransform,(void *)fin_GeoTransform,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoTransform};

void prep_GeoViewpoint(struct X3D_GeoViewpoint *);
void compile_GeoViewpoint(struct X3D_GeoViewpoint *);
struct X3D_Virt virt_GeoViewpoint = { (void *)prep_GeoViewpoint,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_GeoViewpoint};

void prep_Group(struct X3D_Group *);
void child_Group(struct X3D_Group *);
void compile_Group(struct X3D_Group *);
struct X3D_Virt virt_Group = { (void *)prep_Group,NULL,(void *)child_Group,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Group};

struct X3D_Virt virt_HAnimDisplacer = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_HAnimHumanoid(struct X3D_HAnimHumanoid *);
void child_HAnimHumanoid(struct X3D_HAnimHumanoid *);
struct X3D_Virt virt_HAnimHumanoid = { NULL,(void *)render_HAnimHumanoid,(void *)child_HAnimHumanoid,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_HAnimJoint(struct X3D_HAnimJoint *);
void render_HAnimJoint(struct X3D_HAnimJoint *);
void child_HAnimJoint(struct X3D_HAnimJoint *);
void fin_HAnimJoint(struct X3D_HAnimJoint *);
struct X3D_Virt virt_HAnimJoint = { (void *)prep_HAnimJoint,(void *)render_HAnimJoint,(void *)child_HAnimJoint,(void *)fin_HAnimJoint,NULL,NULL,NULL,NULL,NULL,NULL};

void child_HAnimSegment(struct X3D_HAnimSegment *);
struct X3D_Virt virt_HAnimSegment = { NULL,NULL,(void *)child_HAnimSegment,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_HAnimSite(struct X3D_HAnimSite *);
void child_HAnimSite(struct X3D_HAnimSite *);
void fin_HAnimSite(struct X3D_HAnimSite *);
struct X3D_Virt virt_HAnimSite = { (void *)prep_HAnimSite,NULL,(void *)child_HAnimSite,(void *)fin_HAnimSite,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ImageCubeMapTexture(struct X3D_ImageCubeMapTexture *);
struct X3D_Virt virt_ImageCubeMapTexture = { NULL,(void *)render_ImageCubeMapTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ImageTexture(struct X3D_ImageTexture *);
struct X3D_Virt virt_ImageTexture = { NULL,(void *)render_ImageTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_IndexedFaceSet(struct X3D_IndexedFaceSet *);
struct X3D_Virt virt_IndexedFaceSet = { NULL,(void *)render_IndexedFaceSet,NULL,NULL,(void *)rendray_IndexedFaceSet,(void *)make_IndexedFaceSet,NULL,NULL,(void *)collide_IndexedFaceSet,NULL};

void render_IndexedLineSet(struct X3D_IndexedLineSet *);
void compile_IndexedLineSet(struct X3D_IndexedLineSet *);
struct X3D_Virt virt_IndexedLineSet = { NULL,(void *)render_IndexedLineSet,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_IndexedLineSet};

void render_IndexedTriangleFanSet(struct X3D_IndexedTriangleFanSet *);
struct X3D_Virt virt_IndexedTriangleFanSet = { NULL,(void *)render_IndexedTriangleFanSet,NULL,NULL,(void *)rendray_IndexedTriangleFanSet,(void *)make_IndexedTriangleFanSet,NULL,NULL,(void *)collide_IndexedTriangleFanSet,NULL};

void render_IndexedTriangleSet(struct X3D_IndexedTriangleSet *);
struct X3D_Virt virt_IndexedTriangleSet = { NULL,(void *)render_IndexedTriangleSet,NULL,NULL,(void *)rendray_IndexedTriangleSet,(void *)make_IndexedTriangleSet,NULL,NULL,(void *)collide_IndexedTriangleSet,NULL};

void render_IndexedTriangleStripSet(struct X3D_IndexedTriangleStripSet *);
struct X3D_Virt virt_IndexedTriangleStripSet = { NULL,(void *)render_IndexedTriangleStripSet,NULL,NULL,(void *)rendray_IndexedTriangleStripSet,(void *)make_IndexedTriangleStripSet,NULL,NULL,(void *)collide_IndexedTriangleStripSet,NULL};

void child_Inline(struct X3D_Inline *);
struct X3D_Virt virt_Inline = { NULL,NULL,(void *)child_Inline,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_IntegerSequencer = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_IntegerTrigger = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_KeySensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_LOD(struct X3D_LOD *);
void proximity_LOD(struct X3D_LOD *);
struct X3D_Virt virt_LOD = { NULL,NULL,(void *)child_LOD,NULL,NULL,NULL,(void *)proximity_LOD,NULL,NULL,NULL};

void render_LineProperties(struct X3D_LineProperties *);
struct X3D_Virt virt_LineProperties = { NULL,(void *)render_LineProperties,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_LineSet(struct X3D_LineSet *);
void compile_LineSet(struct X3D_LineSet *);
struct X3D_Virt virt_LineSet = { NULL,(void *)render_LineSet,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_LineSet};

void render_LoadSensor(struct X3D_LoadSensor *);
struct X3D_Virt virt_LoadSensor = { NULL,(void *)render_LoadSensor,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_LocalFog = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Material(struct X3D_Material *);
void compile_Material(struct X3D_Material *);
struct X3D_Virt virt_Material = { NULL,(void *)render_Material,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Material};

struct X3D_Virt virt_Matrix3VertexAttribute = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_Matrix4VertexAttribute = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void compile_MetadataDouble(struct X3D_MetadataDouble *);
struct X3D_Virt virt_MetadataDouble = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataDouble};

void compile_MetadataFloat(struct X3D_MetadataFloat *);
struct X3D_Virt virt_MetadataFloat = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataFloat};

void compile_MetadataInteger(struct X3D_MetadataInteger *);
struct X3D_Virt virt_MetadataInteger = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataInteger};

void compile_MetadataMFBool(struct X3D_MetadataMFBool *);
struct X3D_Virt virt_MetadataMFBool = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFBool};

void compile_MetadataMFColor(struct X3D_MetadataMFColor *);
struct X3D_Virt virt_MetadataMFColor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFColor};

void compile_MetadataMFColorRGBA(struct X3D_MetadataMFColorRGBA *);
struct X3D_Virt virt_MetadataMFColorRGBA = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFColorRGBA};

void compile_MetadataMFDouble(struct X3D_MetadataMFDouble *);
struct X3D_Virt virt_MetadataMFDouble = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFDouble};

void compile_MetadataMFFloat(struct X3D_MetadataMFFloat *);
struct X3D_Virt virt_MetadataMFFloat = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFFloat};

void compile_MetadataMFInt32(struct X3D_MetadataMFInt32 *);
struct X3D_Virt virt_MetadataMFInt32 = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFInt32};

void compile_MetadataMFMatrix3d(struct X3D_MetadataMFMatrix3d *);
struct X3D_Virt virt_MetadataMFMatrix3d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFMatrix3d};

void compile_MetadataMFMatrix3f(struct X3D_MetadataMFMatrix3f *);
struct X3D_Virt virt_MetadataMFMatrix3f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFMatrix3f};

void compile_MetadataMFMatrix4d(struct X3D_MetadataMFMatrix4d *);
struct X3D_Virt virt_MetadataMFMatrix4d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFMatrix4d};

void compile_MetadataMFMatrix4f(struct X3D_MetadataMFMatrix4f *);
struct X3D_Virt virt_MetadataMFMatrix4f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFMatrix4f};

void compile_MetadataMFNode(struct X3D_MetadataMFNode *);
struct X3D_Virt virt_MetadataMFNode = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFNode};

void compile_MetadataMFRotation(struct X3D_MetadataMFRotation *);
struct X3D_Virt virt_MetadataMFRotation = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFRotation};

void compile_MetadataMFString(struct X3D_MetadataMFString *);
struct X3D_Virt virt_MetadataMFString = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFString};

void compile_MetadataMFTime(struct X3D_MetadataMFTime *);
struct X3D_Virt virt_MetadataMFTime = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFTime};

void compile_MetadataMFVec2d(struct X3D_MetadataMFVec2d *);
struct X3D_Virt virt_MetadataMFVec2d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec2d};

void compile_MetadataMFVec2f(struct X3D_MetadataMFVec2f *);
struct X3D_Virt virt_MetadataMFVec2f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec2f};

void compile_MetadataMFVec3d(struct X3D_MetadataMFVec3d *);
struct X3D_Virt virt_MetadataMFVec3d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec3d};

void compile_MetadataMFVec3f(struct X3D_MetadataMFVec3f *);
struct X3D_Virt virt_MetadataMFVec3f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec3f};

void compile_MetadataMFVec4d(struct X3D_MetadataMFVec4d *);
struct X3D_Virt virt_MetadataMFVec4d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec4d};

void compile_MetadataMFVec4f(struct X3D_MetadataMFVec4f *);
struct X3D_Virt virt_MetadataMFVec4f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataMFVec4f};

void compile_MetadataSFBool(struct X3D_MetadataSFBool *);
struct X3D_Virt virt_MetadataSFBool = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFBool};

void compile_MetadataSFColor(struct X3D_MetadataSFColor *);
struct X3D_Virt virt_MetadataSFColor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFColor};

void compile_MetadataSFColorRGBA(struct X3D_MetadataSFColorRGBA *);
struct X3D_Virt virt_MetadataSFColorRGBA = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFColorRGBA};

void compile_MetadataSFDouble(struct X3D_MetadataSFDouble *);
struct X3D_Virt virt_MetadataSFDouble = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFDouble};

void compile_MetadataSFFloat(struct X3D_MetadataSFFloat *);
struct X3D_Virt virt_MetadataSFFloat = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFFloat};

void compile_MetadataSFImage(struct X3D_MetadataSFImage *);
struct X3D_Virt virt_MetadataSFImage = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFImage};

void compile_MetadataSFInt32(struct X3D_MetadataSFInt32 *);
struct X3D_Virt virt_MetadataSFInt32 = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFInt32};

void compile_MetadataSFMatrix3d(struct X3D_MetadataSFMatrix3d *);
struct X3D_Virt virt_MetadataSFMatrix3d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFMatrix3d};

void compile_MetadataSFMatrix3f(struct X3D_MetadataSFMatrix3f *);
struct X3D_Virt virt_MetadataSFMatrix3f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFMatrix3f};

void compile_MetadataSFMatrix4d(struct X3D_MetadataSFMatrix4d *);
struct X3D_Virt virt_MetadataSFMatrix4d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFMatrix4d};

void compile_MetadataSFMatrix4f(struct X3D_MetadataSFMatrix4f *);
struct X3D_Virt virt_MetadataSFMatrix4f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFMatrix4f};

void compile_MetadataSFNode(struct X3D_MetadataSFNode *);
struct X3D_Virt virt_MetadataSFNode = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFNode};

void compile_MetadataSFRotation(struct X3D_MetadataSFRotation *);
struct X3D_Virt virt_MetadataSFRotation = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFRotation};

void compile_MetadataSFString(struct X3D_MetadataSFString *);
struct X3D_Virt virt_MetadataSFString = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFString};

void compile_MetadataSFTime(struct X3D_MetadataSFTime *);
struct X3D_Virt virt_MetadataSFTime = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFTime};

void compile_MetadataSFVec2d(struct X3D_MetadataSFVec2d *);
struct X3D_Virt virt_MetadataSFVec2d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec2d};

void compile_MetadataSFVec2f(struct X3D_MetadataSFVec2f *);
struct X3D_Virt virt_MetadataSFVec2f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec2f};

void compile_MetadataSFVec3d(struct X3D_MetadataSFVec3d *);
struct X3D_Virt virt_MetadataSFVec3d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec3d};

void compile_MetadataSFVec3f(struct X3D_MetadataSFVec3f *);
struct X3D_Virt virt_MetadataSFVec3f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec3f};

void compile_MetadataSFVec4d(struct X3D_MetadataSFVec4d *);
struct X3D_Virt virt_MetadataSFVec4d = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec4d};

void compile_MetadataSFVec4f(struct X3D_MetadataSFVec4f *);
struct X3D_Virt virt_MetadataSFVec4f = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSFVec4f};

void compile_MetadataSet(struct X3D_MetadataSet *);
struct X3D_Virt virt_MetadataSet = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataSet};

void compile_MetadataString(struct X3D_MetadataString *);
struct X3D_Virt virt_MetadataString = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_MetadataString};

void render_MovieTexture(struct X3D_MovieTexture *);
struct X3D_Virt virt_MovieTexture = { NULL,(void *)render_MovieTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_MultiTexture(struct X3D_MultiTexture *);
struct X3D_Virt virt_MultiTexture = { NULL,(void *)render_MultiTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_MultiTextureCoordinate = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_MultiTextureTransform = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_NavigationInfo(struct X3D_NavigationInfo *);
struct X3D_Virt virt_NavigationInfo = { NULL,(void *)render_NavigationInfo,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_Normal = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NormalInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsCurve = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsCurve2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsGroup = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsPositionInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsSurface = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsTextureSurface = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_NurbsTrimmedSurface = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_OSC_Sensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_OrientationInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_OrthoViewpoint(struct X3D_OrthoViewpoint *);
struct X3D_Virt virt_OrthoViewpoint = { (void *)prep_OrthoViewpoint,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_PackagedShader(struct X3D_PackagedShader *);
void compile_PackagedShader(struct X3D_PackagedShader *);
struct X3D_Virt virt_PackagedShader = { NULL,(void *)render_PackagedShader,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_PackagedShader};

void prep_PickableGroup(struct X3D_PickableGroup *);
void child_PickableGroup(struct X3D_PickableGroup *);
void other_PickableGroup(struct X3D_PickableGroup *);
struct X3D_Virt virt_PickableGroup = { (void *)prep_PickableGroup,NULL,(void *)child_PickableGroup,NULL,NULL,NULL,NULL,(void *)other_PickableGroup,NULL,NULL};

void render_PixelTexture(struct X3D_PixelTexture *);
struct X3D_Virt virt_PixelTexture = { NULL,(void *)render_PixelTexture,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_PlaneSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_PointLight(struct X3D_PointLight *);
void render_PointLight(struct X3D_PointLight *);
struct X3D_Virt virt_PointLight = { (void *)prep_PointLight,(void *)render_PointLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void other_PointPickSensor(struct X3D_PointPickSensor *);
struct X3D_Virt virt_PointPickSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)other_PointPickSensor,NULL,NULL};

void render_PointSet(struct X3D_PointSet *);
void compile_PointSet(struct X3D_PointSet *);
struct X3D_Virt virt_PointSet = { NULL,(void *)render_PointSet,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_PointSet};

void render_Polyline2D(struct X3D_Polyline2D *);
void compile_Polyline2D(struct X3D_Polyline2D *);
struct X3D_Virt virt_Polyline2D = { NULL,(void *)render_Polyline2D,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Polyline2D};

void render_Polypoint2D(struct X3D_Polypoint2D *);
void compile_Polypoint2D(struct X3D_Polypoint2D *);
struct X3D_Virt virt_Polypoint2D = { NULL,(void *)render_Polypoint2D,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Polypoint2D};

struct X3D_Virt virt_PositionInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_PositionInterpolator2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_ProgramShader(struct X3D_ProgramShader *);
void compile_ProgramShader(struct X3D_ProgramShader *);
struct X3D_Virt virt_ProgramShader = { NULL,(void *)render_ProgramShader,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_ProgramShader};

void proximity_ProximitySensor(struct X3D_ProximitySensor *);
struct X3D_Virt virt_ProximitySensor = { NULL,NULL,NULL,NULL,NULL,NULL,(void *)proximity_ProximitySensor,NULL,NULL,NULL};

struct X3D_Virt virt_ReceiverPdu = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Rectangle2D(struct X3D_Rectangle2D *);
void collide_Rectangle2D(struct X3D_Rectangle2D *);
void compile_Rectangle2D(struct X3D_Rectangle2D *);
struct X3D_Virt virt_Rectangle2D = { NULL,(void *)render_Rectangle2D,NULL,NULL,NULL,NULL,NULL,NULL,(void *)collide_Rectangle2D,(void *)compile_Rectangle2D};

struct X3D_Virt virt_ScalarInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_Script = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_ShaderPart = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_ShaderProgram = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_Shape(struct X3D_Shape *);
void compile_Shape(struct X3D_Shape *);
struct X3D_Virt virt_Shape = { NULL,NULL,(void *)child_Shape,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_Shape};

struct X3D_Virt virt_SignalPdu = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Sound(struct X3D_Sound *);
struct X3D_Virt virt_Sound = { NULL,(void *)render_Sound,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Sphere(struct X3D_Sphere *);
void rendray_Sphere(struct X3D_Sphere *);
void other_Sphere(struct X3D_Sphere *);
void collide_Sphere(struct X3D_Sphere *);
void compile_Sphere(struct X3D_Sphere *);
struct X3D_Virt virt_Sphere = { NULL,(void *)render_Sphere,NULL,NULL,(void *)rendray_Sphere,NULL,NULL,(void *)other_Sphere,(void *)collide_Sphere,(void *)compile_Sphere};

struct X3D_Virt virt_SphereSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_SplinePositionInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_SplinePositionInterpolator2D = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_SplineScalarInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_SpotLight(struct X3D_SpotLight *);
void render_SpotLight(struct X3D_SpotLight *);
struct X3D_Virt virt_SpotLight = { (void *)prep_SpotLight,(void *)render_SpotLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_SquadOrientationInterpolator = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_StaticGroup(struct X3D_StaticGroup *);
struct X3D_Virt virt_StaticGroup = { NULL,NULL,(void *)child_StaticGroup,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_StringSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_Switch(struct X3D_Switch *);
struct X3D_Virt virt_Switch = { NULL,NULL,(void *)child_Switch,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_Text(struct X3D_Text *);
void make_Text(struct X3D_Text *);
void collide_Text(struct X3D_Text *);
struct X3D_Virt virt_Text = { NULL,(void *)render_Text,NULL,NULL,(void *)rendray_Text,(void *)make_Text,NULL,NULL,(void *)collide_Text,NULL};

void render_TextureBackground(struct X3D_TextureBackground *);
struct X3D_Virt virt_TextureBackground = { NULL,(void *)render_TextureBackground,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_TextureCoordinate(struct X3D_TextureCoordinate *);
struct X3D_Virt virt_TextureCoordinate = { NULL,(void *)render_TextureCoordinate,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_TextureCoordinateGenerator(struct X3D_TextureCoordinateGenerator *);
struct X3D_Virt virt_TextureCoordinateGenerator = { NULL,(void *)render_TextureCoordinateGenerator,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_TextureProperties = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_TextureTransform = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_TimeSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_TimeTrigger = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_TouchSensor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_Transform(struct X3D_Transform *);
void child_Transform(struct X3D_Transform *);
void fin_Transform(struct X3D_Transform *);
void compile_Transform(struct X3D_Transform *);
struct X3D_Virt virt_Transform = { (void *)prep_Transform,NULL,(void *)child_Transform,(void *)fin_Transform,NULL,NULL,NULL,NULL,NULL,(void *)compile_Transform};

struct X3D_Virt virt_TransmitterPdu = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_TriangleFanSet(struct X3D_TriangleFanSet *);
struct X3D_Virt virt_TriangleFanSet = { NULL,(void *)render_TriangleFanSet,NULL,NULL,(void *)rendray_TriangleFanSet,(void *)make_TriangleFanSet,NULL,NULL,(void *)collide_TriangleFanSet,NULL};

void render_TriangleSet(struct X3D_TriangleSet *);
struct X3D_Virt virt_TriangleSet = { NULL,(void *)render_TriangleSet,NULL,NULL,(void *)rendray_TriangleSet,(void *)make_TriangleSet,NULL,NULL,(void *)collide_TriangleSet,NULL};

void render_TriangleSet2D(struct X3D_TriangleSet2D *);
void collide_TriangleSet2D(struct X3D_TriangleSet2D *);
void compile_TriangleSet2D(struct X3D_TriangleSet2D *);
struct X3D_Virt virt_TriangleSet2D = { NULL,(void *)render_TriangleSet2D,NULL,NULL,NULL,NULL,NULL,NULL,(void *)collide_TriangleSet2D,(void *)compile_TriangleSet2D};

void render_TriangleStripSet(struct X3D_TriangleStripSet *);
struct X3D_Virt virt_TriangleStripSet = { NULL,(void *)render_TriangleStripSet,NULL,NULL,(void *)rendray_TriangleStripSet,(void *)make_TriangleStripSet,NULL,NULL,(void *)collide_TriangleStripSet,NULL};

void render_TwoSidedMaterial(struct X3D_TwoSidedMaterial *);
void compile_TwoSidedMaterial(struct X3D_TwoSidedMaterial *);
struct X3D_Virt virt_TwoSidedMaterial = { NULL,(void *)render_TwoSidedMaterial,NULL,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_TwoSidedMaterial};

void render_VRML1_AsciiText(struct X3D_VRML1_AsciiText *);
struct X3D_Virt virt_VRML1_AsciiText = { NULL,(void *)render_VRML1_AsciiText,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Cone(struct X3D_VRML1_Cone *);
struct X3D_Virt virt_VRML1_Cone = { NULL,(void *)render_VRML1_Cone,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Coordinate3(struct X3D_VRML1_Coordinate3 *);
struct X3D_Virt virt_VRML1_Coordinate3 = { NULL,(void *)render_VRML1_Coordinate3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Cube(struct X3D_VRML1_Cube *);
struct X3D_Virt virt_VRML1_Cube = { NULL,(void *)render_VRML1_Cube,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Cylinder(struct X3D_VRML1_Cylinder *);
struct X3D_Virt virt_VRML1_Cylinder = { NULL,(void *)render_VRML1_Cylinder,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_DirectionalLight(struct X3D_VRML1_DirectionalLight *);
struct X3D_Virt virt_VRML1_DirectionalLight = { NULL,(void *)render_VRML1_DirectionalLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_FontStyle(struct X3D_VRML1_FontStyle *);
struct X3D_Virt virt_VRML1_FontStyle = { NULL,(void *)render_VRML1_FontStyle,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_IndexedFaceSet(struct X3D_VRML1_IndexedFaceSet *);
struct X3D_Virt virt_VRML1_IndexedFaceSet = { NULL,(void *)render_VRML1_IndexedFaceSet,NULL,NULL,(void *)rendray_VRML1_IndexedFaceSet,(void *)make_VRML1_IndexedFaceSet,NULL,NULL,(void *)collide_VRML1_IndexedFaceSet,NULL};

void render_VRML1_IndexedLineSet(struct X3D_VRML1_IndexedLineSet *);
struct X3D_Virt virt_VRML1_IndexedLineSet = { NULL,(void *)render_VRML1_IndexedLineSet,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_Info = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_LOD = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Material(struct X3D_VRML1_Material *);
struct X3D_Virt virt_VRML1_Material = { NULL,(void *)render_VRML1_Material,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_MaterialBinding(struct X3D_VRML1_MaterialBinding *);
struct X3D_Virt virt_VRML1_MaterialBinding = { NULL,(void *)render_VRML1_MaterialBinding,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_MatrixTransform(struct X3D_VRML1_MatrixTransform *);
struct X3D_Virt virt_VRML1_MatrixTransform = { NULL,(void *)render_VRML1_MatrixTransform,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Normal(struct X3D_VRML1_Normal *);
struct X3D_Virt virt_VRML1_Normal = { NULL,(void *)render_VRML1_Normal,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_NormalBinding(struct X3D_VRML1_NormalBinding *);
struct X3D_Virt virt_VRML1_NormalBinding = { NULL,(void *)render_VRML1_NormalBinding,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_OrthographicCamera = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_PerspectiveCamera = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_PointLight(struct X3D_VRML1_PointLight *);
struct X3D_Virt virt_VRML1_PointLight = { NULL,(void *)render_VRML1_PointLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_PointSet(struct X3D_VRML1_PointSet *);
struct X3D_Virt virt_VRML1_PointSet = { NULL,(void *)render_VRML1_PointSet,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Rotation(struct X3D_VRML1_Rotation *);
struct X3D_Virt virt_VRML1_Rotation = { NULL,(void *)render_VRML1_Rotation,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Scale(struct X3D_VRML1_Scale *);
struct X3D_Virt virt_VRML1_Scale = { NULL,(void *)render_VRML1_Scale,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_VRML1_Separator(struct X3D_VRML1_Separator *);
void child_VRML1_Separator(struct X3D_VRML1_Separator *);
void fin_VRML1_Separator(struct X3D_VRML1_Separator *);
struct X3D_Virt virt_VRML1_Separator = { (void *)prep_VRML1_Separator,NULL,(void *)child_VRML1_Separator,(void *)fin_VRML1_Separator,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_ShapeHints(struct X3D_VRML1_ShapeHints *);
struct X3D_Virt virt_VRML1_ShapeHints = { NULL,(void *)render_VRML1_ShapeHints,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Sphere(struct X3D_VRML1_Sphere *);
struct X3D_Virt virt_VRML1_Sphere = { NULL,(void *)render_VRML1_Sphere,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_SpotLight(struct X3D_VRML1_SpotLight *);
struct X3D_Virt virt_VRML1_SpotLight = { NULL,(void *)render_VRML1_SpotLight,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_Switch = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Texture2(struct X3D_VRML1_Texture2 *);
struct X3D_Virt virt_VRML1_Texture2 = { NULL,(void *)render_VRML1_Texture2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Texture2Transform(struct X3D_VRML1_Texture2Transform *);
struct X3D_Virt virt_VRML1_Texture2Transform = { NULL,(void *)render_VRML1_Texture2Transform,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_TextureCoordinate2(struct X3D_VRML1_TextureCoordinate2 *);
struct X3D_Virt virt_VRML1_TextureCoordinate2 = { NULL,(void *)render_VRML1_TextureCoordinate2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Transform(struct X3D_VRML1_Transform *);
struct X3D_Virt virt_VRML1_Transform = { NULL,(void *)render_VRML1_Transform,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void render_VRML1_Translation(struct X3D_VRML1_Translation *);
struct X3D_Virt virt_VRML1_Translation = { NULL,(void *)render_VRML1_Translation,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_WWWAnchor = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_VRML1_WWWInline = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void prep_Viewpoint(struct X3D_Viewpoint *);
struct X3D_Virt virt_Viewpoint = { (void *)prep_Viewpoint,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

void child_ViewpointGroup(struct X3D_ViewpointGroup *);
void compile_ViewpointGroup(struct X3D_ViewpointGroup *);
struct X3D_Virt virt_ViewpointGroup = { NULL,NULL,(void *)child_ViewpointGroup,NULL,NULL,NULL,NULL,NULL,NULL,(void *)compile_ViewpointGroup};

void child_VisibilitySensor(struct X3D_VisibilitySensor *);
struct X3D_Virt virt_VisibilitySensor = { NULL,NULL,(void *)child_VisibilitySensor,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

struct X3D_Virt virt_WorldInfo = { NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};

/* table containing pointers to every virtual struct for each node type */ 
struct X3D_Virt* virtTable[] = { 
	 &virt_Anchor,
	 &virt_Appearance,
	 &virt_Arc2D,
	 &virt_ArcClose2D,
	 &virt_AudioClip,
	 &virt_Background,
	 &virt_Billboard,
	 &virt_BooleanFilter,
	 &virt_BooleanSequencer,
	 &virt_BooleanToggle,
	 &virt_BooleanTrigger,
	 &virt_Box,
	 &virt_Circle2D,
	 &virt_ClipPlane,
	 &virt_Collision,
	 &virt_Color,
	 &virt_ColorInterpolator,
	 &virt_ColorRGBA,
	 &virt_ComposedCubeMapTexture,
	 &virt_ComposedShader,
	 &virt_Cone,
	 &virt_Contour2D,
	 &virt_ContourPolyLine2D,
	 &virt_Coordinate,
	 &virt_CoordinateInterpolator,
	 &virt_CoordinateInterpolator2D,
	 &virt_Cylinder,
	 &virt_CylinderSensor,
	 &virt_DISEntityManager,
	 &virt_DISEntityTypeMapping,
	 &virt_DirectionalLight,
	 &virt_Disk2D,
	 &virt_EaseInEaseOut,
	 &virt_ElevationGrid,
	 &virt_EspduTransform,
	 &virt_Extrusion,
	 &virt_FillProperties,
	 &virt_FloatVertexAttribute,
	 &virt_Fog,
	 &virt_FogCoordinate,
	 &virt_FontStyle,
	 &virt_GeneratedCubeMapTexture,
	 &virt_GeoCoordinate,
	 &virt_GeoElevationGrid,
	 &virt_GeoLOD,
	 &virt_GeoLocation,
	 &virt_GeoMetadata,
	 &virt_GeoOrigin,
	 &virt_GeoPositionInterpolator,
	 &virt_GeoProximitySensor,
	 &virt_GeoTouchSensor,
	 &virt_GeoTransform,
	 &virt_GeoViewpoint,
	 &virt_Group,
	 &virt_HAnimDisplacer,
	 &virt_HAnimHumanoid,
	 &virt_HAnimJoint,
	 &virt_HAnimSegment,
	 &virt_HAnimSite,
	 &virt_ImageCubeMapTexture,
	 &virt_ImageTexture,
	 &virt_IndexedFaceSet,
	 &virt_IndexedLineSet,
	 &virt_IndexedTriangleFanSet,
	 &virt_IndexedTriangleSet,
	 &virt_IndexedTriangleStripSet,
	 &virt_Inline,
	 &virt_IntegerSequencer,
	 &virt_IntegerTrigger,
	 &virt_KeySensor,
	 &virt_LOD,
	 &virt_LineProperties,
	 &virt_LineSet,
	 &virt_LoadSensor,
	 &virt_LocalFog,
	 &virt_Material,
	 &virt_Matrix3VertexAttribute,
	 &virt_Matrix4VertexAttribute,
	 &virt_MetadataDouble,
	 &virt_MetadataFloat,
	 &virt_MetadataInteger,
	 &virt_MetadataMFBool,
	 &virt_MetadataMFColor,
	 &virt_MetadataMFColorRGBA,
	 &virt_MetadataMFDouble,
	 &virt_MetadataMFFloat,
	 &virt_MetadataMFInt32,
	 &virt_MetadataMFMatrix3d,
	 &virt_MetadataMFMatrix3f,
	 &virt_MetadataMFMatrix4d,
	 &virt_MetadataMFMatrix4f,
	 &virt_MetadataMFNode,
	 &virt_MetadataMFRotation,
	 &virt_MetadataMFString,
	 &virt_MetadataMFTime,
	 &virt_MetadataMFVec2d,
	 &virt_MetadataMFVec2f,
	 &virt_MetadataMFVec3d,
	 &virt_MetadataMFVec3f,
	 &virt_MetadataMFVec4d,
	 &virt_MetadataMFVec4f,
	 &virt_MetadataSFBool,
	 &virt_MetadataSFColor,
	 &virt_MetadataSFColorRGBA,
	 &virt_MetadataSFDouble,
	 &virt_MetadataSFFloat,
	 &virt_MetadataSFImage,
	 &virt_MetadataSFInt32,
	 &virt_MetadataSFMatrix3d,
	 &virt_MetadataSFMatrix3f,
	 &virt_MetadataSFMatrix4d,
	 &virt_MetadataSFMatrix4f,
	 &virt_MetadataSFNode,
	 &virt_MetadataSFRotation,
	 &virt_MetadataSFString,
	 &virt_MetadataSFTime,
	 &virt_MetadataSFVec2d,
	 &virt_MetadataSFVec2f,
	 &virt_MetadataSFVec3d,
	 &virt_MetadataSFVec3f,
	 &virt_MetadataSFVec4d,
	 &virt_MetadataSFVec4f,
	 &virt_MetadataSet,
	 &virt_MetadataString,
	 &virt_MovieTexture,
	 &virt_MultiTexture,
	 &virt_MultiTextureCoordinate,
	 &virt_MultiTextureTransform,
	 &virt_NavigationInfo,
	 &virt_Normal,
	 &virt_NormalInterpolator,
	 &virt_NurbsCurve,
	 &virt_NurbsCurve2D,
	 &virt_NurbsGroup,
	 &virt_NurbsPositionInterpolator,
	 &virt_NurbsSurface,
	 &virt_NurbsTextureSurface,
	 &virt_NurbsTrimmedSurface,
	 &virt_OSC_Sensor,
	 &virt_OrientationInterpolator,
	 &virt_OrthoViewpoint,
	 &virt_PackagedShader,
	 &virt_PickableGroup,
	 &virt_PixelTexture,
	 &virt_PlaneSensor,
	 &virt_PointLight,
	 &virt_PointPickSensor,
	 &virt_PointSet,
	 &virt_Polyline2D,
	 &virt_Polypoint2D,
	 &virt_PositionInterpolator,
	 &virt_PositionInterpolator2D,
	 &virt_ProgramShader,
	 &virt_ProximitySensor,
	 &virt_ReceiverPdu,
	 &virt_Rectangle2D,
	 &virt_ScalarInterpolator,
	 &virt_Script,
	 &virt_ShaderPart,
	 &virt_ShaderProgram,
	 &virt_Shape,
	 &virt_SignalPdu,
	 &virt_Sound,
	 &virt_Sphere,
	 &virt_SphereSensor,
	 &virt_SplinePositionInterpolator,
	 &virt_SplinePositionInterpolator2D,
	 &virt_SplineScalarInterpolator,
	 &virt_SpotLight,
	 &virt_SquadOrientationInterpolator,
	 &virt_StaticGroup,
	 &virt_StringSensor,
	 &virt_Switch,
	 &virt_Text,
	 &virt_TextureBackground,
	 &virt_TextureCoordinate,
	 &virt_TextureCoordinateGenerator,
	 &virt_TextureProperties,
	 &virt_TextureTransform,
	 &virt_TimeSensor,
	 &virt_TimeTrigger,
	 &virt_TouchSensor,
	 &virt_Transform,
	 &virt_TransmitterPdu,
	 &virt_TriangleFanSet,
	 &virt_TriangleSet,
	 &virt_TriangleSet2D,
	 &virt_TriangleStripSet,
	 &virt_TwoSidedMaterial,
	 &virt_VRML1_AsciiText,
	 &virt_VRML1_Cone,
	 &virt_VRML1_Coordinate3,
	 &virt_VRML1_Cube,
	 &virt_VRML1_Cylinder,
	 &virt_VRML1_DirectionalLight,
	 &virt_VRML1_FontStyle,
	 &virt_VRML1_IndexedFaceSet,
	 &virt_VRML1_IndexedLineSet,
	 &virt_VRML1_Info,
	 &virt_VRML1_LOD,
	 &virt_VRML1_Material,
	 &virt_VRML1_MaterialBinding,
	 &virt_VRML1_MatrixTransform,
	 &virt_VRML1_Normal,
	 &virt_VRML1_NormalBinding,
	 &virt_VRML1_OrthographicCamera,
	 &virt_VRML1_PerspectiveCamera,
	 &virt_VRML1_PointLight,
	 &virt_VRML1_PointSet,
	 &virt_VRML1_Rotation,
	 &virt_VRML1_Scale,
	 &virt_VRML1_Separator,
	 &virt_VRML1_ShapeHints,
	 &virt_VRML1_Sphere,
	 &virt_VRML1_SpotLight,
	 &virt_VRML1_Switch,
	 &virt_VRML1_Texture2,
	 &virt_VRML1_Texture2Transform,
	 &virt_VRML1_TextureCoordinate2,
	 &virt_VRML1_Transform,
	 &virt_VRML1_Translation,
	 &virt_VRML1_WWWAnchor,
	 &virt_VRML1_WWWInline,
	 &virt_Viewpoint,
	 &virt_ViewpointGroup,
	 &virt_VisibilitySensor,
	 &virt_WorldInfo,
	NULL}; 


const int OFFSETS_Anchor[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Anchor, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_Anchor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Anchor, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Anchor, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_parameter, (int) offsetof (struct X3D_Anchor, parameter),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Anchor, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_Anchor, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_Anchor, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Anchor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Anchor, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Anchor, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Appearance[] = {
	(int) FIELDNAMES_lineProperties, (int) offsetof (struct X3D_Appearance, lineProperties),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_shaders, (int) offsetof (struct X3D_Appearance, shaders),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureTransform, (int) offsetof (struct X3D_Appearance, textureTransform),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fillProperties, (int) offsetof (struct X3D_Appearance, fillProperties),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Appearance, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_material, (int) offsetof (struct X3D_Appearance, material),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texture, (int) offsetof (struct X3D_Appearance, texture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Arc2D[] = {
	(int) FIELDNAMES_endAngle, (int) offsetof (struct X3D_Arc2D, endAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___numPoints, (int) offsetof (struct X3D_Arc2D, __numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_startAngle, (int) offsetof (struct X3D_Arc2D, startAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_Arc2D, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Arc2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Arc2D, __points),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_ArcClose2D[] = {
	(int) FIELDNAMES_endAngle, (int) offsetof (struct X3D_ArcClose2D, endAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_ArcClose2D, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___numPoints, (int) offsetof (struct X3D_ArcClose2D, __numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_ArcClose2D, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_ArcClose2D, __points),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_startAngle, (int) offsetof (struct X3D_ArcClose2D, startAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ArcClose2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_closureType, (int) offsetof (struct X3D_ArcClose2D, closureType),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_AudioClip[] = {
	(int) FIELDNAMES___localFileName, (int) offsetof (struct X3D_AudioClip, __localFileName),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___inittime, (int) offsetof (struct X3D_AudioClip, __inittime),  (int) FIELDTYPE_SFTime, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_loop, (int) offsetof (struct X3D_AudioClip, loop),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_resumeTime, (int) offsetof (struct X3D_AudioClip, resumeTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isPaused, (int) offsetof (struct X3D_AudioClip, isPaused),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_duration_changed, (int) offsetof (struct X3D_AudioClip, duration_changed),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pauseTime, (int) offsetof (struct X3D_AudioClip, pauseTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pitch, (int) offsetof (struct X3D_AudioClip, pitch),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_AudioClip, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_startTime, (int) offsetof (struct X3D_AudioClip, startTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_AudioClip, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_AudioClip, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___sourceNumber, (int) offsetof (struct X3D_AudioClip, __sourceNumber),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_AudioClip, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_elapsedTime, (int) offsetof (struct X3D_AudioClip, elapsedTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_stopTime, (int) offsetof (struct X3D_AudioClip, stopTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_AudioClip, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_Background[] = {
	(int) FIELDNAMES_rightUrl, (int) offsetof (struct X3D_Background, rightUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_topUrl, (int) offsetof (struct X3D_Background, topUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___colours, (int) offsetof (struct X3D_Background, __colours),  (int) FIELDTYPE_MFColor, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___leftTexture, (int) offsetof (struct X3D_Background, __leftTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_Background, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_backUrl, (int) offsetof (struct X3D_Background, backUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_groundColor, (int) offsetof (struct X3D_Background, groundColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_leftUrl, (int) offsetof (struct X3D_Background, leftUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___bottomTexture, (int) offsetof (struct X3D_Background, __bottomTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___quadcount, (int) offsetof (struct X3D_Background, __quadcount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___textureright, (int) offsetof (struct X3D_Background, __textureright),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Background, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___frontTexture, (int) offsetof (struct X3D_Background, __frontTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___topTexture, (int) offsetof (struct X3D_Background, __topTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___VBO, (int) offsetof (struct X3D_Background, __VBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_transparency, (int) offsetof (struct X3D_Background, transparency),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_Background, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bottomUrl, (int) offsetof (struct X3D_Background, bottomUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Background, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_Background, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___rightTexture, (int) offsetof (struct X3D_Background, __rightTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___backTexture, (int) offsetof (struct X3D_Background, __backTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_frontUrl, (int) offsetof (struct X3D_Background, frontUrl),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_Background, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_skyAngle, (int) offsetof (struct X3D_Background, skyAngle),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skyColor, (int) offsetof (struct X3D_Background, skyColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_groundAngle, (int) offsetof (struct X3D_Background, groundAngle),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Billboard[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Billboard, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__rotationAngle, (int) offsetof (struct X3D_Billboard, _rotationAngle),  (int) FIELDTYPE_SFDouble, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Billboard, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Billboard, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_axisOfRotation, (int) offsetof (struct X3D_Billboard, axisOfRotation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Billboard, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Billboard, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Billboard, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Billboard, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_BooleanFilter[] = {
	(int) FIELDNAMES_inputNegate, (int) offsetof (struct X3D_BooleanFilter, inputNegate),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_boolean, (int) offsetof (struct X3D_BooleanFilter, set_boolean),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_inputTrue, (int) offsetof (struct X3D_BooleanFilter, inputTrue),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_BooleanFilter, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_inputFalse, (int) offsetof (struct X3D_BooleanFilter, inputFalse),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_BooleanSequencer[] = {
	(int) FIELDNAMES_previous, (int) offsetof (struct X3D_BooleanSequencer, previous),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_BooleanSequencer, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_next, (int) offsetof (struct X3D_BooleanSequencer, next),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_BooleanSequencer, value_changed),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_BooleanSequencer, keyValue),  (int) FIELDTYPE_MFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_BooleanSequencer, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_BooleanSequencer, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_BooleanToggle[] = {
	(int) FIELDNAMES_set_boolean, (int) offsetof (struct X3D_BooleanToggle, set_boolean),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_toggle, (int) offsetof (struct X3D_BooleanToggle, toggle),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_BooleanToggle, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_BooleanTrigger[] = {
	(int) FIELDNAMES_triggerTrue, (int) offsetof (struct X3D_BooleanTrigger, triggerTrue),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_BooleanTrigger, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_triggerTime, (int) offsetof (struct X3D_BooleanTrigger, set_triggerTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Box[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Box, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Box, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Box, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_Box, size),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Circle2D[] = {
	(int) FIELDNAMES___numPoints, (int) offsetof (struct X3D_Circle2D, __numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_Circle2D, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Circle2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Circle2D, __points),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_ClipPlane[] = {
	(int) FIELDNAMES_plane, (int) offsetof (struct X3D_ClipPlane, plane),  (int) FIELDTYPE_SFVec4f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ClipPlane, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_ClipPlane, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Collision[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Collision, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Collision, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Collision, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___hit, (int) offsetof (struct X3D_Collision, __hit),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Collision, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Collision, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_proxy, (int) offsetof (struct X3D_Collision, proxy),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_collideTime, (int) offsetof (struct X3D_Collision, collideTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Collision, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_collide, (int) offsetof (struct X3D_Collision, collide),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_Collision, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Collision, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Color[] = {
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_Color, color),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Color, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ColorInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_ColorInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_ColorInterpolator, value_changed),  (int) FIELDTYPE_SFColor, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_ColorInterpolator, keyValue),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ColorInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_ColorInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ColorRGBA[] = {
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_ColorRGBA, color),  (int) FIELDTYPE_MFColorRGBA, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ColorRGBA, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ComposedCubeMapTexture[] = {
	(int) FIELDNAMES_left, (int) offsetof (struct X3D_ComposedCubeMapTexture, left),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_right, (int) offsetof (struct X3D_ComposedCubeMapTexture, right),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_top, (int) offsetof (struct X3D_ComposedCubeMapTexture, top),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_front, (int) offsetof (struct X3D_ComposedCubeMapTexture, front),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_ComposedCubeMapTexture, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_back, (int) offsetof (struct X3D_ComposedCubeMapTexture, back),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ComposedCubeMapTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bottom, (int) offsetof (struct X3D_ComposedCubeMapTexture, bottom),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ComposedShader[] = {
	(int) FIELDNAMES_language, (int) offsetof (struct X3D_ComposedShader, language),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isValid, (int) offsetof (struct X3D_ComposedShader, isValid),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___shaderObj, (int) offsetof (struct X3D_ComposedShader, __shaderObj),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_activate, (int) offsetof (struct X3D_ComposedShader, activate),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___shaderIDS, (int) offsetof (struct X3D_ComposedShader, __shaderIDS),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_isSelected, (int) offsetof (struct X3D_ComposedShader, isSelected),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_parts, (int) offsetof (struct X3D_ComposedShader, parts),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ComposedShader, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___initialized, (int) offsetof (struct X3D_ComposedShader, __initialized),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Cone[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Cone, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___sidepoints, (int) offsetof (struct X3D_Cone, __sidepoints),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___coneTriangles, (int) offsetof (struct X3D_Cone, __coneTriangles),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bottomRadius, (int) offsetof (struct X3D_Cone, bottomRadius),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bottom, (int) offsetof (struct X3D_Cone, bottom),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_Cone, height),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___botpoints, (int) offsetof (struct X3D_Cone, __botpoints),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___coneVBO, (int) offsetof (struct X3D_Cone, __coneVBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_side, (int) offsetof (struct X3D_Cone, side),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___normals, (int) offsetof (struct X3D_Cone, __normals),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Cone, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Contour2D[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Contour2D, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Contour2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Contour2D, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Contour2D, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ContourPolyLine2D[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ContourPolyLine2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Coordinate[] = {
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_Coordinate, point),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Coordinate, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_CoordinateInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_CoordinateInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_CoordinateInterpolator, value_changed),  (int) FIELDTYPE_MFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_CoordinateInterpolator, keyValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_CoordinateInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_CoordinateInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_CoordinateInterpolator2D[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_CoordinateInterpolator2D, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_CoordinateInterpolator2D, value_changed),  (int) FIELDTYPE_MFVec2f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_CoordinateInterpolator2D, keyValue),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_CoordinateInterpolator2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_CoordinateInterpolator2D, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Cylinder[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Cylinder, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___cylinderTriangles, (int) offsetof (struct X3D_Cylinder, __cylinderTriangles),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_Cylinder, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bottom, (int) offsetof (struct X3D_Cylinder, bottom),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_Cylinder, height),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Cylinder, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_side, (int) offsetof (struct X3D_Cylinder, side),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_top, (int) offsetof (struct X3D_Cylinder, top),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___cylinderVBO, (int) offsetof (struct X3D_Cylinder, __cylinderVBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Cylinder, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___normals, (int) offsetof (struct X3D_Cylinder, __normals),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_CylinderSensor[] = {
	(int) FIELDNAMES__oldtrackPoint, (int) offsetof (struct X3D_CylinderSensor, _oldtrackPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES__oldrotation, (int) offsetof (struct X3D_CylinderSensor, _oldrotation),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_autoOffset, (int) offsetof (struct X3D_CylinderSensor, autoOffset),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation_changed, (int) offsetof (struct X3D_CylinderSensor, rotation_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_minAngle, (int) offsetof (struct X3D_CylinderSensor, minAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__origPoint, (int) offsetof (struct X3D_CylinderSensor, _origPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_CylinderSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_diskAngle, (int) offsetof (struct X3D_CylinderSensor, diskAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_offset, (int) offsetof (struct X3D_CylinderSensor, offset),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_CylinderSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_CylinderSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_maxAngle, (int) offsetof (struct X3D_CylinderSensor, maxAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isOver, (int) offsetof (struct X3D_CylinderSensor, isOver),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_trackPoint_changed, (int) offsetof (struct X3D_CylinderSensor, trackPoint_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_CylinderSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__dlchange, (int) offsetof (struct X3D_CylinderSensor, _dlchange),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_CylinderSensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__radius, (int) offsetof (struct X3D_CylinderSensor, _radius),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_DISEntityManager[] = {
	(int) FIELDNAMES_applicationID, (int) offsetof (struct X3D_DISEntityManager, applicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_mapping, (int) offsetof (struct X3D_DISEntityManager, mapping),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_DISEntityManager, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_siteID, (int) offsetof (struct X3D_DISEntityManager, siteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addedEntities, (int) offsetof (struct X3D_DISEntityManager, addedEntities),  (int) FIELDTYPE_MFNode, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removedEntities, (int) offsetof (struct X3D_DISEntityManager, removedEntities),  (int) FIELDTYPE_MFNode, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_address, (int) offsetof (struct X3D_DISEntityManager, address),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_DISEntityManager, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_DISEntityTypeMapping[] = {
	(int) FIELDNAMES_country, (int) offsetof (struct X3D_DISEntityTypeMapping, country),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_specific, (int) offsetof (struct X3D_DISEntityTypeMapping, specific),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_subcategory, (int) offsetof (struct X3D_DISEntityTypeMapping, subcategory),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_domain, (int) offsetof (struct X3D_DISEntityTypeMapping, domain),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_kind, (int) offsetof (struct X3D_DISEntityTypeMapping, kind),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_DISEntityTypeMapping, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_extra, (int) offsetof (struct X3D_DISEntityTypeMapping, extra),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_DISEntityTypeMapping, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_category, (int) offsetof (struct X3D_DISEntityTypeMapping, category),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_DirectionalLight[] = {
	(int) FIELDNAMES_direction, (int) offsetof (struct X3D_DirectionalLight, direction),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_DirectionalLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_DirectionalLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_global, (int) offsetof (struct X3D_DirectionalLight, global),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_DirectionalLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_DirectionalLight, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ambientIntensity, (int) offsetof (struct X3D_DirectionalLight, ambientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Disk2D[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Disk2D, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___numPoints, (int) offsetof (struct X3D_Disk2D, __numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Disk2D, __points),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_outerRadius, (int) offsetof (struct X3D_Disk2D, outerRadius),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___texCoords, (int) offsetof (struct X3D_Disk2D, __texCoords),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Disk2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_innerRadius, (int) offsetof (struct X3D_Disk2D, innerRadius),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___simpleDisk, (int) offsetof (struct X3D_Disk2D, __simpleDisk),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_EaseInEaseOut[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_EaseInEaseOut, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_modifiedFraction_changed, (int) offsetof (struct X3D_EaseInEaseOut, modifiedFraction_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_easeInEaseOut, (int) offsetof (struct X3D_EaseInEaseOut, easeInEaseOut),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_EaseInEaseOut, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_EaseInEaseOut, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ElevationGrid[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_ElevationGrid, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_ElevationGrid, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_height, (int) offsetof (struct X3D_ElevationGrid, set_height),  (int) FIELDTYPE_MFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_xSpacing, (int) offsetof (struct X3D_ElevationGrid, xSpacing),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_zDimension, (int) offsetof (struct X3D_ElevationGrid, zDimension),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_ElevationGrid, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_ElevationGrid, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_creaseAngle, (int) offsetof (struct X3D_ElevationGrid, creaseAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ElevationGrid, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_ElevationGrid, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_zSpacing, (int) offsetof (struct X3D_ElevationGrid, zSpacing),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_ElevationGrid, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_ElevationGrid, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_ElevationGrid, height),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_ElevationGrid, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_xDimension, (int) offsetof (struct X3D_ElevationGrid, xDimension),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_ElevationGrid, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_ElevationGrid, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_EspduTransform[] = {
	(int) FIELDNAMES_isStandAlone, (int) offsetof (struct X3D_EspduTransform, isStandAlone),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterChangeIndicatorArr, (int) offsetof (struct X3D_EspduTransform, articulationParameterChangeIndicatorArr),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_firingRate, (int) offsetof (struct X3D_EspduTransform, firingRate),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue2, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue2),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_EspduTransform, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entitySpecific, (int) offsetof (struct X3D_EspduTransform, entitySpecific),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_eventNumber, (int) offsetof (struct X3D_EspduTransform, eventNumber),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_EspduTransform, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_detonationLocation, (int) offsetof (struct X3D_EspduTransform, detonationLocation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isRtpHeaderHeard, (int) offsetof (struct X3D_EspduTransform, isRtpHeaderHeard),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue0, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue0),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fireMissionIndex, (int) offsetof (struct X3D_EspduTransform, fireMissionIndex),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_warhead, (int) offsetof (struct X3D_EspduTransform, warhead),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityCategory, (int) offsetof (struct X3D_EspduTransform, entityCategory),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityExtra, (int) offsetof (struct X3D_EspduTransform, entityExtra),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionSiteID, (int) offsetof (struct X3D_EspduTransform, munitionSiteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_EspduTransform, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_EspduTransform, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue3_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue3_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_firingRange, (int) offsetof (struct X3D_EspduTransform, firingRange),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_detonationRelativeLocation, (int) offsetof (struct X3D_EspduTransform, detonationRelativeLocation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue7, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue7),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue3, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue3),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterCount, (int) offsetof (struct X3D_EspduTransform, articulationParameterCount),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue4, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue4),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fuse, (int) offsetof (struct X3D_EspduTransform, fuse),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_linearVelocity, (int) offsetof (struct X3D_EspduTransform, linearVelocity),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_deadReckoning, (int) offsetof (struct X3D_EspduTransform, deadReckoning),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityDomain, (int) offsetof (struct X3D_EspduTransform, entityDomain),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkWriter, (int) offsetof (struct X3D_EspduTransform, isNetworkWriter),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_siteID, (int) offsetof (struct X3D_EspduTransform, siteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_detonationResult, (int) offsetof (struct X3D_EspduTransform, detonationResult),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_timestamp, (int) offsetof (struct X3D_EspduTransform, timestamp),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_networkMode, (int) offsetof (struct X3D_EspduTransform, networkMode),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_EspduTransform, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_readInterval, (int) offsetof (struct X3D_EspduTransform, readInterval),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_EspduTransform, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_linearAcceleration, (int) offsetof (struct X3D_EspduTransform, linearAcceleration),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_detonateTime, (int) offsetof (struct X3D_EspduTransform, detonateTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityKind, (int) offsetof (struct X3D_EspduTransform, entityKind),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_marking, (int) offsetof (struct X3D_EspduTransform, marking),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionStartPoint, (int) offsetof (struct X3D_EspduTransform, munitionStartPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityCountry, (int) offsetof (struct X3D_EspduTransform, entityCountry),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue5, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue5),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkReader, (int) offsetof (struct X3D_EspduTransform, isNetworkReader),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_eventEntityID, (int) offsetof (struct X3D_EspduTransform, eventEntityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue1_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue1_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rtpHeaderExpected, (int) offsetof (struct X3D_EspduTransform, rtpHeaderExpected),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterArray, (int) offsetof (struct X3D_EspduTransform, articulationParameterArray),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isCollided, (int) offsetof (struct X3D_EspduTransform, isCollided),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue5_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue5_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_EspduTransform, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_address, (int) offsetof (struct X3D_EspduTransform, address),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterTypeArray, (int) offsetof (struct X3D_EspduTransform, articulationParameterTypeArray),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_EspduTransform, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_firedTime, (int) offsetof (struct X3D_EspduTransform, firedTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayPort, (int) offsetof (struct X3D_EspduTransform, multicastRelayPort),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionApplicationID, (int) offsetof (struct X3D_EspduTransform, munitionApplicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue6_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue6_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterIdPartAttachedToAr, (int) offsetof (struct X3D_EspduTransform, articulationParameterIdPartAttachedToAr),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fired1, (int) offsetof (struct X3D_EspduTransform, fired1),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayHost, (int) offsetof (struct X3D_EspduTransform, multicastRelayHost),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_EspduTransform, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue1, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue1),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_forceID, (int) offsetof (struct X3D_EspduTransform, forceID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterDesignatorArray, (int) offsetof (struct X3D_EspduTransform, articulationParameterDesignatorArray),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_EspduTransform, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_writeInterval, (int) offsetof (struct X3D_EspduTransform, writeInterval),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_eventSiteID, (int) offsetof (struct X3D_EspduTransform, eventSiteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityID, (int) offsetof (struct X3D_EspduTransform, entityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_collideTime, (int) offsetof (struct X3D_EspduTransform, collideTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fired2, (int) offsetof (struct X3D_EspduTransform, fired2),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_EspduTransform, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isDetonated, (int) offsetof (struct X3D_EspduTransform, isDetonated),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionEntityID, (int) offsetof (struct X3D_EspduTransform, munitionEntityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_EspduTransform, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionEndPoint, (int) offsetof (struct X3D_EspduTransform, munitionEndPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_eventApplicationID, (int) offsetof (struct X3D_EspduTransform, eventApplicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_applicationID, (int) offsetof (struct X3D_EspduTransform, applicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entitySubCategory, (int) offsetof (struct X3D_EspduTransform, entitySubCategory),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_EspduTransform, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_munitionQuantity, (int) offsetof (struct X3D_EspduTransform, munitionQuantity),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue7_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue7_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue0_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue0_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue2_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue2_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_articulationParameterValue4_changed, (int) offsetof (struct X3D_EspduTransform, articulationParameterValue4_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_articulationParameterValue6, (int) offsetof (struct X3D_EspduTransform, set_articulationParameterValue6),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_EspduTransform, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_collisionType, (int) offsetof (struct X3D_EspduTransform, collisionType),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Extrusion[] = {
	(int) FIELDNAMES_beginCap, (int) offsetof (struct X3D_Extrusion, beginCap),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_convex, (int) offsetof (struct X3D_Extrusion, convex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Extrusion, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_scale, (int) offsetof (struct X3D_Extrusion, set_scale),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_crossSection, (int) offsetof (struct X3D_Extrusion, crossSection),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_Extrusion, orientation),  (int) FIELDTYPE_MFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_Extrusion, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_crossSection, (int) offsetof (struct X3D_Extrusion, set_crossSection),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_endCap, (int) offsetof (struct X3D_Extrusion, endCap),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_creaseAngle, (int) offsetof (struct X3D_Extrusion, creaseAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_spine, (int) offsetof (struct X3D_Extrusion, set_spine),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_spine, (int) offsetof (struct X3D_Extrusion, spine),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_Extrusion, scale),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Extrusion, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_orientation, (int) offsetof (struct X3D_Extrusion, set_orientation),  (int) FIELDTYPE_MFRotation, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_FillProperties[] = {
	(int) FIELDNAMES_hatched, (int) offsetof (struct X3D_FillProperties, hatched),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hatchStyle, (int) offsetof (struct X3D_FillProperties, hatchStyle),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_FillProperties, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_filled, (int) offsetof (struct X3D_FillProperties, filled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hatchColor, (int) offsetof (struct X3D_FillProperties, hatchColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_FloatVertexAttribute[] = {
	(int) FIELDNAMES_numComponents, (int) offsetof (struct X3D_FloatVertexAttribute, numComponents),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_FloatVertexAttribute, value),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_FloatVertexAttribute, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_FloatVertexAttribute, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Fog[] = {
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_Fog, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_Fog, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_visibilityRange, (int) offsetof (struct X3D_Fog, visibilityRange),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogType, (int) offsetof (struct X3D_Fog, fogType),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Fog, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_Fog, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_Fog, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_FogCoordinate[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_FogCoordinate, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_depth, (int) offsetof (struct X3D_FogCoordinate, depth),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_FontStyle[] = {
	(int) FIELDNAMES_language, (int) offsetof (struct X3D_FontStyle, language),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_leftToRight, (int) offsetof (struct X3D_FontStyle, leftToRight),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_topToBottom, (int) offsetof (struct X3D_FontStyle, topToBottom),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_style, (int) offsetof (struct X3D_FontStyle, style),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_FontStyle, size),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_justify, (int) offsetof (struct X3D_FontStyle, justify),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_FontStyle, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_horizontal, (int) offsetof (struct X3D_FontStyle, horizontal),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_spacing, (int) offsetof (struct X3D_FontStyle, spacing),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_family, (int) offsetof (struct X3D_FontStyle, family),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeneratedCubeMapTexture[] = {
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_GeneratedCubeMapTexture, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeneratedCubeMapTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_update, (int) offsetof (struct X3D_GeneratedCubeMapTexture, update),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_GeneratedCubeMapTexture, size),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureProperties, (int) offsetof (struct X3D_GeneratedCubeMapTexture, textureProperties),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoCoordinate[] = {
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_GeoCoordinate, point),  (int) FIELDTYPE_MFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoCoordinate, __movedCoords),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoCoordinate, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoCoordinate, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoCoordinate, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoCoordinate, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoElevationGrid[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_GeoElevationGrid, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_GeoElevationGrid, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoElevationGrid, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_height, (int) offsetof (struct X3D_GeoElevationGrid, set_height),  (int) FIELDTYPE_MFDouble, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_xSpacing, (int) offsetof (struct X3D_GeoElevationGrid, xSpacing),  (int) FIELDTYPE_SFDouble, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoElevationGrid, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_zDimension, (int) offsetof (struct X3D_GeoElevationGrid, zDimension),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_GeoElevationGrid, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_creaseAngle, (int) offsetof (struct X3D_GeoElevationGrid, creaseAngle),  (int) FIELDTYPE_SFDouble, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoElevationGrid, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoElevationGrid, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_yScale, (int) offsetof (struct X3D_GeoElevationGrid, yScale),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_GeoElevationGrid, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_zSpacing, (int) offsetof (struct X3D_GeoElevationGrid, zSpacing),  (int) FIELDTYPE_SFDouble, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_GeoElevationGrid, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_GeoElevationGrid, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_GeoElevationGrid, height),  (int) FIELDTYPE_MFDouble, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_xDimension, (int) offsetof (struct X3D_GeoElevationGrid, xDimension),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_GeoElevationGrid, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoGridOrigin, (int) offsetof (struct X3D_GeoElevationGrid, geoGridOrigin),  (int) FIELDTYPE_SFVec3d, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_GeoElevationGrid, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoLOD[] = {
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoLOD, __movedCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoLOD, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_range, (int) offsetof (struct X3D_GeoLOD, range),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_GeoLOD, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoLOD, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_rootUrl, (int) offsetof (struct X3D_GeoLOD, rootUrl),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_level_changed, (int) offsetof (struct X3D_GeoLOD, level_changed),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_GeoLOD, center),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_child1Url, (int) offsetof (struct X3D_GeoLOD, child1Url),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___rooturlloadstatus, (int) offsetof (struct X3D_GeoLOD, __rooturlloadstatus),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_child3Url, (int) offsetof (struct X3D_GeoLOD, child3Url),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___level, (int) offsetof (struct X3D_GeoLOD, __level),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_rootNode, (int) offsetof (struct X3D_GeoLOD, rootNode),  (int) FIELDTYPE_MFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoLOD, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoLOD, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_GeoLOD, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___child3Node, (int) offsetof (struct X3D_GeoLOD, __child3Node),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___inRange, (int) offsetof (struct X3D_GeoLOD, __inRange),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_child2Url, (int) offsetof (struct X3D_GeoLOD, child2Url),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___rootUrl, (int) offsetof (struct X3D_GeoLOD, __rootUrl),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___child1Node, (int) offsetof (struct X3D_GeoLOD, __child1Node),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___childloadstatus, (int) offsetof (struct X3D_GeoLOD, __childloadstatus),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_GeoLOD, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___child2Node, (int) offsetof (struct X3D_GeoLOD, __child2Node),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_child4Url, (int) offsetof (struct X3D_GeoLOD, child4Url),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___child4Node, (int) offsetof (struct X3D_GeoLOD, __child4Node),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoLocation[] = {
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoLocation, __movedCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoLocation, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_GeoLocation, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoLocation, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_GeoLocation, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_GeoLocation, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldChildren, (int) offsetof (struct X3D_GeoLocation, __oldChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldgeoCoords, (int) offsetof (struct X3D_GeoLocation, __oldgeoCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_GeoLocation, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoLocation, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoLocation, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoCoords, (int) offsetof (struct X3D_GeoLocation, geoCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_GeoLocation, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_GeoLocation, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___localOrient, (int) offsetof (struct X3D_GeoLocation, __localOrient),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoMetadata[] = {
	(int) FIELDNAMES_summary, (int) offsetof (struct X3D_GeoMetadata, summary),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_GeoMetadata, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_data, (int) offsetof (struct X3D_GeoMetadata, data),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoMetadata, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoOrigin[] = {
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoOrigin, __movedCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___rotyup, (int) offsetof (struct X3D_GeoOrigin, __rotyup),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoOrigin, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoOrigin, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___oldgeoCoords, (int) offsetof (struct X3D_GeoOrigin, __oldgeoCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldMFString, (int) offsetof (struct X3D_GeoOrigin, __oldMFString),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_rotateYUp, (int) offsetof (struct X3D_GeoOrigin, rotateYUp),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoOrigin, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoCoords, (int) offsetof (struct X3D_GeoOrigin, geoCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoPositionInterpolator[] = {
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_GeoPositionInterpolator, value_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___movedValue, (int) offsetof (struct X3D_GeoPositionInterpolator, __movedValue),  (int) FIELDTYPE_MFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldKeyValuePtr, (int) offsetof (struct X3D_GeoPositionInterpolator, __oldKeyValuePtr),  (int) FIELDTYPE_MFVec3d, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_GeoPositionInterpolator, keyValue),  (int) FIELDTYPE_MFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldKeyPtr, (int) offsetof (struct X3D_GeoPositionInterpolator, __oldKeyPtr),  (int) FIELDTYPE_MFFloat, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoPositionInterpolator, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoPositionInterpolator, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_GeoPositionInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_GeoPositionInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geovalue_changed, (int) offsetof (struct X3D_GeoPositionInterpolator, geovalue_changed),  (int) FIELDTYPE_SFVec3d, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoPositionInterpolator, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoPositionInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoProximitySensor[] = {
	(int) FIELDNAMES_enterTime, (int) offsetof (struct X3D_GeoProximitySensor, enterTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoProximitySensor, __movedCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoProximitySensor, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_position_changed, (int) offsetof (struct X3D_GeoProximitySensor, position_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoProximitySensor, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_GeoProximitySensor, size),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___hit, (int) offsetof (struct X3D_GeoProximitySensor, __hit),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_exitTime, (int) offsetof (struct X3D_GeoProximitySensor, exitTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_orientation_changed, (int) offsetof (struct X3D_GeoProximitySensor, orientation_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES___t1, (int) offsetof (struct X3D_GeoProximitySensor, __t1),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldGeoCenter, (int) offsetof (struct X3D_GeoProximitySensor, __oldGeoCenter),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_centerOfRotation_changed, (int) offsetof (struct X3D_GeoProximitySensor, centerOfRotation_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoProximitySensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoProximitySensor, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_GeoProximitySensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_GeoProximitySensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_GeoProximitySensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_geoCoord_changed, (int) offsetof (struct X3D_GeoProximitySensor, geoCoord_changed),  (int) FIELDTYPE_SFVec3d, (int) KW_outputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES___t2, (int) offsetof (struct X3D_GeoProximitySensor, __t2),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoCenter, (int) offsetof (struct X3D_GeoProximitySensor, geoCenter),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___oldSize, (int) offsetof (struct X3D_GeoProximitySensor, __oldSize),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___localOrient, (int) offsetof (struct X3D_GeoProximitySensor, __localOrient),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoTouchSensor[] = {
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoTouchSensor, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoTouchSensor, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_hitTexCoord_changed, (int) offsetof (struct X3D_GeoTouchSensor, hitTexCoord_changed),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitNormal, (int) offsetof (struct X3D_GeoTouchSensor, _oldhitNormal),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoTouchSensor, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoTouchSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitTexCoord, (int) offsetof (struct X3D_GeoTouchSensor, _oldhitTexCoord),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_GeoTouchSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_GeoTouchSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isOver, (int) offsetof (struct X3D_GeoTouchSensor, isOver),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hitPoint_changed, (int) offsetof (struct X3D_GeoTouchSensor, hitPoint_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hitGeoCoord_changed, (int) offsetof (struct X3D_GeoTouchSensor, hitGeoCoord_changed),  (int) FIELDTYPE_SFVec3d, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_GeoTouchSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitPoint, (int) offsetof (struct X3D_GeoTouchSensor, _oldhitPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_GeoTouchSensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hitNormal_changed, (int) offsetof (struct X3D_GeoTouchSensor, hitNormal_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_touchTime, (int) offsetof (struct X3D_GeoTouchSensor, touchTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoTransform[] = {
	(int) FIELDNAMES___movedCoords, (int) offsetof (struct X3D_GeoTransform, __movedCoords),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoTransform, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_GeoTransform, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___do_scaleO, (int) offsetof (struct X3D_GeoTransform, __do_scaleO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoTransform, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_GeoTransform, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_GeoTransform, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___oldGeoCenter, (int) offsetof (struct X3D_GeoTransform, __oldGeoCenter),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_GeoTransform, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoTransform, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoTransform, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES___do_center, (int) offsetof (struct X3D_GeoTransform, __do_center),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___do_trans, (int) offsetof (struct X3D_GeoTransform, __do_trans),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_GeoTransform, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_GeoTransform, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_GeoTransform, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___do_rotation, (int) offsetof (struct X3D_GeoTransform, __do_rotation),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_GeoTransform, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldChildren, (int) offsetof (struct X3D_GeoTransform, __oldChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_GeoTransform, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D33),
	(int) FIELDNAMES_geoCenter, (int) offsetof (struct X3D_GeoTransform, geoCenter),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_GeoTransform, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES___do_scale, (int) offsetof (struct X3D_GeoTransform, __do_scale),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___localOrient, (int) offsetof (struct X3D_GeoTransform, __localOrient),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_GeoViewpoint[] = {
	(int) FIELDNAMES_set_position, (int) offsetof (struct X3D_GeoViewpoint, set_position),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_headlight, (int) offsetof (struct X3D_GeoViewpoint, headlight),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoSystem, (int) offsetof (struct X3D_GeoViewpoint, geoSystem),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_GeoViewpoint, orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_position, (int) offsetof (struct X3D_GeoViewpoint, position),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___geoSystem, (int) offsetof (struct X3D_GeoViewpoint, __geoSystem),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_GeoViewpoint, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldMFString, (int) offsetof (struct X3D_GeoViewpoint, __oldMFString),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_GeoViewpoint, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geoOrigin, (int) offsetof (struct X3D_GeoViewpoint, geoOrigin),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldJump, (int) offsetof (struct X3D_GeoViewpoint, __oldJump),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___movedOrientation, (int) offsetof (struct X3D_GeoViewpoint, __movedOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_GeoViewpoint, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_speedFactor, (int) offsetof (struct X3D_GeoViewpoint, speedFactor),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___movedPosition, (int) offsetof (struct X3D_GeoViewpoint, __movedPosition),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_jump, (int) offsetof (struct X3D_GeoViewpoint, jump),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_GeoViewpoint, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_GeoViewpoint, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldSFString, (int) offsetof (struct X3D_GeoViewpoint, __oldSFString),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldFieldOfView, (int) offsetof (struct X3D_GeoViewpoint, __oldFieldOfView),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_fieldOfView, (int) offsetof (struct X3D_GeoViewpoint, fieldOfView),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_navType, (int) offsetof (struct X3D_GeoViewpoint, navType),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_orientation, (int) offsetof (struct X3D_GeoViewpoint, set_orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldHeadlight, (int) offsetof (struct X3D_GeoViewpoint, __oldHeadlight),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_Group[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Group, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_FreeWRL__protoDef, (int) offsetof (struct X3D_Group, FreeWRL__protoDef),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Group, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Group, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_FreeWRL_PROTOInterfaceNodes, (int) offsetof (struct X3D_Group, FreeWRL_PROTOInterfaceNodes),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Group, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Group, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Group, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Group, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_HAnimDisplacer[] = {
	(int) FIELDNAMES_displacements, (int) offsetof (struct X3D_HAnimDisplacer, displacements),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coordIndex, (int) offsetof (struct X3D_HAnimDisplacer, coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_HAnimDisplacer, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_weight, (int) offsetof (struct X3D_HAnimDisplacer, weight),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_HAnimDisplacer, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_HAnimHumanoid[] = {
	(int) FIELDNAMES_skinNormal, (int) offsetof (struct X3D_HAnimHumanoid, skinNormal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_segments, (int) offsetof (struct X3D_HAnimHumanoid, segments),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_HAnimHumanoid, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_joints, (int) offsetof (struct X3D_HAnimHumanoid, joints),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_HAnimHumanoid, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_HAnimHumanoid, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_HAnimHumanoid, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skinCoord, (int) offsetof (struct X3D_HAnimHumanoid, skinCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_HAnimHumanoid, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_info, (int) offsetof (struct X3D_HAnimHumanoid, info),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_HAnimHumanoid, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skin, (int) offsetof (struct X3D_HAnimHumanoid, skin),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_sites, (int) offsetof (struct X3D_HAnimHumanoid, sites),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skeleton, (int) offsetof (struct X3D_HAnimHumanoid, skeleton),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_version, (int) offsetof (struct X3D_HAnimHumanoid, version),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_HAnimHumanoid, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_viewpoints, (int) offsetof (struct X3D_HAnimHumanoid, viewpoints),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_HAnimHumanoid, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_HAnimHumanoid, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_HAnimJoint[] = {
	(int) FIELDNAMES_llimit, (int) offsetof (struct X3D_HAnimJoint, llimit),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_HAnimJoint, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scaleO, (int) offsetof (struct X3D_HAnimJoint, __do_scaleO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_HAnimJoint, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_HAnimJoint, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ulimit, (int) offsetof (struct X3D_HAnimJoint, ulimit),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_HAnimJoint, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_HAnimJoint, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_HAnimJoint, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_center, (int) offsetof (struct X3D_HAnimJoint, __do_center),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___do_trans, (int) offsetof (struct X3D_HAnimJoint, __do_trans),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_HAnimJoint, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skinCoordWeight, (int) offsetof (struct X3D_HAnimJoint, skinCoordWeight),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_HAnimJoint, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_HAnimJoint, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_limitOrientation, (int) offsetof (struct X3D_HAnimJoint, limitOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_displacers, (int) offsetof (struct X3D_HAnimJoint, displacers),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_HAnimJoint, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_rotation, (int) offsetof (struct X3D_HAnimJoint, __do_rotation),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_stiffness, (int) offsetof (struct X3D_HAnimJoint, stiffness),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_HAnimJoint, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_HAnimJoint, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scale, (int) offsetof (struct X3D_HAnimJoint, __do_scale),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_skinCoordIndex, (int) offsetof (struct X3D_HAnimJoint, skinCoordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_HAnimSegment[] = {
	(int) FIELDNAMES_displacers, (int) offsetof (struct X3D_HAnimSegment, displacers),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_HAnimSegment, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_HAnimSegment, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_HAnimSegment, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_momentsOfInertia, (int) offsetof (struct X3D_HAnimSegment, momentsOfInertia),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_mass, (int) offsetof (struct X3D_HAnimSegment, mass),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_HAnimSegment, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_HAnimSegment, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_HAnimSegment, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_centerOfMass, (int) offsetof (struct X3D_HAnimSegment, centerOfMass),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_HAnimSegment, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_HAnimSegment, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_HAnimSite[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_HAnimSite, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scaleO, (int) offsetof (struct X3D_HAnimSite, __do_scaleO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_HAnimSite, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_HAnimSite, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_HAnimSite, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_HAnimSite, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_trans, (int) offsetof (struct X3D_HAnimSite, __do_trans),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___do_center, (int) offsetof (struct X3D_HAnimSite, __do_center),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_HAnimSite, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_HAnimSite, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_HAnimSite, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_HAnimSite, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_HAnimSite, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_rotation, (int) offsetof (struct X3D_HAnimSite, __do_rotation),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_HAnimSite, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scale, (int) offsetof (struct X3D_HAnimSite, __do_scale),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_HAnimSite, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ImageCubeMapTexture[] = {
	(int) FIELDNAMES___subTextures, (int) offsetof (struct X3D_ImageCubeMapTexture, __subTextures),  (int) FIELDTYPE_MFNode, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___regenSubTextures, (int) offsetof (struct X3D_ImageCubeMapTexture, __regenSubTextures),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_ImageCubeMapTexture, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_ImageCubeMapTexture, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_ImageCubeMapTexture, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ImageCubeMapTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureProperties, (int) offsetof (struct X3D_ImageCubeMapTexture, textureProperties),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ImageTexture[] = {
	(int) FIELDNAMES_repeatS, (int) offsetof (struct X3D_ImageTexture, repeatS),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_ImageTexture, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_ImageTexture, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_ImageTexture, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ImageTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_repeatT, (int) offsetof (struct X3D_ImageTexture, repeatT),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureProperties, (int) offsetof (struct X3D_ImageTexture, textureProperties),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IndexedFaceSet[] = {
	(int) FIELDNAMES_convex, (int) offsetof (struct X3D_IndexedFaceSet, convex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_IndexedFaceSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_IndexedFaceSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_texCoordIndex, (int) offsetof (struct X3D_IndexedFaceSet, set_texCoordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_colorIndex, (int) offsetof (struct X3D_IndexedFaceSet, set_colorIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_IndexedFaceSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_IndexedFaceSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorIndex, (int) offsetof (struct X3D_IndexedFaceSet, colorIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_creaseAngle, (int) offsetof (struct X3D_IndexedFaceSet, creaseAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_IndexedFaceSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IndexedFaceSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoordIndex, (int) offsetof (struct X3D_IndexedFaceSet, texCoordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalIndex, (int) offsetof (struct X3D_IndexedFaceSet, normalIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_coordIndex, (int) offsetof (struct X3D_IndexedFaceSet, set_coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_IndexedFaceSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_IndexedFaceSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_IndexedFaceSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_normalIndex, (int) offsetof (struct X3D_IndexedFaceSet, set_normalIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coordIndex, (int) offsetof (struct X3D_IndexedFaceSet, coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_IndexedFaceSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_IndexedFaceSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IndexedLineSet[] = {
	(int) FIELDNAMES___colours, (int) offsetof (struct X3D_IndexedLineSet, __colours),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_set_colorIndex, (int) offsetof (struct X3D_IndexedLineSet, set_colorIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_IndexedLineSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_IndexedLineSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorIndex, (int) offsetof (struct X3D_IndexedLineSet, colorIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_IndexedLineSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IndexedLineSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___vertexCount, (int) offsetof (struct X3D_IndexedLineSet, __vertexCount),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___vertArr, (int) offsetof (struct X3D_IndexedLineSet, __vertArr),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_IndexedLineSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_coordIndex, (int) offsetof (struct X3D_IndexedLineSet, set_coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___segCount, (int) offsetof (struct X3D_IndexedLineSet, __segCount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___vertices, (int) offsetof (struct X3D_IndexedLineSet, __vertices),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_coordIndex, (int) offsetof (struct X3D_IndexedLineSet, coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_IndexedLineSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___vertIndx, (int) offsetof (struct X3D_IndexedLineSet, __vertIndx),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_IndexedTriangleFanSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_IndexedTriangleFanSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_IndexedTriangleFanSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_IndexedTriangleFanSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_IndexedTriangleFanSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_IndexedTriangleFanSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_index, (int) offsetof (struct X3D_IndexedTriangleFanSet, set_index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_IndexedTriangleFanSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_index, (int) offsetof (struct X3D_IndexedTriangleFanSet, index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_IndexedTriangleFanSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_IndexedTriangleFanSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_IndexedTriangleFanSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IndexedTriangleFanSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_IndexedTriangleFanSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_IndexedTriangleFanSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IndexedTriangleSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_IndexedTriangleSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_IndexedTriangleSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_IndexedTriangleSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_IndexedTriangleSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_IndexedTriangleSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_index, (int) offsetof (struct X3D_IndexedTriangleSet, set_index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_IndexedTriangleSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_index, (int) offsetof (struct X3D_IndexedTriangleSet, index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_IndexedTriangleSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_IndexedTriangleSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_IndexedTriangleSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IndexedTriangleSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_IndexedTriangleSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_IndexedTriangleSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IndexedTriangleStripSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_IndexedTriangleStripSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_IndexedTriangleStripSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_IndexedTriangleStripSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_IndexedTriangleStripSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_IndexedTriangleStripSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_index, (int) offsetof (struct X3D_IndexedTriangleStripSet, set_index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_IndexedTriangleStripSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_index, (int) offsetof (struct X3D_IndexedTriangleStripSet, index),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_IndexedTriangleStripSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_IndexedTriangleStripSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_IndexedTriangleStripSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IndexedTriangleStripSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_IndexedTriangleStripSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_IndexedTriangleStripSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Inline[] = {
	(int) FIELDNAMES___loadResource, (int) offsetof (struct X3D_Inline, __loadResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Inline, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Inline, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_Inline, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___children, (int) offsetof (struct X3D_Inline, __children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_Inline, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Inline, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_load, (int) offsetof (struct X3D_Inline, load),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___loadstatus, (int) offsetof (struct X3D_Inline, __loadstatus),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Inline, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IntegerSequencer[] = {
	(int) FIELDNAMES_previous, (int) offsetof (struct X3D_IntegerSequencer, previous),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_IntegerSequencer, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_next, (int) offsetof (struct X3D_IntegerSequencer, next),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_IntegerSequencer, value_changed),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_IntegerSequencer, keyValue),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IntegerSequencer, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_IntegerSequencer, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_IntegerTrigger[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_IntegerTrigger, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_triggerTime, (int) offsetof (struct X3D_IntegerTrigger, set_triggerTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_integerKey, (int) offsetof (struct X3D_IntegerTrigger, integerKey),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_triggerValue, (int) offsetof (struct X3D_IntegerTrigger, triggerValue),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_KeySensor[] = {
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_KeySensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_KeySensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_shiftKey, (int) offsetof (struct X3D_KeySensor, shiftKey),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyPress, (int) offsetof (struct X3D_KeySensor, keyPress),  (int) FIELDTYPE_SFString, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_actionKeyRelease, (int) offsetof (struct X3D_KeySensor, actionKeyRelease),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyRelease, (int) offsetof (struct X3D_KeySensor, keyRelease),  (int) FIELDTYPE_SFString, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_altKey, (int) offsetof (struct X3D_KeySensor, altKey),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_controlKey, (int) offsetof (struct X3D_KeySensor, controlKey),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_actionKeyPress, (int) offsetof (struct X3D_KeySensor, actionKeyPress),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_KeySensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_KeySensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_LOD[] = {
	(int) FIELDNAMES__selected, (int) offsetof (struct X3D_LOD, _selected),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_range, (int) offsetof (struct X3D_LOD, range),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_LOD, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_LOD, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_LOD, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_levelChanged, (int) offsetof (struct X3D_LOD, levelChanged),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_level, (int) offsetof (struct X3D_LOD, level),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML),
	(int) FIELDNAMES_forceTransitions, (int) offsetof (struct X3D_LOD, forceTransitions),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_LOD, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_LOD, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_LOD, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_LOD, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___isX3D, (int) offsetof (struct X3D_LOD, __isX3D),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_LineProperties[] = {
	(int) FIELDNAMES_linetype, (int) offsetof (struct X3D_LineProperties, linetype),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_linewidthScaleFactor, (int) offsetof (struct X3D_LineProperties, linewidthScaleFactor),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_applied, (int) offsetof (struct X3D_LineProperties, applied),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_LineProperties, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_LineSet[] = {
	(int) FIELDNAMES___vertArr, (int) offsetof (struct X3D_LineSet, __vertArr),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___segCount, (int) offsetof (struct X3D_LineSet, __segCount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_LineSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_LineSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_vertexCount, (int) offsetof (struct X3D_LineSet, vertexCount),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_LineSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_LineSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_LineSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___vertIndx, (int) offsetof (struct X3D_LineSet, __vertIndx),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_LoadSensor[] = {
	(int) FIELDNAMES_isLoaded, (int) offsetof (struct X3D_LoadSensor, isLoaded),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_LoadSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_watchList, (int) offsetof (struct X3D_LoadSensor, watchList),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___loading, (int) offsetof (struct X3D_LoadSensor, __loading),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___finishedloading, (int) offsetof (struct X3D_LoadSensor, __finishedloading),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___StartLoadTime, (int) offsetof (struct X3D_LoadSensor, __StartLoadTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_LoadSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_progress, (int) offsetof (struct X3D_LoadSensor, progress),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_loadTime, (int) offsetof (struct X3D_LoadSensor, loadTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_timeOut, (int) offsetof (struct X3D_LoadSensor, timeOut),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_LoadSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_LoadSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_LocalFog[] = {
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_LocalFog, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_visibilityRange, (int) offsetof (struct X3D_LocalFog, visibilityRange),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogType, (int) offsetof (struct X3D_LocalFog, fogType),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_LocalFog, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_LocalFog, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Material[] = {
	(int) FIELDNAMES_transparency, (int) offsetof (struct X3D_Material, transparency),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_specularColor, (int) offsetof (struct X3D_Material, specularColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__verifiedColor, (int) offsetof (struct X3D_Material, _verifiedColor),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_emissiveColor, (int) offsetof (struct X3D_Material, emissiveColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Material, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_shininess, (int) offsetof (struct X3D_Material, shininess),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_diffuseColor, (int) offsetof (struct X3D_Material, diffuseColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ambientIntensity, (int) offsetof (struct X3D_Material, ambientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Matrix3VertexAttribute[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_Matrix3VertexAttribute, value),  (int) FIELDTYPE_MFMatrix3f, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_Matrix3VertexAttribute, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Matrix3VertexAttribute, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Matrix4VertexAttribute[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_Matrix4VertexAttribute, value),  (int) FIELDTYPE_MFMatrix4f, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_Matrix4VertexAttribute, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Matrix4VertexAttribute, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataDouble[] = {
	(int) FIELDNAMES_reference, (int) offsetof (struct X3D_MetadataDouble, reference),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataDouble, value),  (int) FIELDTYPE_MFDouble, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_MetadataDouble, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MetadataDouble, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataFloat[] = {
	(int) FIELDNAMES_reference, (int) offsetof (struct X3D_MetadataFloat, reference),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataFloat, value),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_MetadataFloat, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MetadataFloat, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataInteger[] = {
	(int) FIELDNAMES_reference, (int) offsetof (struct X3D_MetadataInteger, reference),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataInteger, value),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_MetadataInteger, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MetadataInteger, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFBool[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFBool, value),  (int) FIELDTYPE_MFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFBool, setValue),  (int) FIELDTYPE_MFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFBool, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFBool, valueChanged),  (int) FIELDTYPE_MFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFColor[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFColor, value),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFColor, setValue),  (int) FIELDTYPE_MFColor, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFColor, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFColor, valueChanged),  (int) FIELDTYPE_MFColor, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFColorRGBA[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFColorRGBA, value),  (int) FIELDTYPE_MFColorRGBA, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFColorRGBA, setValue),  (int) FIELDTYPE_MFColorRGBA, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFColorRGBA, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFColorRGBA, valueChanged),  (int) FIELDTYPE_MFColorRGBA, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFDouble[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFDouble, value),  (int) FIELDTYPE_MFDouble, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFDouble, setValue),  (int) FIELDTYPE_MFDouble, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFDouble, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFDouble, valueChanged),  (int) FIELDTYPE_MFDouble, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFFloat[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFFloat, value),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFFloat, setValue),  (int) FIELDTYPE_MFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFFloat, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFFloat, valueChanged),  (int) FIELDTYPE_MFFloat, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFInt32[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFInt32, value),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFInt32, setValue),  (int) FIELDTYPE_MFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFInt32, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFInt32, valueChanged),  (int) FIELDTYPE_MFInt32, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFMatrix3d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFMatrix3d, value),  (int) FIELDTYPE_MFMatrix3d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFMatrix3d, setValue),  (int) FIELDTYPE_MFMatrix3d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFMatrix3d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFMatrix3d, valueChanged),  (int) FIELDTYPE_MFMatrix3d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFMatrix3f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFMatrix3f, value),  (int) FIELDTYPE_MFMatrix3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFMatrix3f, setValue),  (int) FIELDTYPE_MFMatrix3f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFMatrix3f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFMatrix3f, valueChanged),  (int) FIELDTYPE_MFMatrix3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFMatrix4d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFMatrix4d, value),  (int) FIELDTYPE_MFMatrix4d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFMatrix4d, setValue),  (int) FIELDTYPE_MFMatrix4d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFMatrix4d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFMatrix4d, valueChanged),  (int) FIELDTYPE_MFMatrix4d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFMatrix4f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFMatrix4f, value),  (int) FIELDTYPE_MFMatrix4f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFMatrix4f, setValue),  (int) FIELDTYPE_MFMatrix4f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFMatrix4f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFMatrix4f, valueChanged),  (int) FIELDTYPE_MFMatrix4f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFNode[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFNode, value),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFNode, setValue),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFNode, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFNode, valueChanged),  (int) FIELDTYPE_MFNode, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFRotation[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFRotation, value),  (int) FIELDTYPE_MFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFRotation, setValue),  (int) FIELDTYPE_MFRotation, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFRotation, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFRotation, valueChanged),  (int) FIELDTYPE_MFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFString[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFString, value),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFString, setValue),  (int) FIELDTYPE_MFString, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFString, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFString, valueChanged),  (int) FIELDTYPE_MFString, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFTime[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFTime, value),  (int) FIELDTYPE_MFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFTime, setValue),  (int) FIELDTYPE_MFTime, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFTime, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFTime, valueChanged),  (int) FIELDTYPE_MFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec2d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec2d, value),  (int) FIELDTYPE_MFVec2d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec2d, setValue),  (int) FIELDTYPE_MFVec2d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec2d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec2d, valueChanged),  (int) FIELDTYPE_MFVec2d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec2f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec2f, value),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec2f, setValue),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec2f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec2f, valueChanged),  (int) FIELDTYPE_MFVec2f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec3d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec3d, value),  (int) FIELDTYPE_MFVec3d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec3d, setValue),  (int) FIELDTYPE_MFVec3d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec3d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec3d, valueChanged),  (int) FIELDTYPE_MFVec3d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec3f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec3f, value),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec3f, setValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec3f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec3f, valueChanged),  (int) FIELDTYPE_MFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec4d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec4d, value),  (int) FIELDTYPE_MFVec4d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec4d, setValue),  (int) FIELDTYPE_MFVec4d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec4d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec4d, valueChanged),  (int) FIELDTYPE_MFVec4d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataMFVec4f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataMFVec4f, value),  (int) FIELDTYPE_MFVec4f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataMFVec4f, setValue),  (int) FIELDTYPE_MFVec4f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataMFVec4f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataMFVec4f, valueChanged),  (int) FIELDTYPE_MFVec4f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFBool[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFBool, value),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFBool, setValue),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFBool, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFBool, valueChanged),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFColor[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFColor, value),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFColor, setValue),  (int) FIELDTYPE_SFColor, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFColor, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFColor, valueChanged),  (int) FIELDTYPE_SFColor, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFColorRGBA[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFColorRGBA, value),  (int) FIELDTYPE_SFColorRGBA, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFColorRGBA, setValue),  (int) FIELDTYPE_SFColorRGBA, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFColorRGBA, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFColorRGBA, valueChanged),  (int) FIELDTYPE_SFColorRGBA, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFDouble[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFDouble, value),  (int) FIELDTYPE_SFDouble, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFDouble, setValue),  (int) FIELDTYPE_SFDouble, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFDouble, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFDouble, valueChanged),  (int) FIELDTYPE_SFDouble, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFFloat[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFFloat, value),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFFloat, setValue),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFFloat, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFFloat, valueChanged),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFImage[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFImage, value),  (int) FIELDTYPE_SFImage, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFImage, setValue),  (int) FIELDTYPE_SFImage, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFImage, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFImage, valueChanged),  (int) FIELDTYPE_SFImage, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFInt32[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFInt32, value),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFInt32, setValue),  (int) FIELDTYPE_SFInt32, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFInt32, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFInt32, valueChanged),  (int) FIELDTYPE_SFInt32, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFMatrix3d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFMatrix3d, value),  (int) FIELDTYPE_SFMatrix3d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFMatrix3d, setValue),  (int) FIELDTYPE_SFMatrix3d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFMatrix3d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFMatrix3d, valueChanged),  (int) FIELDTYPE_SFMatrix3d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFMatrix3f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFMatrix3f, value),  (int) FIELDTYPE_SFMatrix3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFMatrix3f, setValue),  (int) FIELDTYPE_SFMatrix3f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFMatrix3f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFMatrix3f, valueChanged),  (int) FIELDTYPE_SFMatrix3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFMatrix4d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFMatrix4d, value),  (int) FIELDTYPE_SFMatrix4d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFMatrix4d, setValue),  (int) FIELDTYPE_SFMatrix4d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFMatrix4d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFMatrix4d, valueChanged),  (int) FIELDTYPE_SFMatrix4d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFMatrix4f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFMatrix4f, value),  (int) FIELDTYPE_SFMatrix4f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFMatrix4f, setValue),  (int) FIELDTYPE_SFMatrix4f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFMatrix4f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFMatrix4f, valueChanged),  (int) FIELDTYPE_SFMatrix4f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFNode[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFNode, value),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFNode, setValue),  (int) FIELDTYPE_SFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFNode, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFNode, valueChanged),  (int) FIELDTYPE_SFNode, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFRotation[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFRotation, value),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFRotation, setValue),  (int) FIELDTYPE_SFRotation, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFRotation, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFRotation, valueChanged),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFString[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFString, value),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFString, setValue),  (int) FIELDTYPE_SFString, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFString, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFString, valueChanged),  (int) FIELDTYPE_SFString, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFTime[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFTime, value),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFTime, setValue),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFTime, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFTime, valueChanged),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec2d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec2d, value),  (int) FIELDTYPE_SFVec2d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec2d, setValue),  (int) FIELDTYPE_SFVec2d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec2d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec2d, valueChanged),  (int) FIELDTYPE_SFVec2d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec2f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec2f, value),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec2f, setValue),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec2f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec2f, valueChanged),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec3d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec3d, value),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec3d, setValue),  (int) FIELDTYPE_SFVec3d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec3d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec3d, valueChanged),  (int) FIELDTYPE_SFVec3d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec3f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec3f, value),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec3f, setValue),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec3f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec3f, valueChanged),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec4d[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec4d, value),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec4d, setValue),  (int) FIELDTYPE_SFVec4d, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec4d, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec4d, valueChanged),  (int) FIELDTYPE_SFVec4d, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSFVec4f[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSFVec4f, value),  (int) FIELDTYPE_SFVec4f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_setValue, (int) offsetof (struct X3D_MetadataSFVec4f, setValue),  (int) FIELDTYPE_SFVec4f, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tickTime, (int) offsetof (struct X3D_MetadataSFVec4f, tickTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOnly, (int) 0,
	(int) FIELDNAMES_valueChanged, (int) offsetof (struct X3D_MetadataSFVec4f, valueChanged),  (int) FIELDTYPE_SFVec4f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataSet[] = {
	(int) FIELDNAMES_reference, (int) offsetof (struct X3D_MetadataSet, reference),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataSet, value),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_MetadataSet, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MetadataSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MetadataString[] = {
	(int) FIELDNAMES_reference, (int) offsetof (struct X3D_MetadataString, reference),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_MetadataString, value),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_MetadataString, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MetadataString, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MovieTexture[] = {
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_MovieTexture, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_loop, (int) offsetof (struct X3D_MovieTexture, loop),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_resumeTime, (int) offsetof (struct X3D_MovieTexture, resumeTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_repeatS, (int) offsetof (struct X3D_MovieTexture, repeatS),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isPaused, (int) offsetof (struct X3D_MovieTexture, isPaused),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_duration_changed, (int) offsetof (struct X3D_MovieTexture, duration_changed),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pauseTime, (int) offsetof (struct X3D_MovieTexture, pauseTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_speed, (int) offsetof (struct X3D_MovieTexture, speed),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_MovieTexture, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_startTime, (int) offsetof (struct X3D_MovieTexture, startTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MovieTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_repeatT, (int) offsetof (struct X3D_MovieTexture, repeatT),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureProperties, (int) offsetof (struct X3D_MovieTexture, textureProperties),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_MovieTexture, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_MovieTexture, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_elapsedTime, (int) offsetof (struct X3D_MovieTexture, elapsedTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_stopTime, (int) offsetof (struct X3D_MovieTexture, stopTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_MovieTexture, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_MultiTexture[] = {
	(int) FIELDNAMES_source, (int) offsetof (struct X3D_MultiTexture, source),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_MultiTexture, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_alpha, (int) offsetof (struct X3D_MultiTexture, alpha),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_function, (int) offsetof (struct X3D_MultiTexture, function),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_mode, (int) offsetof (struct X3D_MultiTexture, mode),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MultiTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texture, (int) offsetof (struct X3D_MultiTexture, texture),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___params, (int) offsetof (struct X3D_MultiTexture, __params),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_MultiTextureCoordinate[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MultiTextureCoordinate, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_MultiTextureCoordinate, texCoord),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_MultiTextureTransform[] = {
	(int) FIELDNAMES_textureTransform, (int) offsetof (struct X3D_MultiTextureTransform, textureTransform),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_MultiTextureTransform, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NavigationInfo[] = {
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_NavigationInfo, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transitionTime, (int) offsetof (struct X3D_NavigationInfo, transitionTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_headlight, (int) offsetof (struct X3D_NavigationInfo, headlight),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_NavigationInfo, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_NavigationInfo, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transitionComplete, (int) offsetof (struct X3D_NavigationInfo, transitionComplete),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_speed, (int) offsetof (struct X3D_NavigationInfo, speed),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transitionType, (int) offsetof (struct X3D_NavigationInfo, transitionType),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_type, (int) offsetof (struct X3D_NavigationInfo, type),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NavigationInfo, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_visibilityLimit, (int) offsetof (struct X3D_NavigationInfo, visibilityLimit),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_avatarSize, (int) offsetof (struct X3D_NavigationInfo, avatarSize),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Normal[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Normal, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_vector, (int) offsetof (struct X3D_Normal, vector),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NormalInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_NormalInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_NormalInterpolator, value_changed),  (int) FIELDTYPE_MFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_NormalInterpolator, keyValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NormalInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_NormalInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsCurve[] = {
	(int) FIELDNAMES_knot, (int) offsetof (struct X3D_NurbsCurve, knot),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tessellation, (int) offsetof (struct X3D_NurbsCurve, tessellation),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_order, (int) offsetof (struct X3D_NurbsCurve, order),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_weight, (int) offsetof (struct X3D_NurbsCurve, weight),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_controlPoint, (int) offsetof (struct X3D_NurbsCurve, controlPoint),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsCurve, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsCurve2D[] = {
	(int) FIELDNAMES_knot, (int) offsetof (struct X3D_NurbsCurve2D, knot),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tessellation, (int) offsetof (struct X3D_NurbsCurve2D, tessellation),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_order, (int) offsetof (struct X3D_NurbsCurve2D, order),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_weight, (int) offsetof (struct X3D_NurbsCurve2D, weight),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_controlPoint, (int) offsetof (struct X3D_NurbsCurve2D, controlPoint),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsCurve2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsGroup[] = {
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_NurbsGroup, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_NurbsGroup, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsGroup, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tessellationScale, (int) offsetof (struct X3D_NurbsGroup, tessellationScale),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_NurbsGroup, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_NurbsGroup, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_NurbsGroup, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsPositionInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_NurbsPositionInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_knot, (int) offsetof (struct X3D_NurbsPositionInterpolator, knot),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_NurbsPositionInterpolator, value_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_NurbsPositionInterpolator, keyValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyWeight, (int) offsetof (struct X3D_NurbsPositionInterpolator, keyWeight),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_dimension, (int) offsetof (struct X3D_NurbsPositionInterpolator, dimension),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_order, (int) offsetof (struct X3D_NurbsPositionInterpolator, order),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsPositionInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsSurface[] = {
	(int) FIELDNAMES_vTessellation, (int) offsetof (struct X3D_NurbsSurface, vTessellation),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_controlPoint, (int) offsetof (struct X3D_NurbsSurface, controlPoint),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_NurbsSurface, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_NurbsSurface, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_knot, (int) offsetof (struct X3D_NurbsSurface, knot),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_uTessellation, (int) offsetof (struct X3D_NurbsSurface, uTessellation),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_order, (int) offsetof (struct X3D_NurbsSurface, order),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_weight, (int) offsetof (struct X3D_NurbsSurface, weight),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsSurface, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsTextureSurface[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsTextureSurface, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_NurbsTrimmedSurface[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_NurbsTrimmedSurface, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_OSC_Sensor[] = {
	(int) FIELDNAMES_protocol, (int) offsetof (struct X3D_OSC_Sensor, protocol),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_listenfor, (int) offsetof (struct X3D_OSC_Sensor, listenfor),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__stringInpFIFO, (int) offsetof (struct X3D_OSC_Sensor, _stringInpFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__talkToNodes, (int) offsetof (struct X3D_OSC_Sensor, _talkToNodes),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__status, (int) offsetof (struct X3D_OSC_Sensor, _status),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__floatInpFIFO, (int) offsetof (struct X3D_OSC_Sensor, _floatInpFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__int32OutFIFO, (int) offsetof (struct X3D_OSC_Sensor, _int32OutFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_talksTo, (int) offsetof (struct X3D_OSC_Sensor, talksTo),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_OSC_Sensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_OSC_Sensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__floatOutFIFO, (int) offsetof (struct X3D_OSC_Sensor, _floatOutFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_filter, (int) offsetof (struct X3D_OSC_Sensor, filter),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_FIFOsize, (int) offsetof (struct X3D_OSC_Sensor, FIFOsize),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__stringOutFIFO, (int) offsetof (struct X3D_OSC_Sensor, _stringOutFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_OSC_Sensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_OSC_Sensor, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_gotEvents, (int) offsetof (struct X3D_OSC_Sensor, gotEvents),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_handler, (int) offsetof (struct X3D_OSC_Sensor, handler),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_stringInp, (int) offsetof (struct X3D_OSC_Sensor, stringInp),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_floatInp, (int) offsetof (struct X3D_OSC_Sensor, floatInp),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___oldmetadata, (int) offsetof (struct X3D_OSC_Sensor, __oldmetadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__int32InpFIFO, (int) offsetof (struct X3D_OSC_Sensor, _int32InpFIFO),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_int32Inp, (int) offsetof (struct X3D_OSC_Sensor, int32Inp),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_OrientationInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_OrientationInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_OrientationInterpolator, value_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_OrientationInterpolator, keyValue),  (int) FIELDTYPE_MFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_OrientationInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_OrientationInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_OrthoViewpoint[] = {
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_OrthoViewpoint, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_OrthoViewpoint, orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_position, (int) offsetof (struct X3D_OrthoViewpoint, position),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_jump, (int) offsetof (struct X3D_OrthoViewpoint, jump),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_retainUserOffsets, (int) offsetof (struct X3D_OrthoViewpoint, retainUserOffsets),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_centerOfRotation, (int) offsetof (struct X3D_OrthoViewpoint, centerOfRotation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_OrthoViewpoint, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_OrthoViewpoint, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_OrthoViewpoint, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fieldOfView, (int) offsetof (struct X3D_OrthoViewpoint, fieldOfView),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_OrthoViewpoint, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PackagedShader[] = {
	(int) FIELDNAMES_isSelected, (int) offsetof (struct X3D_PackagedShader, isSelected),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_language, (int) offsetof (struct X3D_PackagedShader, language),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_PackagedShader, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isValid, (int) offsetof (struct X3D_PackagedShader, isValid),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___shaderObj, (int) offsetof (struct X3D_PackagedShader, __shaderObj),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PackagedShader, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_activate, (int) offsetof (struct X3D_PackagedShader, activate),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PickableGroup[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_PickableGroup, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_FreeWRL__protoDef, (int) offsetof (struct X3D_PickableGroup, FreeWRL__protoDef),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_PickableGroup, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pickable, (int) offsetof (struct X3D_PickableGroup, pickable),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_PickableGroup, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_FreeWRL_PROTOInterfaceNodes, (int) offsetof (struct X3D_PickableGroup, FreeWRL_PROTOInterfaceNodes),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_objectType, (int) offsetof (struct X3D_PickableGroup, objectType),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_PickableGroup, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PickableGroup, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_PickableGroup, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_PickableGroup, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PixelTexture[] = {
	(int) FIELDNAMES_repeatS, (int) offsetof (struct X3D_PixelTexture, repeatS),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_PixelTexture, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_PixelTexture, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PixelTexture, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_repeatT, (int) offsetof (struct X3D_PixelTexture, repeatT),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_image, (int) offsetof (struct X3D_PixelTexture, image),  (int) FIELDTYPE_SFImage, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureProperties, (int) offsetof (struct X3D_PixelTexture, textureProperties),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PlaneSensor[] = {
	(int) FIELDNAMES_minPosition, (int) offsetof (struct X3D_PlaneSensor, minPosition),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldtranslation, (int) offsetof (struct X3D_PlaneSensor, _oldtranslation),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_PlaneSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isOver, (int) offsetof (struct X3D_PlaneSensor, isOver),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_trackPoint_changed, (int) offsetof (struct X3D_PlaneSensor, trackPoint_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldtrackPoint, (int) offsetof (struct X3D_PlaneSensor, _oldtrackPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_PlaneSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_PlaneSensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_autoOffset, (int) offsetof (struct X3D_PlaneSensor, autoOffset),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_maxPosition, (int) offsetof (struct X3D_PlaneSensor, maxPosition),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PlaneSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__origPoint, (int) offsetof (struct X3D_PlaneSensor, _origPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_offset, (int) offsetof (struct X3D_PlaneSensor, offset),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_PlaneSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation_changed, (int) offsetof (struct X3D_PlaneSensor, translation_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PointLight[] = {
	(int) FIELDNAMES_global, (int) offsetof (struct X3D_PointLight, global),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_location, (int) offsetof (struct X3D_PointLight, location),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_PointLight, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ambientIntensity, (int) offsetof (struct X3D_PointLight, ambientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_PointLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_PointLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attenuation, (int) offsetof (struct X3D_PointLight, attenuation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PointLight, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_PointLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PointPickSensor[] = {
	(int) FIELDNAMES__oldisActive, (int) offsetof (struct X3D_PointPickSensor, _oldisActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_sortOrder, (int) offsetof (struct X3D_PointPickSensor, set_sortOrder),  (int) FIELDTYPE_SFString, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__bboxSize, (int) offsetof (struct X3D_PointPickSensor, _bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__bboxCenter, (int) offsetof (struct X3D_PointPickSensor, _bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_objectType, (int) offsetof (struct X3D_PointPickSensor, objectType),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pickedGeometry, (int) offsetof (struct X3D_PointPickSensor, pickedGeometry),  (int) FIELDTYPE_MFNode, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PointPickSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldpickedPoint, (int) offsetof (struct X3D_PointPickSensor, _oldpickedPoint),  (int) FIELDTYPE_MFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_sortOrder, (int) offsetof (struct X3D_PointPickSensor, sortOrder),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_PointPickSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_intersectionType, (int) offsetof (struct X3D_PointPickSensor, intersectionType),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldpickedGeometry, (int) offsetof (struct X3D_PointPickSensor, _oldpickedGeometry),  (int) FIELDTYPE_MFNode, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pickTarget, (int) offsetof (struct X3D_PointPickSensor, pickTarget),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldpickTarget, (int) offsetof (struct X3D_PointPickSensor, _oldpickTarget),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_PointPickSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pickedPoint, (int) offsetof (struct X3D_PointPickSensor, pickedPoint),  (int) FIELDTYPE_MFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_intersectionType, (int) offsetof (struct X3D_PointPickSensor, set_intersectionType),  (int) FIELDTYPE_SFString, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pickingGeometry, (int) offsetof (struct X3D_PointPickSensor, pickingGeometry),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PointSet[] = {
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_PointSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_PointSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_PointSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_PointSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PointSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Polyline2D[] = {
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Polyline2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_lineSegments, (int) offsetof (struct X3D_Polyline2D, lineSegments),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Polypoint2D[] = {
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_Polypoint2D, point),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Polypoint2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PositionInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_PositionInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_PositionInterpolator, value_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_PositionInterpolator, keyValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PositionInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_PositionInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_PositionInterpolator2D[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_PositionInterpolator2D, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_PositionInterpolator2D, value_changed),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_PositionInterpolator2D, keyValue),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_PositionInterpolator2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_PositionInterpolator2D, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ProgramShader[] = {
	(int) FIELDNAMES_language, (int) offsetof (struct X3D_ProgramShader, language),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isValid, (int) offsetof (struct X3D_ProgramShader, isValid),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_activate, (int) offsetof (struct X3D_ProgramShader, activate),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___shaderIDS, (int) offsetof (struct X3D_ProgramShader, __shaderIDS),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_isSelected, (int) offsetof (struct X3D_ProgramShader, isSelected),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_programs, (int) offsetof (struct X3D_ProgramShader, programs),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ProgramShader, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___initialized, (int) offsetof (struct X3D_ProgramShader, __initialized),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ProximitySensor[] = {
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_ProximitySensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_enterTime, (int) offsetof (struct X3D_ProximitySensor, enterTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_ProximitySensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_position_changed, (int) offsetof (struct X3D_ProximitySensor, position_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_ProximitySensor, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_ProximitySensor, size),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___t2, (int) offsetof (struct X3D_ProximitySensor, __t2),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___hit, (int) offsetof (struct X3D_ProximitySensor, __hit),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_exitTime, (int) offsetof (struct X3D_ProximitySensor, exitTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_orientation_changed, (int) offsetof (struct X3D_ProximitySensor, orientation_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___t1, (int) offsetof (struct X3D_ProximitySensor, __t1),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_centerOfRotation_changed, (int) offsetof (struct X3D_ProximitySensor, centerOfRotation_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ProximitySensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_ProximitySensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ReceiverPdu[] = {
	(int) FIELDNAMES_isStandAlone, (int) offsetof (struct X3D_ReceiverPdu, isStandAlone),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_receiverState, (int) offsetof (struct X3D_ReceiverPdu, receiverState),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkReader, (int) offsetof (struct X3D_ReceiverPdu, isNetworkReader),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitterApplicationID, (int) offsetof (struct X3D_ReceiverPdu, transmitterApplicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_siteID, (int) offsetof (struct X3D_ReceiverPdu, siteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkWriter, (int) offsetof (struct X3D_ReceiverPdu, isNetworkWriter),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isRtpHeaderHeard, (int) offsetof (struct X3D_ReceiverPdu, isRtpHeaderHeard),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_receivedPower, (int) offsetof (struct X3D_ReceiverPdu, receivedPower),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitterRadioID, (int) offsetof (struct X3D_ReceiverPdu, transmitterRadioID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitterSiteID, (int) offsetof (struct X3D_ReceiverPdu, transmitterSiteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rtpHeaderExpected, (int) offsetof (struct X3D_ReceiverPdu, rtpHeaderExpected),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_timestamp, (int) offsetof (struct X3D_ReceiverPdu, timestamp),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_networkMode, (int) offsetof (struct X3D_ReceiverPdu, networkMode),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ReceiverPdu, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_address, (int) offsetof (struct X3D_ReceiverPdu, address),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayPort, (int) offsetof (struct X3D_ReceiverPdu, multicastRelayPort),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_ReceiverPdu, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_readInterval, (int) offsetof (struct X3D_ReceiverPdu, readInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_ReceiverPdu, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_applicationID, (int) offsetof (struct X3D_ReceiverPdu, applicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioID, (int) offsetof (struct X3D_ReceiverPdu, radioID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_ReceiverPdu, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitterEntityID, (int) offsetof (struct X3D_ReceiverPdu, transmitterEntityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayHost, (int) offsetof (struct X3D_ReceiverPdu, multicastRelayHost),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_ReceiverPdu, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_whichGeometry, (int) offsetof (struct X3D_ReceiverPdu, whichGeometry),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_ReceiverPdu, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_writeInterval, (int) offsetof (struct X3D_ReceiverPdu, writeInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityID, (int) offsetof (struct X3D_ReceiverPdu, entityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Rectangle2D[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Rectangle2D, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___numPoints, (int) offsetof (struct X3D_Rectangle2D, __numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Rectangle2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Rectangle2D, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_Rectangle2D, size),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ScalarInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_ScalarInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_ScalarInterpolator, value_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_ScalarInterpolator, keyValue),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ScalarInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_ScalarInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Script[] = {
	(int) FIELDNAMES___scriptObj, (int) offsetof (struct X3D_Script, __scriptObj),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_Script, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_Script, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_mustEvaluate, (int) offsetof (struct X3D_Script, mustEvaluate),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Script, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_directOutput, (int) offsetof (struct X3D_Script, directOutput),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ShaderPart[] = {
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_ShaderPart, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_ShaderPart, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ShaderPart, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_type, (int) offsetof (struct X3D_ShaderPart, type),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ShaderProgram[] = {
	(int) FIELDNAMES_url, (int) offsetof (struct X3D_ShaderProgram, url),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___shaderObj, (int) offsetof (struct X3D_ShaderProgram, __shaderObj),  (int) FIELDTYPE_SFNode, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_ShaderProgram, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ShaderProgram, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_type, (int) offsetof (struct X3D_ShaderProgram, type),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Shape[] = {
	(int) FIELDNAMES___visible, (int) offsetof (struct X3D_Shape, __visible),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___occludeCheckCount, (int) offsetof (struct X3D_Shape, __occludeCheckCount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_appearance, (int) offsetof (struct X3D_Shape, appearance),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Shape, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_geometry, (int) offsetof (struct X3D_Shape, geometry),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Shape, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___Samples, (int) offsetof (struct X3D_Shape, __Samples),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__shaderTableEntry, (int) offsetof (struct X3D_Shape, _shaderTableEntry),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Shape, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_SignalPdu[] = {
	(int) FIELDNAMES_isStandAlone, (int) offsetof (struct X3D_SignalPdu, isStandAlone),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkReader, (int) offsetof (struct X3D_SignalPdu, isNetworkReader),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_siteID, (int) offsetof (struct X3D_SignalPdu, siteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkWriter, (int) offsetof (struct X3D_SignalPdu, isNetworkWriter),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isRtpHeaderHeard, (int) offsetof (struct X3D_SignalPdu, isRtpHeaderHeard),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_timestamp, (int) offsetof (struct X3D_SignalPdu, timestamp),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rtpHeaderExpected, (int) offsetof (struct X3D_SignalPdu, rtpHeaderExpected),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_networkMode, (int) offsetof (struct X3D_SignalPdu, networkMode),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SignalPdu, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_address, (int) offsetof (struct X3D_SignalPdu, address),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_SignalPdu, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayPort, (int) offsetof (struct X3D_SignalPdu, multicastRelayPort),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_readInterval, (int) offsetof (struct X3D_SignalPdu, readInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_SignalPdu, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_applicationID, (int) offsetof (struct X3D_SignalPdu, applicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_sampleRate, (int) offsetof (struct X3D_SignalPdu, sampleRate),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioID, (int) offsetof (struct X3D_SignalPdu, radioID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_encodingScheme, (int) offsetof (struct X3D_SignalPdu, encodingScheme),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_SignalPdu, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_tdlType, (int) offsetof (struct X3D_SignalPdu, tdlType),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayHost, (int) offsetof (struct X3D_SignalPdu, multicastRelayHost),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_dataLength, (int) offsetof (struct X3D_SignalPdu, dataLength),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_data, (int) offsetof (struct X3D_SignalPdu, data),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_SignalPdu, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_samples, (int) offsetof (struct X3D_SignalPdu, samples),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_whichGeometry, (int) offsetof (struct X3D_SignalPdu, whichGeometry),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_SignalPdu, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_writeInterval, (int) offsetof (struct X3D_SignalPdu, writeInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityID, (int) offsetof (struct X3D_SignalPdu, entityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Sound[] = {
	(int) FIELDNAMES_priority, (int) offsetof (struct X3D_Sound, priority),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_source, (int) offsetof (struct X3D_Sound, source),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_minFront, (int) offsetof (struct X3D_Sound, minFront),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_location, (int) offsetof (struct X3D_Sound, location),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_direction, (int) offsetof (struct X3D_Sound, direction),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_maxFront, (int) offsetof (struct X3D_Sound, maxFront),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_spatialize, (int) offsetof (struct X3D_Sound, spatialize),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_minBack, (int) offsetof (struct X3D_Sound, minBack),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_Sound, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Sound, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_maxBack, (int) offsetof (struct X3D_Sound, maxBack),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Sphere[] = {
	(int) FIELDNAMES__sideVBO, (int) offsetof (struct X3D_Sphere, _sideVBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Sphere, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_Sphere, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Sphere, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_Sphere, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_SphereSensor[] = {
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_SphereSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_trackPoint_changed, (int) offsetof (struct X3D_SphereSensor, trackPoint_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldtrackPoint, (int) offsetof (struct X3D_SphereSensor, _oldtrackPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_isOver, (int) offsetof (struct X3D_SphereSensor, isOver),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_SphereSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldrotation, (int) offsetof (struct X3D_SphereSensor, _oldrotation),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_SphereSensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_autoOffset, (int) offsetof (struct X3D_SphereSensor, autoOffset),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation_changed, (int) offsetof (struct X3D_SphereSensor, rotation_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__origNormalizedPoint, (int) offsetof (struct X3D_SphereSensor, _origNormalizedPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SphereSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__origPoint, (int) offsetof (struct X3D_SphereSensor, _origPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_offset, (int) offsetof (struct X3D_SphereSensor, offset),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_SphereSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__radius, (int) offsetof (struct X3D_SphereSensor, _radius),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_SplinePositionInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_SplinePositionInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_closed, (int) offsetof (struct X3D_SplinePositionInterpolator, closed),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_SplinePositionInterpolator, value_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_SplinePositionInterpolator, keyValue),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyVelocity, (int) offsetof (struct X3D_SplinePositionInterpolator, keyVelocity),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SplinePositionInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalizeVelocity, (int) offsetof (struct X3D_SplinePositionInterpolator, normalizeVelocity),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_SplinePositionInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_SplinePositionInterpolator2D[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_SplinePositionInterpolator2D, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_closed, (int) offsetof (struct X3D_SplinePositionInterpolator2D, closed),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_SplinePositionInterpolator2D, value_changed),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_SplinePositionInterpolator2D, keyValue),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyVelocity, (int) offsetof (struct X3D_SplinePositionInterpolator2D, keyVelocity),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SplinePositionInterpolator2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalizeVelocity, (int) offsetof (struct X3D_SplinePositionInterpolator2D, normalizeVelocity),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_SplinePositionInterpolator2D, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_SplineScalarInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_SplineScalarInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_closed, (int) offsetof (struct X3D_SplineScalarInterpolator, closed),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_SplineScalarInterpolator, value_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_SplineScalarInterpolator, keyValue),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyVelocity, (int) offsetof (struct X3D_SplineScalarInterpolator, keyVelocity),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SplineScalarInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalizeVelocity, (int) offsetof (struct X3D_SplineScalarInterpolator, normalizeVelocity),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_SplineScalarInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_SpotLight[] = {
	(int) FIELDNAMES_beamWidth, (int) offsetof (struct X3D_SpotLight, beamWidth),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_global, (int) offsetof (struct X3D_SpotLight, global),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_location, (int) offsetof (struct X3D_SpotLight, location),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_SpotLight, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ambientIntensity, (int) offsetof (struct X3D_SpotLight, ambientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_SpotLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_direction, (int) offsetof (struct X3D_SpotLight, direction),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_cutOffAngle, (int) offsetof (struct X3D_SpotLight, cutOffAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attenuation, (int) offsetof (struct X3D_SpotLight, attenuation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_SpotLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_SpotLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SpotLight, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_SquadOrientationInterpolator[] = {
	(int) FIELDNAMES_set_fraction, (int) offsetof (struct X3D_SquadOrientationInterpolator, set_fraction),  (int) FIELDTYPE_SFFloat, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_value_changed, (int) offsetof (struct X3D_SquadOrientationInterpolator, value_changed),  (int) FIELDTYPE_SFRotation, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_keyValue, (int) offsetof (struct X3D_SquadOrientationInterpolator, keyValue),  (int) FIELDTYPE_MFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_SquadOrientationInterpolator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalizeVelocity, (int) offsetof (struct X3D_SquadOrientationInterpolator, normalizeVelocity),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_key, (int) offsetof (struct X3D_SquadOrientationInterpolator, key),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_StaticGroup[] = {
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_StaticGroup, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_StaticGroup, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_StaticGroup, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___solid, (int) offsetof (struct X3D_StaticGroup, __solid),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___transparency, (int) offsetof (struct X3D_StaticGroup, __transparency),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_StaticGroup, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_StaticGroup, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_StringSensor[] = {
	(int) FIELDNAMES__initialized, (int) offsetof (struct X3D_StringSensor, _initialized),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_StringSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_enteredText, (int) offsetof (struct X3D_StringSensor, enteredText),  (int) FIELDTYPE_SFString, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_StringSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_deletionAllowed, (int) offsetof (struct X3D_StringSensor, deletionAllowed),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_StringSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_finalText, (int) offsetof (struct X3D_StringSensor, finalText),  (int) FIELDTYPE_SFString, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_StringSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Switch[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Switch, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Switch, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Switch, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Switch, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_whichChoice, (int) offsetof (struct X3D_Switch, whichChoice),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_choice, (int) offsetof (struct X3D_Switch, choice),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Switch, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___isX3D, (int) offsetof (struct X3D_Switch, __isX3D),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Switch, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Text[] = {
	(int) FIELDNAMES_fontStyle, (int) offsetof (struct X3D_Text, fontStyle),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_Text, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___rendersub, (int) offsetof (struct X3D_Text, __rendersub),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_origin, (int) offsetof (struct X3D_Text, origin),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_string, (int) offsetof (struct X3D_Text, string),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textBounds, (int) offsetof (struct X3D_Text, textBounds),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_length, (int) offsetof (struct X3D_Text, length),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_maxExtent, (int) offsetof (struct X3D_Text, maxExtent),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_lineBounds, (int) offsetof (struct X3D_Text, lineBounds),  (int) FIELDTYPE_MFVec2f, (int) KW_outputOnly, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Text, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TextureBackground[] = {
	(int) FIELDNAMES_topTexture, (int) offsetof (struct X3D_TextureBackground, topTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___colours, (int) offsetof (struct X3D_TextureBackground, __colours),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_TextureBackground, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_groundColor, (int) offsetof (struct X3D_TextureBackground, groundColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rightTexture, (int) offsetof (struct X3D_TextureBackground, rightTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___quadcount, (int) offsetof (struct X3D_TextureBackground, __quadcount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_frontTexture, (int) offsetof (struct X3D_TextureBackground, frontTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TextureBackground, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___VBO, (int) offsetof (struct X3D_TextureBackground, __VBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_bottomTexture, (int) offsetof (struct X3D_TextureBackground, bottomTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transparency, (int) offsetof (struct X3D_TextureBackground, transparency),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_TextureBackground, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_leftTexture, (int) offsetof (struct X3D_TextureBackground, leftTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_TextureBackground, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_TextureBackground, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_TextureBackground, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_skyAngle, (int) offsetof (struct X3D_TextureBackground, skyAngle),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_backTexture, (int) offsetof (struct X3D_TextureBackground, backTexture),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_skyColor, (int) offsetof (struct X3D_TextureBackground, skyColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_groundAngle, (int) offsetof (struct X3D_TextureBackground, groundAngle),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TextureCoordinate[] = {
	(int) FIELDNAMES___compiledpoint, (int) offsetof (struct X3D_TextureCoordinate, __compiledpoint),  (int) FIELDTYPE_MFVec2f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_TextureCoordinate, point),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___lastParent, (int) offsetof (struct X3D_TextureCoordinate, __lastParent),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TextureCoordinate, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___VBO, (int) offsetof (struct X3D_TextureCoordinate, __VBO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_TextureCoordinateGenerator[] = {
	(int) FIELDNAMES_parameter, (int) offsetof (struct X3D_TextureCoordinateGenerator, parameter),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___compiledmode, (int) offsetof (struct X3D_TextureCoordinateGenerator, __compiledmode),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_mode, (int) offsetof (struct X3D_TextureCoordinateGenerator, mode),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TextureCoordinateGenerator, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TextureProperties[] = {
	(int) FIELDNAMES_borderColor, (int) offsetof (struct X3D_TextureProperties, borderColor),  (int) FIELDTYPE_SFColorRGBA, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_boundaryModeS, (int) offsetof (struct X3D_TextureProperties, boundaryModeS),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_magnificationFilter, (int) offsetof (struct X3D_TextureProperties, magnificationFilter),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texturePriority, (int) offsetof (struct X3D_TextureProperties, texturePriority),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_boundaryModeT, (int) offsetof (struct X3D_TextureProperties, boundaryModeT),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_boundaryModeR, (int) offsetof (struct X3D_TextureProperties, boundaryModeR),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_anisotropicDegree, (int) offsetof (struct X3D_TextureProperties, anisotropicDegree),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_borderWidth, (int) offsetof (struct X3D_TextureProperties, borderWidth),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_minificationFilter, (int) offsetof (struct X3D_TextureProperties, minificationFilter),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_textureCompression, (int) offsetof (struct X3D_TextureProperties, textureCompression),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_generateMipMaps, (int) offsetof (struct X3D_TextureProperties, generateMipMaps),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TextureProperties, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TextureTransform[] = {
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_TextureTransform, rotation),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_TextureTransform, scale),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TextureTransform, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_TextureTransform, translation),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_TextureTransform, center),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TimeSensor[] = {
	(int) FIELDNAMES_time, (int) offsetof (struct X3D_TimeSensor, time),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___inittime, (int) offsetof (struct X3D_TimeSensor, __inittime),  (int) FIELDTYPE_SFTime, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_fraction_changed, (int) offsetof (struct X3D_TimeSensor, fraction_changed),  (int) FIELDTYPE_SFFloat, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_loop, (int) offsetof (struct X3D_TimeSensor, loop),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_resumeTime, (int) offsetof (struct X3D_TimeSensor, resumeTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_cycleInterval, (int) offsetof (struct X3D_TimeSensor, cycleInterval),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isPaused, (int) offsetof (struct X3D_TimeSensor, isPaused),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_pauseTime, (int) offsetof (struct X3D_TimeSensor, pauseTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_startTime, (int) offsetof (struct X3D_TimeSensor, startTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TimeSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_TimeSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___ctflag, (int) offsetof (struct X3D_TimeSensor, __ctflag),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_TimeSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_TimeSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_cycleTime, (int) offsetof (struct X3D_TimeSensor, cycleTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_elapsedTime, (int) offsetof (struct X3D_TimeSensor, elapsedTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_stopTime, (int) offsetof (struct X3D_TimeSensor, stopTime),  (int) FIELDTYPE_SFTime, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TimeTrigger[] = {
	(int) FIELDNAMES_set_boolean, (int) offsetof (struct X3D_TimeTrigger, set_boolean),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_triggerTime, (int) offsetof (struct X3D_TimeTrigger, triggerTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TimeTrigger, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TouchSensor[] = {
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_TouchSensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_isOver, (int) offsetof (struct X3D_TouchSensor, isOver),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hitPoint_changed, (int) offsetof (struct X3D_TouchSensor, hitPoint_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_TouchSensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitPoint, (int) offsetof (struct X3D_TouchSensor, _oldhitPoint),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_TouchSensor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_hitTexCoord_changed, (int) offsetof (struct X3D_TouchSensor, hitTexCoord_changed),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitNormal, (int) offsetof (struct X3D_TouchSensor, _oldhitNormal),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_hitNormal_changed, (int) offsetof (struct X3D_TouchSensor, hitNormal_changed),  (int) FIELDTYPE_SFVec3f, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TouchSensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__oldhitTexCoord, (int) offsetof (struct X3D_TouchSensor, _oldhitTexCoord),  (int) FIELDTYPE_SFVec2f, (int) KW_outputOnly, (int) 0,
	(int) FIELDNAMES_touchTime, (int) offsetof (struct X3D_TouchSensor, touchTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_TouchSensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_Transform[] = {
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_Transform, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scaleO, (int) offsetof (struct X3D_Transform, __do_scaleO),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_addChildren, (int) offsetof (struct X3D_Transform, addChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_Transform, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_Transform, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_anything, (int) offsetof (struct X3D_Transform, __do_anything),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_Transform, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Transform, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_trans, (int) offsetof (struct X3D_Transform, __do_trans),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___do_center, (int) offsetof (struct X3D_Transform, __do_center),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_removeChildren, (int) offsetof (struct X3D_Transform, removeChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_Transform, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_Transform, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_rotation, (int) offsetof (struct X3D_Transform, __do_rotation),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_Transform, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_Transform, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___do_scale, (int) offsetof (struct X3D_Transform, __do_scale),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_scale, (int) offsetof (struct X3D_Transform, scale),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TransmitterPdu[] = {
	(int) FIELDNAMES_isStandAlone, (int) offsetof (struct X3D_TransmitterPdu, isStandAlone),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkReader, (int) offsetof (struct X3D_TransmitterPdu, isNetworkReader),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_antennaPatternType, (int) offsetof (struct X3D_TransmitterPdu, antennaPatternType),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isRtpHeaderHeard, (int) offsetof (struct X3D_TransmitterPdu, isRtpHeaderHeard),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_frequency, (int) offsetof (struct X3D_TransmitterPdu, frequency),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_rtpHeaderExpected, (int) offsetof (struct X3D_TransmitterPdu, rtpHeaderExpected),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeKind, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeKind),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_power, (int) offsetof (struct X3D_TransmitterPdu, power),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_address, (int) offsetof (struct X3D_TransmitterPdu, address),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TransmitterPdu, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_modulationTypeMajor, (int) offsetof (struct X3D_TransmitterPdu, modulationTypeMajor),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_modulationTypeDetail, (int) offsetof (struct X3D_TransmitterPdu, modulationTypeDetail),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_TransmitterPdu, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayPort, (int) offsetof (struct X3D_TransmitterPdu, multicastRelayPort),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_relativeAntennaLocation, (int) offsetof (struct X3D_TransmitterPdu, relativeAntennaLocation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitFrequencyBandwidth, (int) offsetof (struct X3D_TransmitterPdu, transmitFrequencyBandwidth),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_multicastRelayHost, (int) offsetof (struct X3D_TransmitterPdu, multicastRelayHost),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_port, (int) offsetof (struct X3D_TransmitterPdu, port),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeCategory, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeCategory),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_whichGeometry, (int) offsetof (struct X3D_TransmitterPdu, whichGeometry),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_writeInterval, (int) offsetof (struct X3D_TransmitterPdu, writeInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeCountry, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeCountry),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_entityID, (int) offsetof (struct X3D_TransmitterPdu, entityID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isNetworkWriter, (int) offsetof (struct X3D_TransmitterPdu, isNetworkWriter),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_siteID, (int) offsetof (struct X3D_TransmitterPdu, siteID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_antennaLocation, (int) offsetof (struct X3D_TransmitterPdu, antennaLocation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_timestamp, (int) offsetof (struct X3D_TransmitterPdu, timestamp),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_networkMode, (int) offsetof (struct X3D_TransmitterPdu, networkMode),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeNomenclature, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeNomenclature),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_transmitState, (int) offsetof (struct X3D_TransmitterPdu, transmitState),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_TransmitterPdu, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_readInterval, (int) offsetof (struct X3D_TransmitterPdu, readInterval),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_applicationID, (int) offsetof (struct X3D_TransmitterPdu, applicationID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioID, (int) offsetof (struct X3D_TransmitterPdu, radioID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_modulationTypeSpreadSpectrum, (int) offsetof (struct X3D_TransmitterPdu, modulationTypeSpreadSpectrum),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_TransmitterPdu, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_lengthOfModulationParameters, (int) offsetof (struct X3D_TransmitterPdu, lengthOfModulationParameters),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeDomain, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeDomain),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_cryptoSystem, (int) offsetof (struct X3D_TransmitterPdu, cryptoSystem),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_cryptoKeyID, (int) offsetof (struct X3D_TransmitterPdu, cryptoKeyID),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_modulationTypeSystem, (int) offsetof (struct X3D_TransmitterPdu, modulationTypeSystem),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_TransmitterPdu, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_radioEntityTypeNomenclatureVersion, (int) offsetof (struct X3D_TransmitterPdu, radioEntityTypeNomenclatureVersion),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_inputSource, (int) offsetof (struct X3D_TransmitterPdu, inputSource),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_antennaPatternLength, (int) offsetof (struct X3D_TransmitterPdu, antennaPatternLength),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TriangleFanSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_TriangleFanSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_TriangleFanSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_TriangleFanSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_TriangleFanSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_TriangleFanSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_TriangleFanSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_TriangleFanSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fanCount, (int) offsetof (struct X3D_TriangleFanSet, fanCount),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_TriangleFanSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_TriangleFanSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TriangleFanSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_TriangleFanSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_TriangleFanSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TriangleSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_TriangleSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_TriangleSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_TriangleSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_TriangleSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_TriangleSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_TriangleSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_TriangleSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_TriangleSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_TriangleSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TriangleSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_TriangleSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_TriangleSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TriangleSet2D[] = {
	(int) FIELDNAMES_vertices, (int) offsetof (struct X3D_TriangleSet2D, vertices),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_TriangleSet2D, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___texCoords, (int) offsetof (struct X3D_TriangleSet2D, __texCoords),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TriangleSet2D, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TriangleStripSet[] = {
	(int) FIELDNAMES_solid, (int) offsetof (struct X3D_TriangleStripSet, solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normal, (int) offsetof (struct X3D_TriangleStripSet, normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_colorPerVertex, (int) offsetof (struct X3D_TriangleStripSet, colorPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_texCoord, (int) offsetof (struct X3D_TriangleStripSet, texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_ccw, (int) offsetof (struct X3D_TriangleStripSet, ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_stripCount, (int) offsetof (struct X3D_TriangleStripSet, stripCount),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_TriangleStripSet, color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fogCoord, (int) offsetof (struct X3D_TriangleStripSet, fogCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_coord, (int) offsetof (struct X3D_TriangleStripSet, coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_attrib, (int) offsetof (struct X3D_TriangleStripSet, attrib),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TriangleStripSet, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_normalPerVertex, (int) offsetof (struct X3D_TriangleStripSet, normalPerVertex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES__coordIndex, (int) offsetof (struct X3D_TriangleStripSet, _coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_initializeOnly, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_TwoSidedMaterial[] = {
	(int) FIELDNAMES_specularColor, (int) offsetof (struct X3D_TwoSidedMaterial, specularColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES__verifiedBackColor, (int) offsetof (struct X3D_TwoSidedMaterial, _verifiedBackColor),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_backAmbientIntensity, (int) offsetof (struct X3D_TwoSidedMaterial, backAmbientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_TwoSidedMaterial, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_backEmissiveColor, (int) offsetof (struct X3D_TwoSidedMaterial, backEmissiveColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_backDiffuseColor, (int) offsetof (struct X3D_TwoSidedMaterial, backDiffuseColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_transparency, (int) offsetof (struct X3D_TwoSidedMaterial, transparency),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_separateBackColor, (int) offsetof (struct X3D_TwoSidedMaterial, separateBackColor),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_shininess, (int) offsetof (struct X3D_TwoSidedMaterial, shininess),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES__verifiedFrontColor, (int) offsetof (struct X3D_TwoSidedMaterial, _verifiedFrontColor),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_diffuseColor, (int) offsetof (struct X3D_TwoSidedMaterial, diffuseColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_ambientIntensity, (int) offsetof (struct X3D_TwoSidedMaterial, ambientIntensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_backSpecularColor, (int) offsetof (struct X3D_TwoSidedMaterial, backSpecularColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_backTransparency, (int) offsetof (struct X3D_TwoSidedMaterial, backTransparency),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_emissiveColor, (int) offsetof (struct X3D_TwoSidedMaterial, emissiveColor),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) (SPEC_X3D33),
	(int) FIELDNAMES_backShininess, (int) offsetof (struct X3D_TwoSidedMaterial, backShininess),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_AsciiText[] = {
	(int) FIELDNAMES_width, (int) offsetof (struct X3D_VRML1_AsciiText, width),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_justification, (int) offsetof (struct X3D_VRML1_AsciiText, justification),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_string, (int) offsetof (struct X3D_VRML1_AsciiText, string),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_spacing, (int) offsetof (struct X3D_VRML1_AsciiText, spacing),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_AsciiText, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Cone[] = {
	(int) FIELDNAMES_parts, (int) offsetof (struct X3D_VRML1_Cone, parts),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_bottomRadius, (int) offsetof (struct X3D_VRML1_Cone, bottomRadius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_VRML1_Cone, height),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_Cone, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Coordinate3[] = {
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_VRML1_Coordinate3, point),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Cube[] = {
	(int) FIELDNAMES_width, (int) offsetof (struct X3D_VRML1_Cube, width),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_VRML1_Cube, height),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_depth, (int) offsetof (struct X3D_VRML1_Cube, depth),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_Cube, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Cylinder[] = {
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_VRML1_Cylinder, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_parts, (int) offsetof (struct X3D_VRML1_Cylinder, parts),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_VRML1_Cylinder, height),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_Cylinder, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_DirectionalLight[] = {
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_VRML1_DirectionalLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_direction, (int) offsetof (struct X3D_VRML1_DirectionalLight, direction),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_VRML1_DirectionalLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_VRML1_DirectionalLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_FontStyle[] = {
	(int) FIELDNAMES_style, (int) offsetof (struct X3D_VRML1_FontStyle, style),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_VRML1_FontStyle, size),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_family, (int) offsetof (struct X3D_VRML1_FontStyle, family),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_IndexedFaceSet[] = {
	(int) FIELDNAMES__solid, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _solid),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_normalIndex, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, normalIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__normal, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _normal),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_materialIndex, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, materialIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__cpv, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _cpv),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__creaseAngle, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _creaseAngle),  (int) FIELDTYPE_SFFloat, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__color, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _color),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__ccw, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _ccw),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES__convex, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _convex),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_coordIndex, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__texCoord, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _texCoord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__coord, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _coord),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_textureCoordIndex, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, textureCoordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__npv, (int) offsetof (struct X3D_VRML1_IndexedFaceSet, _npv),  (int) FIELDTYPE_SFBool, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_IndexedLineSet[] = {
	(int) FIELDNAMES_normalIndex, (int) offsetof (struct X3D_VRML1_IndexedLineSet, normalIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_coordIndex, (int) offsetof (struct X3D_VRML1_IndexedLineSet, coordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_materialIndex, (int) offsetof (struct X3D_VRML1_IndexedLineSet, materialIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_textureCoordIndex, (int) offsetof (struct X3D_VRML1_IndexedLineSet, textureCoordIndex),  (int) FIELDTYPE_MFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_IndexedLineSet, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Info[] = {
	(int) FIELDNAMES_string, (int) offsetof (struct X3D_VRML1_Info, string),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_LOD[] = {
	(int) FIELDNAMES_range, (int) offsetof (struct X3D_VRML1_LOD, range),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_VRML1_LOD, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Material[] = {
	(int) FIELDNAMES_transparency, (int) offsetof (struct X3D_VRML1_Material, transparency),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_specularColor, (int) offsetof (struct X3D_VRML1_Material, specularColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__verifiedColor, (int) offsetof (struct X3D_VRML1_Material, _verifiedColor),  (int) FIELDTYPE_MFFloat, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_emissiveColor, (int) offsetof (struct X3D_VRML1_Material, emissiveColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_shininess, (int) offsetof (struct X3D_VRML1_Material, shininess),  (int) FIELDTYPE_MFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_diffuseColor, (int) offsetof (struct X3D_VRML1_Material, diffuseColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_ambientColor, (int) offsetof (struct X3D_VRML1_Material, ambientColor),  (int) FIELDTYPE_MFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_MaterialBinding[] = {
	(int) FIELDNAMES__initialized, (int) offsetof (struct X3D_VRML1_MaterialBinding, _initialized),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_VRML1_MaterialBinding, value),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__Value, (int) offsetof (struct X3D_VRML1_MaterialBinding, _Value),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_MatrixTransform[] = {
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_VRML1_MatrixTransform, value),  (int) FIELDTYPE_SFMatrix4f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Normal[] = {
	(int) FIELDNAMES_vector, (int) offsetof (struct X3D_VRML1_Normal, vector),  (int) FIELDTYPE_MFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_NormalBinding[] = {
	(int) FIELDNAMES__initialized, (int) offsetof (struct X3D_VRML1_NormalBinding, _initialized),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_value, (int) offsetof (struct X3D_VRML1_NormalBinding, value),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__Value, (int) offsetof (struct X3D_VRML1_NormalBinding, _Value),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_OrthographicCamera[] = {
	(int) FIELDNAMES_position, (int) offsetof (struct X3D_VRML1_OrthographicCamera, position),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_VRML1_OrthographicCamera, orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_focalDistance, (int) offsetof (struct X3D_VRML1_OrthographicCamera, focalDistance),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_height, (int) offsetof (struct X3D_VRML1_OrthographicCamera, height),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_PerspectiveCamera[] = {
	(int) FIELDNAMES_heightAngle, (int) offsetof (struct X3D_VRML1_PerspectiveCamera, heightAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_position, (int) offsetof (struct X3D_VRML1_PerspectiveCamera, position),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_VRML1_PerspectiveCamera, orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_focalDistance, (int) offsetof (struct X3D_VRML1_PerspectiveCamera, focalDistance),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_PointLight[] = {
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_VRML1_PointLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_VRML1_PointLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_location, (int) offsetof (struct X3D_VRML1_PointLight, location),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_VRML1_PointLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_PointSet[] = {
	(int) FIELDNAMES_startIndex, (int) offsetof (struct X3D_VRML1_PointSet, startIndex),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_numPoints, (int) offsetof (struct X3D_VRML1_PointSet, numPoints),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Rotation[] = {
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_VRML1_Rotation, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Scale[] = {
	(int) FIELDNAMES_scaleFactor, (int) offsetof (struct X3D_VRML1_Scale, scaleFactor),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Separator[] = {
	(int) FIELDNAMES_renderCulling, (int) offsetof (struct X3D_VRML1_Separator, renderCulling),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_VRML1children, (int) offsetof (struct X3D_VRML1_Separator, VRML1children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__sortedChildren, (int) offsetof (struct X3D_VRML1_Separator, _sortedChildren),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_ShapeHints[] = {
	(int) FIELDNAMES__faceValue, (int) offsetof (struct X3D_VRML1_ShapeHints, _faceValue),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_faceType, (int) offsetof (struct X3D_VRML1_ShapeHints, faceType),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__initialized, (int) offsetof (struct X3D_VRML1_ShapeHints, _initialized),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__typeValue, (int) offsetof (struct X3D_VRML1_ShapeHints, _typeValue),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_creaseAngle, (int) offsetof (struct X3D_VRML1_ShapeHints, creaseAngle),  (int) FIELDTYPE_SFDouble, (int) KW_initializeOnly, (int) SPEC_VRML1,
	(int) FIELDNAMES_vertexOrdering, (int) offsetof (struct X3D_VRML1_ShapeHints, vertexOrdering),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_shapeType, (int) offsetof (struct X3D_VRML1_ShapeHints, shapeType),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__vertValue, (int) offsetof (struct X3D_VRML1_ShapeHints, _vertValue),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Sphere[] = {
	(int) FIELDNAMES_radius, (int) offsetof (struct X3D_VRML1_Sphere, radius),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__ILS, (int) offsetof (struct X3D_VRML1_Sphere, _ILS),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_SpotLight[] = {
	(int) FIELDNAMES_on, (int) offsetof (struct X3D_VRML1_SpotLight, on),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_direction, (int) offsetof (struct X3D_VRML1_SpotLight, direction),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_color, (int) offsetof (struct X3D_VRML1_SpotLight, color),  (int) FIELDTYPE_SFColor, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_cutOffAngle, (int) offsetof (struct X3D_VRML1_SpotLight, cutOffAngle),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_location, (int) offsetof (struct X3D_VRML1_SpotLight, location),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_dropOffRate, (int) offsetof (struct X3D_VRML1_SpotLight, dropOffRate),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_intensity, (int) offsetof (struct X3D_VRML1_SpotLight, intensity),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Switch[] = {
	(int) FIELDNAMES_whichChild, (int) offsetof (struct X3D_VRML1_Switch, whichChild),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Texture2[] = {
	(int) FIELDNAMES_wrapS, (int) offsetof (struct X3D_VRML1_Texture2, wrapS),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES___textureTableIndex, (int) offsetof (struct X3D_VRML1_Texture2, __textureTableIndex),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_image, (int) offsetof (struct X3D_VRML1_Texture2, image),  (int) FIELDTYPE_SFImage, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_wrapT, (int) offsetof (struct X3D_VRML1_Texture2, wrapT),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__initialized, (int) offsetof (struct X3D_VRML1_Texture2, _initialized),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__wrapS, (int) offsetof (struct X3D_VRML1_Texture2, _wrapS),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES__wrapT, (int) offsetof (struct X3D_VRML1_Texture2, _wrapT),  (int) FIELDTYPE_SFInt32, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_filename, (int) offsetof (struct X3D_VRML1_Texture2, filename),  (int) FIELDTYPE_MFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES__parentResource, (int) offsetof (struct X3D_VRML1_Texture2, _parentResource),  (int) FIELDTYPE_FreeWRLPTR, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Texture2Transform[] = {
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_VRML1_Texture2Transform, rotation),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_scaleFactor, (int) offsetof (struct X3D_VRML1_Texture2Transform, scaleFactor),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_VRML1_Texture2Transform, translation),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_VRML1_Texture2Transform, center),  (int) FIELDTYPE_SFVec2f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_TextureCoordinate2[] = {
	(int) FIELDNAMES_point, (int) offsetof (struct X3D_VRML1_TextureCoordinate2, point),  (int) FIELDTYPE_MFVec2f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Transform[] = {
	(int) FIELDNAMES_rotation, (int) offsetof (struct X3D_VRML1_Transform, rotation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_scaleOrientation, (int) offsetof (struct X3D_VRML1_Transform, scaleOrientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_scaleFactor, (int) offsetof (struct X3D_VRML1_Transform, scaleFactor),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_VRML1_Transform, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_VRML1_Transform, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_Translation[] = {
	(int) FIELDNAMES_translation, (int) offsetof (struct X3D_VRML1_Translation, translation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_WWWAnchor[] = {
	(int) FIELDNAMES_map, (int) offsetof (struct X3D_VRML1_WWWAnchor, map),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_VRML1_WWWAnchor, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_VRML1_WWWAnchor, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_VRML1_WWWInline[] = {
	(int) FIELDNAMES_bboxCenter, (int) offsetof (struct X3D_VRML1_WWWInline, bboxCenter),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_name, (int) offsetof (struct X3D_VRML1_WWWInline, name),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) SPEC_VRML1,
	(int) FIELDNAMES_bboxSize, (int) offsetof (struct X3D_VRML1_WWWInline, bboxSize),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) SPEC_VRML1,
	-1, -1, -1, -1, -1};

const int OFFSETS_Viewpoint[] = {
	(int) FIELDNAMES_set_bind, (int) offsetof (struct X3D_Viewpoint, set_bind),  (int) FIELDTYPE_SFBool, (int) KW_inputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_orientation, (int) offsetof (struct X3D_Viewpoint, orientation),  (int) FIELDTYPE_SFRotation, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_position, (int) offsetof (struct X3D_Viewpoint, position),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_jump, (int) offsetof (struct X3D_Viewpoint, jump),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_retainUserOffsets, (int) offsetof (struct X3D_Viewpoint, retainUserOffsets),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_centerOfRotation, (int) offsetof (struct X3D_Viewpoint, centerOfRotation),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_Viewpoint, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_bindTime, (int) offsetof (struct X3D_Viewpoint, bindTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isBound, (int) offsetof (struct X3D_Viewpoint, isBound),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_fieldOfView, (int) offsetof (struct X3D_Viewpoint, fieldOfView),  (int) FIELDTYPE_SFFloat, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_Viewpoint, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_ViewpointGroup[] = {
	(int) FIELDNAMES_displayed, (int) offsetof (struct X3D_ViewpointGroup, displayed),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_children, (int) offsetof (struct X3D_ViewpointGroup, children),  (int) FIELDTYPE_MFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_retainUserOffsets, (int) offsetof (struct X3D_ViewpointGroup, retainUserOffsets),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_description, (int) offsetof (struct X3D_ViewpointGroup, description),  (int) FIELDTYPE_SFString, (int) KW_inputOutput, (int) (SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_ViewpointGroup, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_ViewpointGroup, size),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___proxNode, (int) offsetof (struct X3D_ViewpointGroup, __proxNode),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_ViewpointGroup, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int OFFSETS_VisibilitySensor[] = {
	(int) FIELDNAMES___visible, (int) offsetof (struct X3D_VisibilitySensor, __visible),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___oldEnabled, (int) offsetof (struct X3D_VisibilitySensor, __oldEnabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) 0,
	(int) FIELDNAMES_enterTime, (int) offsetof (struct X3D_VisibilitySensor, enterTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_isActive, (int) offsetof (struct X3D_VisibilitySensor, isActive),  (int) FIELDTYPE_SFBool, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___occludeCheckCount, (int) offsetof (struct X3D_VisibilitySensor, __occludeCheckCount),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES___points, (int) offsetof (struct X3D_VisibilitySensor, __points),  (int) FIELDTYPE_MFVec3f, (int) KW_initializeOnly, (int) 0,
	(int) FIELDNAMES_center, (int) offsetof (struct X3D_VisibilitySensor, center),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_size, (int) offsetof (struct X3D_VisibilitySensor, size),  (int) FIELDTYPE_SFVec3f, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_exitTime, (int) offsetof (struct X3D_VisibilitySensor, exitTime),  (int) FIELDTYPE_SFTime, (int) KW_outputOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_VisibilitySensor, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_enabled, (int) offsetof (struct X3D_VisibilitySensor, enabled),  (int) FIELDTYPE_SFBool, (int) KW_inputOutput, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES___Samples, (int) offsetof (struct X3D_VisibilitySensor, __Samples),  (int) FIELDTYPE_SFInt32, (int) KW_initializeOnly, (int) 0,
	-1, -1, -1, -1, -1};

const int OFFSETS_WorldInfo[] = {
	(int) FIELDNAMES_info, (int) offsetof (struct X3D_WorldInfo, info),  (int) FIELDTYPE_MFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_title, (int) offsetof (struct X3D_WorldInfo, title),  (int) FIELDTYPE_SFString, (int) KW_initializeOnly, (int) (SPEC_VRML | SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	(int) FIELDNAMES_metadata, (int) offsetof (struct X3D_WorldInfo, metadata),  (int) FIELDTYPE_SFNode, (int) KW_inputOutput, (int) (SPEC_X3D30 | SPEC_X3D31 | SPEC_X3D32 | SPEC_X3D33),
	-1, -1, -1, -1, -1};

const int *NODE_OFFSETS[] = {
	OFFSETS_Anchor,
	OFFSETS_Appearance,
	OFFSETS_Arc2D,
	OFFSETS_ArcClose2D,
	OFFSETS_AudioClip,
	OFFSETS_Background,
	OFFSETS_Billboard,
	OFFSETS_BooleanFilter,
	OFFSETS_BooleanSequencer,
	OFFSETS_BooleanToggle,
	OFFSETS_BooleanTrigger,
	OFFSETS_Box,
	OFFSETS_Circle2D,
	OFFSETS_ClipPlane,
	OFFSETS_Collision,
	OFFSETS_Color,
	OFFSETS_ColorInterpolator,
	OFFSETS_ColorRGBA,
	OFFSETS_ComposedCubeMapTexture,
	OFFSETS_ComposedShader,
	OFFSETS_Cone,
	OFFSETS_Contour2D,
	OFFSETS_ContourPolyLine2D,
	OFFSETS_Coordinate,
	OFFSETS_CoordinateInterpolator,
	OFFSETS_CoordinateInterpolator2D,
	OFFSETS_Cylinder,
	OFFSETS_CylinderSensor,
	OFFSETS_DISEntityManager,
	OFFSETS_DISEntityTypeMapping,
	OFFSETS_DirectionalLight,
	OFFSETS_Disk2D,
	OFFSETS_EaseInEaseOut,
	OFFSETS_ElevationGrid,
	OFFSETS_EspduTransform,
	OFFSETS_Extrusion,
	OFFSETS_FillProperties,
	OFFSETS_FloatVertexAttribute,
	OFFSETS_Fog,
	OFFSETS_FogCoordinate,
	OFFSETS_FontStyle,
	OFFSETS_GeneratedCubeMapTexture,
	OFFSETS_GeoCoordinate,
	OFFSETS_GeoElevationGrid,
	OFFSETS_GeoLOD,
	OFFSETS_GeoLocation,
	OFFSETS_GeoMetadata,
	OFFSETS_GeoOrigin,
	OFFSETS_GeoPositionInterpolator,
	OFFSETS_GeoProximitySensor,
	OFFSETS_GeoTouchSensor,
	OFFSETS_GeoTransform,
	OFFSETS_GeoViewpoint,
	OFFSETS_Group,
	OFFSETS_HAnimDisplacer,
	OFFSETS_HAnimHumanoid,
	OFFSETS_HAnimJoint,
	OFFSETS_HAnimSegment,
	OFFSETS_HAnimSite,
	OFFSETS_ImageCubeMapTexture,
	OFFSETS_ImageTexture,
	OFFSETS_IndexedFaceSet,
	OFFSETS_IndexedLineSet,
	OFFSETS_IndexedTriangleFanSet,
	OFFSETS_IndexedTriangleSet,
	OFFSETS_IndexedTriangleStripSet,
	OFFSETS_Inline,
	OFFSETS_IntegerSequencer,
	OFFSETS_IntegerTrigger,
	OFFSETS_KeySensor,
	OFFSETS_LOD,
	OFFSETS_LineProperties,
	OFFSETS_LineSet,
	OFFSETS_LoadSensor,
	OFFSETS_LocalFog,
	OFFSETS_Material,
	OFFSETS_Matrix3VertexAttribute,
	OFFSETS_Matrix4VertexAttribute,
	OFFSETS_MetadataDouble,
	OFFSETS_MetadataFloat,
	OFFSETS_MetadataInteger,
	OFFSETS_MetadataMFBool,
	OFFSETS_MetadataMFColor,
	OFFSETS_MetadataMFColorRGBA,
	OFFSETS_MetadataMFDouble,
	OFFSETS_MetadataMFFloat,
	OFFSETS_MetadataMFInt32,
	OFFSETS_MetadataMFMatrix3d,
	OFFSETS_MetadataMFMatrix3f,
	OFFSETS_MetadataMFMatrix4d,
	OFFSETS_MetadataMFMatrix4f,
	OFFSETS_MetadataMFNode,
	OFFSETS_MetadataMFRotation,
	OFFSETS_MetadataMFString,
	OFFSETS_MetadataMFTime,
	OFFSETS_MetadataMFVec2d,
	OFFSETS_MetadataMFVec2f,
	OFFSETS_MetadataMFVec3d,
	OFFSETS_MetadataMFVec3f,
	OFFSETS_MetadataMFVec4d,
	OFFSETS_MetadataMFVec4f,
	OFFSETS_MetadataSFBool,
	OFFSETS_MetadataSFColor,
	OFFSETS_MetadataSFColorRGBA,
	OFFSETS_MetadataSFDouble,
	OFFSETS_MetadataSFFloat,
	OFFSETS_MetadataSFImage,
	OFFSETS_MetadataSFInt32,
	OFFSETS_MetadataSFMatrix3d,
	OFFSETS_MetadataSFMatrix3f,
	OFFSETS_MetadataSFMatrix4d,
	OFFSETS_MetadataSFMatrix4f,
	OFFSETS_MetadataSFNode,
	OFFSETS_MetadataSFRotation,
	OFFSETS_MetadataSFString,
	OFFSETS_MetadataSFTime,
	OFFSETS_MetadataSFVec2d,
	OFFSETS_MetadataSFVec2f,
	OFFSETS_MetadataSFVec3d,
	OFFSETS_MetadataSFVec3f,
	OFFSETS_MetadataSFVec4d,
	OFFSETS_MetadataSFVec4f,
	OFFSETS_MetadataSet,
	OFFSETS_MetadataString,
	OFFSETS_MovieTexture,
	OFFSETS_MultiTexture,
	OFFSETS_MultiTextureCoordinate,
	OFFSETS_MultiTextureTransform,
	OFFSETS_NavigationInfo,
	OFFSETS_Normal,
	OFFSETS_NormalInterpolator,
	OFFSETS_NurbsCurve,
	OFFSETS_NurbsCurve2D,
	OFFSETS_NurbsGroup,
	OFFSETS_NurbsPositionInterpolator,
	OFFSETS_NurbsSurface,
	OFFSETS_NurbsTextureSurface,
	OFFSETS_NurbsTrimmedSurface,
	OFFSETS_OSC_Sensor,
	OFFSETS_OrientationInterpolator,
	OFFSETS_OrthoViewpoint,
	OFFSETS_PackagedShader,
	OFFSETS_PickableGroup,
	OFFSETS_PixelTexture,
	OFFSETS_PlaneSensor,
	OFFSETS_PointLight,
	OFFSETS_PointPickSensor,
	OFFSETS_PointSet,
	OFFSETS_Polyline2D,
	OFFSETS_Polypoint2D,
	OFFSETS_PositionInterpolator,
	OFFSETS_PositionInterpolator2D,
	OFFSETS_ProgramShader,
	OFFSETS_ProximitySensor,
	OFFSETS_ReceiverPdu,
	OFFSETS_Rectangle2D,
	OFFSETS_ScalarInterpolator,
	OFFSETS_Script,
	OFFSETS_ShaderPart,
	OFFSETS_ShaderProgram,
	OFFSETS_Shape,
	OFFSETS_SignalPdu,
	OFFSETS_Sound,
	OFFSETS_Sphere,
	OFFSETS_SphereSensor,
	OFFSETS_SplinePositionInterpolator,
	OFFSETS_SplinePositionInterpolator2D,
	OFFSETS_SplineScalarInterpolator,
	OFFSETS_SpotLight,
	OFFSETS_SquadOrientationInterpolator,
	OFFSETS_StaticGroup,
	OFFSETS_StringSensor,
	OFFSETS_Switch,
	OFFSETS_Text,
	OFFSETS_TextureBackground,
	OFFSETS_TextureCoordinate,
	OFFSETS_TextureCoordinateGenerator,
	OFFSETS_TextureProperties,
	OFFSETS_TextureTransform,
	OFFSETS_TimeSensor,
	OFFSETS_TimeTrigger,
	OFFSETS_TouchSensor,
	OFFSETS_Transform,
	OFFSETS_TransmitterPdu,
	OFFSETS_TriangleFanSet,
	OFFSETS_TriangleSet,
	OFFSETS_TriangleSet2D,
	OFFSETS_TriangleStripSet,
	OFFSETS_TwoSidedMaterial,
	OFFSETS_VRML1_AsciiText,
	OFFSETS_VRML1_Cone,
	OFFSETS_VRML1_Coordinate3,
	OFFSETS_VRML1_Cube,
	OFFSETS_VRML1_Cylinder,
	OFFSETS_VRML1_DirectionalLight,
	OFFSETS_VRML1_FontStyle,
	OFFSETS_VRML1_IndexedFaceSet,
	OFFSETS_VRML1_IndexedLineSet,
	OFFSETS_VRML1_Info,
	OFFSETS_VRML1_LOD,
	OFFSETS_VRML1_Material,
	OFFSETS_VRML1_MaterialBinding,
	OFFSETS_VRML1_MatrixTransform,
	OFFSETS_VRML1_Normal,
	OFFSETS_VRML1_NormalBinding,
	OFFSETS_VRML1_OrthographicCamera,
	OFFSETS_VRML1_PerspectiveCamera,
	OFFSETS_VRML1_PointLight,
	OFFSETS_VRML1_PointSet,
	OFFSETS_VRML1_Rotation,
	OFFSETS_VRML1_Scale,
	OFFSETS_VRML1_Separator,
	OFFSETS_VRML1_ShapeHints,
	OFFSETS_VRML1_Sphere,
	OFFSETS_VRML1_SpotLight,
	OFFSETS_VRML1_Switch,
	OFFSETS_VRML1_Texture2,
	OFFSETS_VRML1_Texture2Transform,
	OFFSETS_VRML1_TextureCoordinate2,
	OFFSETS_VRML1_Transform,
	OFFSETS_VRML1_Translation,
	OFFSETS_VRML1_WWWAnchor,
	OFFSETS_VRML1_WWWInline,
	OFFSETS_Viewpoint,
	OFFSETS_ViewpointGroup,
	OFFSETS_VisibilitySensor,
	OFFSETS_WorldInfo,
	};
/* Return a pointer to a string representation of the field type */
const char *stringFieldType (int st) {
	if ((st < 0) || (st >= FIELDNAMES_COUNT)) return "(fieldName invalid)"; 
	return FIELDNAMES[st];
}

/* Return a pointer to a string representation of the keyword type */
const char *stringKeywordType (int st) {
	if ((st < 0) || (st >= KEYWORDS_COUNT)) return "(keyword invalid)"; 
	return KEYWORDS[st];
}

/* Return a pointer to a string representation of the profile type */
const char *stringProfileType (int st) {
	if ((st < 0) || (st >= PROFILES_COUNT)) return "(profile invalid)"; 
	return PROFILES[st];
}

/* Return a pointer to a string representation of the component type */
const char *stringComponentType (int st) {
	if ((st < 0) || (st >= COMPONENTS_COUNT)) return "(component invalid)"; 
	return COMPONENTS[st];
}

/* Return a pointer to a string representation of the PROTO keyword type */
const char *stringPROTOKeywordType (int st) {
	if ((st < 0) || (st >= PROTOKEYWORDS_COUNT)) return "(proto keyword invalid)"; 
	return PROTOKEYWORDS[st];
}

/* Return a pointer to a string representation of the X3DSPECIAL keyword type */
const char *stringX3DSPECIALType (int st) {
	if ((st < 0) || (st >= X3DSPECIAL_COUNT)) return "(special keyword invalid)"; 
	return X3DSPECIAL[st];
}

/* Return a pointer to a string representation of the TEXTUREBOUNDARY keyword type */
const char *stringTEXTUREBOUNDARYKeywordType (int st) {
	if ((st < 0) || (st >= TEXTUREBOUNDARYKEYWORDS_COUNT)) return "(texture param keyword invalid)"; 
	return TEXTUREBOUNDARYKEYWORDS[st];
}

/* Return a pointer to a string representation of the TEXTUREMAGNIFICATION keyword type */
const char *stringTEXTUREMAGNIFICATIONKeywordType (int st) {
	if ((st < 0) || (st >= TEXTUREMAGNIFICATIONKEYWORDS_COUNT)) return "(texture param keyword invalid)"; 
	return TEXTUREMAGNIFICATIONKEYWORDS[st];
}

/* Return a pointer to a string representation of the TEXTUREMINIFICATION keyword type */
const char *stringTEXTUREMINIFICATIONKeywordType (int st) {
	if ((st < 0) || (st >= TEXTUREMINIFICATIONKEYWORDS_COUNT)) return "(texture param keyword invalid)"; 
	return TEXTUREMINIFICATIONKEYWORDS[st];
}

/* Return a pointer to a string representation of the TEXTURECOMPRESSION keyword type */
const char *stringTEXTURECOMPRESSIONKeywordType (int st) {
	if ((st < 0) || (st >= TEXTURECOMPRESSIONKEYWORDS_COUNT)) return "(texture param keyword invalid)"; 
	return TEXTURECOMPRESSIONKEYWORDS[st];
}

/* Return a pointer to a string representation of the VRML1Modifier keyword type */
const char *stringVRML1ModifierType (int st) {
	if ((st < 0) || (st >= VRML1Modifier_COUNT)) return "(VRML1 modifier invalid)"; 
	return VRML1Modifier[st];
}

/* Return a pointer to a string representation of the GEOSPATIAL keyword type */
const char *stringGEOSPATIALType (int st) {
	if ((st < 0) || (st >= GEOSPATIAL_COUNT)) return "(keyword invalid)"; 
	return GEOSPATIAL[st];
}

/* Return a pointer to a string representation of the VRML1_ keyword type */
const char *stringVRML1_Type (int st) {
	if ((st < 0) || (st >= VRML1__COUNT)) return "(VRML1 keyword invalid)"; 
	return VRML1_[st];
}

char mapFieldTypeToEAItype (int st) {
	switch (st) { 
		case FIELDTYPE_SFFloat:	return EAI_SFFloat;
		case FIELDTYPE_MFFloat:	return EAI_MFFloat;
		case FIELDTYPE_SFRotation:	return EAI_SFRotation;
		case FIELDTYPE_MFRotation:	return EAI_MFRotation;
		case FIELDTYPE_SFVec3f:	return EAI_SFVec3f;
		case FIELDTYPE_MFVec3f:	return EAI_MFVec3f;
		case FIELDTYPE_SFBool:	return EAI_SFBool;
		case FIELDTYPE_MFBool:	return EAI_MFBool;
		case FIELDTYPE_SFInt32:	return EAI_SFInt32;
		case FIELDTYPE_MFInt32:	return EAI_MFInt32;
		case FIELDTYPE_SFNode:	return EAI_SFNode;
		case FIELDTYPE_MFNode:	return EAI_MFNode;
		case FIELDTYPE_SFColor:	return EAI_SFColor;
		case FIELDTYPE_MFColor:	return EAI_MFColor;
		case FIELDTYPE_SFColorRGBA:	return EAI_SFColorRGBA;
		case FIELDTYPE_MFColorRGBA:	return EAI_MFColorRGBA;
		case FIELDTYPE_SFTime:	return EAI_SFTime;
		case FIELDTYPE_MFTime:	return EAI_MFTime;
		case FIELDTYPE_SFString:	return EAI_SFString;
		case FIELDTYPE_MFString:	return EAI_MFString;
		case FIELDTYPE_SFVec2f:	return EAI_SFVec2f;
		case FIELDTYPE_MFVec2f:	return EAI_MFVec2f;
		case FIELDTYPE_SFImage:	return EAI_SFImage;
		case FIELDTYPE_FreeWRLPTR:	return EAI_FreeWRLPTR;
		case FIELDTYPE_SFVec3d:	return EAI_SFVec3d;
		case FIELDTYPE_MFVec3d:	return EAI_MFVec3d;
		case FIELDTYPE_SFDouble:	return EAI_SFDouble;
		case FIELDTYPE_MFDouble:	return EAI_MFDouble;
		case FIELDTYPE_SFMatrix3f:	return EAI_SFMatrix3f;
		case FIELDTYPE_MFMatrix3f:	return EAI_MFMatrix3f;
		case FIELDTYPE_SFMatrix3d:	return EAI_SFMatrix3d;
		case FIELDTYPE_MFMatrix3d:	return EAI_MFMatrix3d;
		case FIELDTYPE_SFMatrix4f:	return EAI_SFMatrix4f;
		case FIELDTYPE_MFMatrix4f:	return EAI_MFMatrix4f;
		case FIELDTYPE_SFMatrix4d:	return EAI_SFMatrix4d;
		case FIELDTYPE_MFMatrix4d:	return EAI_MFMatrix4d;
		case FIELDTYPE_SFVec2d:	return EAI_SFVec2d;
		case FIELDTYPE_MFVec2d:	return EAI_MFVec2d;
		case FIELDTYPE_SFVec4f:	return EAI_SFVec4f;
		case FIELDTYPE_MFVec4f:	return EAI_MFVec4f;
		case FIELDTYPE_SFVec4d:	return EAI_SFVec4d;
		case FIELDTYPE_MFVec4d:	return EAI_MFVec4d;
		default: return -1;
	}
	return -1;
}
/* convert an EAI type to an internal type */
int mapEAItypeToFieldType (char st) {
	switch (st) { 
		case EAI_SFFloat:	return FIELDTYPE_SFFloat;
		case EAI_MFFloat:	return FIELDTYPE_MFFloat;
		case EAI_SFRotation:	return FIELDTYPE_SFRotation;
		case EAI_MFRotation:	return FIELDTYPE_MFRotation;
		case EAI_SFVec3f:	return FIELDTYPE_SFVec3f;
		case EAI_MFVec3f:	return FIELDTYPE_MFVec3f;
		case EAI_SFBool:	return FIELDTYPE_SFBool;
		case EAI_MFBool:	return FIELDTYPE_MFBool;
		case EAI_SFInt32:	return FIELDTYPE_SFInt32;
		case EAI_MFInt32:	return FIELDTYPE_MFInt32;
		case EAI_SFNode:	return FIELDTYPE_SFNode;
		case EAI_MFNode:	return FIELDTYPE_MFNode;
		case EAI_SFColor:	return FIELDTYPE_SFColor;
		case EAI_MFColor:	return FIELDTYPE_MFColor;
		case EAI_SFColorRGBA:	return FIELDTYPE_SFColorRGBA;
		case EAI_MFColorRGBA:	return FIELDTYPE_MFColorRGBA;
		case EAI_SFTime:	return FIELDTYPE_SFTime;
		case EAI_MFTime:	return FIELDTYPE_MFTime;
		case EAI_SFString:	return FIELDTYPE_SFString;
		case EAI_MFString:	return FIELDTYPE_MFString;
		case EAI_SFVec2f:	return FIELDTYPE_SFVec2f;
		case EAI_MFVec2f:	return FIELDTYPE_MFVec2f;
		case EAI_SFImage:	return FIELDTYPE_SFImage;
		case EAI_FreeWRLPTR:	return FIELDTYPE_FreeWRLPTR;
		case EAI_SFVec3d:	return FIELDTYPE_SFVec3d;
		case EAI_MFVec3d:	return FIELDTYPE_MFVec3d;
		case EAI_SFDouble:	return FIELDTYPE_SFDouble;
		case EAI_MFDouble:	return FIELDTYPE_MFDouble;
		case EAI_SFMatrix3f:	return FIELDTYPE_SFMatrix3f;
		case EAI_MFMatrix3f:	return FIELDTYPE_MFMatrix3f;
		case EAI_SFMatrix3d:	return FIELDTYPE_SFMatrix3d;
		case EAI_MFMatrix3d:	return FIELDTYPE_MFMatrix3d;
		case EAI_SFMatrix4f:	return FIELDTYPE_SFMatrix4f;
		case EAI_MFMatrix4f:	return FIELDTYPE_MFMatrix4f;
		case EAI_SFMatrix4d:	return FIELDTYPE_SFMatrix4d;
		case EAI_MFMatrix4d:	return FIELDTYPE_MFMatrix4d;
		case EAI_SFVec2d:	return FIELDTYPE_SFVec2d;
		case EAI_MFVec2d:	return FIELDTYPE_MFVec2d;
		case EAI_SFVec4f:	return FIELDTYPE_SFVec4f;
		case EAI_MFVec4f:	return FIELDTYPE_MFVec4f;
		case EAI_SFVec4d:	return FIELDTYPE_SFVec4d;
		case EAI_MFVec4d:	return FIELDTYPE_MFVec4d;
		default: return -1;
	}
	return -1;
}
/* convert an MF type to an SF type */
int convertToSFType (int st) {
	switch (st) { 
		case FIELDTYPE_SFFloat:	return FIELDTYPE_SFFloat;
		case FIELDTYPE_MFFloat:	return FIELDTYPE_SFFloat;
		case FIELDTYPE_SFRotation:	return FIELDTYPE_SFRotation;
		case FIELDTYPE_MFRotation:	return FIELDTYPE_SFRotation;
		case FIELDTYPE_SFVec3f:	return FIELDTYPE_SFVec3f;
		case FIELDTYPE_MFVec3f:	return FIELDTYPE_SFVec3f;
		case FIELDTYPE_SFBool:	return FIELDTYPE_SFBool;
		case FIELDTYPE_MFBool:	return FIELDTYPE_SFBool;
		case FIELDTYPE_SFInt32:	return FIELDTYPE_SFInt32;
		case FIELDTYPE_MFInt32:	return FIELDTYPE_SFInt32;
		case FIELDTYPE_SFNode:	return FIELDTYPE_SFNode;
		case FIELDTYPE_MFNode:	return FIELDTYPE_SFNode;
		case FIELDTYPE_SFColor:	return FIELDTYPE_SFColor;
		case FIELDTYPE_MFColor:	return FIELDTYPE_SFColor;
		case FIELDTYPE_SFColorRGBA:	return FIELDTYPE_SFColorRGBA;
		case FIELDTYPE_MFColorRGBA:	return FIELDTYPE_SFColorRGBA;
		case FIELDTYPE_SFTime:	return FIELDTYPE_SFTime;
		case FIELDTYPE_MFTime:	return FIELDTYPE_SFTime;
		case FIELDTYPE_SFString:	return FIELDTYPE_SFString;
		case FIELDTYPE_MFString:	return FIELDTYPE_SFString;
		case FIELDTYPE_SFVec2f:	return FIELDTYPE_SFVec2f;
		case FIELDTYPE_MFVec2f:	return FIELDTYPE_SFVec2f;
		case FIELDTYPE_SFImage:	return FIELDTYPE_SFImage;
		case FIELDTYPE_FreeWRLPTR:	return FIELDTYPE_FreeWRLPTR;
		case FIELDTYPE_SFVec3d:	return FIELDTYPE_SFVec3d;
		case FIELDTYPE_MFVec3d:	return FIELDTYPE_SFVec3d;
		case FIELDTYPE_SFDouble:	return FIELDTYPE_SFDouble;
		case FIELDTYPE_MFDouble:	return FIELDTYPE_SFDouble;
		case FIELDTYPE_SFMatrix3f:	return FIELDTYPE_SFMatrix3f;
		case FIELDTYPE_MFMatrix3f:	return FIELDTYPE_SFMatrix3f;
		case FIELDTYPE_SFMatrix3d:	return FIELDTYPE_SFMatrix3d;
		case FIELDTYPE_MFMatrix3d:	return FIELDTYPE_SFMatrix3d;
		case FIELDTYPE_SFMatrix4f:	return FIELDTYPE_SFMatrix4f;
		case FIELDTYPE_MFMatrix4f:	return FIELDTYPE_SFMatrix4f;
		case FIELDTYPE_SFMatrix4d:	return FIELDTYPE_SFMatrix4d;
		case FIELDTYPE_MFMatrix4d:	return FIELDTYPE_SFMatrix4d;
		case FIELDTYPE_SFVec2d:	return FIELDTYPE_SFVec2d;
		case FIELDTYPE_MFVec2d:	return FIELDTYPE_SFVec2d;
		case FIELDTYPE_SFVec4f:	return FIELDTYPE_SFVec4f;
		case FIELDTYPE_MFVec4f:	return FIELDTYPE_SFVec4f;
		case FIELDTYPE_SFVec4d:	return FIELDTYPE_SFVec4d;
		case FIELDTYPE_MFVec4d:	return FIELDTYPE_SFVec4d;
	}
	return -1;
}
/* Return a pointer to a string representation of the fieldtype type */
const char *stringFieldtypeType (int st) {
	if ((st < 0) || (st >= FIELDTYPES_COUNT)) return "(fieldType invalid)"; 
	return FIELDTYPES[st];
}

/* Return a pointer to a string representation of the node type */
const char *stringNodeType (int st) {
	if ((st < 0) || (st >= NODES_COUNT)) return "(node invalid)"; 
	return NODES[st];
}

/* create a new node of type. This can be generated by Perl code, much as the Structs.h is */
void *createNewX3DNode (int nt) {
	void * tmp;
	struct X3D_Box *node;

	tmp = NULL;
	switch (nt) {
		case NODE_Anchor : {tmp = MALLOC (struct X3D_Anchor *, sizeof (struct X3D_Anchor)); break;}
		case NODE_Appearance : {tmp = MALLOC (struct X3D_Appearance *, sizeof (struct X3D_Appearance)); break;}
		case NODE_Arc2D : {tmp = MALLOC (struct X3D_Arc2D *, sizeof (struct X3D_Arc2D)); break;}
		case NODE_ArcClose2D : {tmp = MALLOC (struct X3D_ArcClose2D *, sizeof (struct X3D_ArcClose2D)); break;}
		case NODE_AudioClip : {tmp = MALLOC (struct X3D_AudioClip *, sizeof (struct X3D_AudioClip)); break;}
		case NODE_Background : {tmp = MALLOC (struct X3D_Background *, sizeof (struct X3D_Background)); break;}
		case NODE_Billboard : {tmp = MALLOC (struct X3D_Billboard *, sizeof (struct X3D_Billboard)); break;}
		case NODE_BooleanFilter : {tmp = MALLOC (struct X3D_BooleanFilter *, sizeof (struct X3D_BooleanFilter)); break;}
		case NODE_BooleanSequencer : {tmp = MALLOC (struct X3D_BooleanSequencer *, sizeof (struct X3D_BooleanSequencer)); break;}
		case NODE_BooleanToggle : {tmp = MALLOC (struct X3D_BooleanToggle *, sizeof (struct X3D_BooleanToggle)); break;}
		case NODE_BooleanTrigger : {tmp = MALLOC (struct X3D_BooleanTrigger *, sizeof (struct X3D_BooleanTrigger)); break;}
		case NODE_Box : {tmp = MALLOC (struct X3D_Box *, sizeof (struct X3D_Box)); break;}
		case NODE_Circle2D : {tmp = MALLOC (struct X3D_Circle2D *, sizeof (struct X3D_Circle2D)); break;}
		case NODE_ClipPlane : {tmp = MALLOC (struct X3D_ClipPlane *, sizeof (struct X3D_ClipPlane)); break;}
		case NODE_Collision : {tmp = MALLOC (struct X3D_Collision *, sizeof (struct X3D_Collision)); break;}
		case NODE_Color : {tmp = MALLOC (struct X3D_Color *, sizeof (struct X3D_Color)); break;}
		case NODE_ColorInterpolator : {tmp = MALLOC (struct X3D_ColorInterpolator *, sizeof (struct X3D_ColorInterpolator)); break;}
		case NODE_ColorRGBA : {tmp = MALLOC (struct X3D_ColorRGBA *, sizeof (struct X3D_ColorRGBA)); break;}
		case NODE_ComposedCubeMapTexture : {tmp = MALLOC (struct X3D_ComposedCubeMapTexture *, sizeof (struct X3D_ComposedCubeMapTexture)); break;}
		case NODE_ComposedShader : {tmp = MALLOC (struct X3D_ComposedShader *, sizeof (struct X3D_ComposedShader)); break;}
		case NODE_Cone : {tmp = MALLOC (struct X3D_Cone *, sizeof (struct X3D_Cone)); break;}
		case NODE_Contour2D : {tmp = MALLOC (struct X3D_Contour2D *, sizeof (struct X3D_Contour2D)); break;}
		case NODE_ContourPolyLine2D : {tmp = MALLOC (struct X3D_ContourPolyLine2D *, sizeof (struct X3D_ContourPolyLine2D)); break;}
		case NODE_Coordinate : {tmp = MALLOC (struct X3D_Coordinate *, sizeof (struct X3D_Coordinate)); break;}
		case NODE_CoordinateInterpolator : {tmp = MALLOC (struct X3D_CoordinateInterpolator *, sizeof (struct X3D_CoordinateInterpolator)); break;}
		case NODE_CoordinateInterpolator2D : {tmp = MALLOC (struct X3D_CoordinateInterpolator2D *, sizeof (struct X3D_CoordinateInterpolator2D)); break;}
		case NODE_Cylinder : {tmp = MALLOC (struct X3D_Cylinder *, sizeof (struct X3D_Cylinder)); break;}
		case NODE_CylinderSensor : {tmp = MALLOC (struct X3D_CylinderSensor *, sizeof (struct X3D_CylinderSensor)); break;}
		case NODE_DISEntityManager : {tmp = MALLOC (struct X3D_DISEntityManager *, sizeof (struct X3D_DISEntityManager)); break;}
		case NODE_DISEntityTypeMapping : {tmp = MALLOC (struct X3D_DISEntityTypeMapping *, sizeof (struct X3D_DISEntityTypeMapping)); break;}
		case NODE_DirectionalLight : {tmp = MALLOC (struct X3D_DirectionalLight *, sizeof (struct X3D_DirectionalLight)); break;}
		case NODE_Disk2D : {tmp = MALLOC (struct X3D_Disk2D *, sizeof (struct X3D_Disk2D)); break;}
		case NODE_EaseInEaseOut : {tmp = MALLOC (struct X3D_EaseInEaseOut *, sizeof (struct X3D_EaseInEaseOut)); break;}
		case NODE_ElevationGrid : {tmp = MALLOC (struct X3D_ElevationGrid *, sizeof (struct X3D_ElevationGrid)); break;}
		case NODE_EspduTransform : {tmp = MALLOC (struct X3D_EspduTransform *, sizeof (struct X3D_EspduTransform)); break;}
		case NODE_Extrusion : {tmp = MALLOC (struct X3D_Extrusion *, sizeof (struct X3D_Extrusion)); break;}
		case NODE_FillProperties : {tmp = MALLOC (struct X3D_FillProperties *, sizeof (struct X3D_FillProperties)); break;}
		case NODE_FloatVertexAttribute : {tmp = MALLOC (struct X3D_FloatVertexAttribute *, sizeof (struct X3D_FloatVertexAttribute)); break;}
		case NODE_Fog : {tmp = MALLOC (struct X3D_Fog *, sizeof (struct X3D_Fog)); break;}
		case NODE_FogCoordinate : {tmp = MALLOC (struct X3D_FogCoordinate *, sizeof (struct X3D_FogCoordinate)); break;}
		case NODE_FontStyle : {tmp = MALLOC (struct X3D_FontStyle *, sizeof (struct X3D_FontStyle)); break;}
		case NODE_GeneratedCubeMapTexture : {tmp = MALLOC (struct X3D_GeneratedCubeMapTexture *, sizeof (struct X3D_GeneratedCubeMapTexture)); break;}
		case NODE_GeoCoordinate : {tmp = MALLOC (struct X3D_GeoCoordinate *, sizeof (struct X3D_GeoCoordinate)); break;}
		case NODE_GeoElevationGrid : {tmp = MALLOC (struct X3D_GeoElevationGrid *, sizeof (struct X3D_GeoElevationGrid)); break;}
		case NODE_GeoLOD : {tmp = MALLOC (struct X3D_GeoLOD *, sizeof (struct X3D_GeoLOD)); break;}
		case NODE_GeoLocation : {tmp = MALLOC (struct X3D_GeoLocation *, sizeof (struct X3D_GeoLocation)); break;}
		case NODE_GeoMetadata : {tmp = MALLOC (struct X3D_GeoMetadata *, sizeof (struct X3D_GeoMetadata)); break;}
		case NODE_GeoOrigin : {tmp = MALLOC (struct X3D_GeoOrigin *, sizeof (struct X3D_GeoOrigin)); break;}
		case NODE_GeoPositionInterpolator : {tmp = MALLOC (struct X3D_GeoPositionInterpolator *, sizeof (struct X3D_GeoPositionInterpolator)); break;}
		case NODE_GeoProximitySensor : {tmp = MALLOC (struct X3D_GeoProximitySensor *, sizeof (struct X3D_GeoProximitySensor)); break;}
		case NODE_GeoTouchSensor : {tmp = MALLOC (struct X3D_GeoTouchSensor *, sizeof (struct X3D_GeoTouchSensor)); break;}
		case NODE_GeoTransform : {tmp = MALLOC (struct X3D_GeoTransform *, sizeof (struct X3D_GeoTransform)); break;}
		case NODE_GeoViewpoint : {tmp = MALLOC (struct X3D_GeoViewpoint *, sizeof (struct X3D_GeoViewpoint)); break;}
		case NODE_Group : {tmp = MALLOC (struct X3D_Group *, sizeof (struct X3D_Group)); break;}
		case NODE_HAnimDisplacer : {tmp = MALLOC (struct X3D_HAnimDisplacer *, sizeof (struct X3D_HAnimDisplacer)); break;}
		case NODE_HAnimHumanoid : {tmp = MALLOC (struct X3D_HAnimHumanoid *, sizeof (struct X3D_HAnimHumanoid)); break;}
		case NODE_HAnimJoint : {tmp = MALLOC (struct X3D_HAnimJoint *, sizeof (struct X3D_HAnimJoint)); break;}
		case NODE_HAnimSegment : {tmp = MALLOC (struct X3D_HAnimSegment *, sizeof (struct X3D_HAnimSegment)); break;}
		case NODE_HAnimSite : {tmp = MALLOC (struct X3D_HAnimSite *, sizeof (struct X3D_HAnimSite)); break;}
		case NODE_ImageCubeMapTexture : {tmp = MALLOC (struct X3D_ImageCubeMapTexture *, sizeof (struct X3D_ImageCubeMapTexture)); break;}
		case NODE_ImageTexture : {tmp = MALLOC (struct X3D_ImageTexture *, sizeof (struct X3D_ImageTexture)); break;}
		case NODE_IndexedFaceSet : {tmp = MALLOC (struct X3D_IndexedFaceSet *, sizeof (struct X3D_IndexedFaceSet)); break;}
		case NODE_IndexedLineSet : {tmp = MALLOC (struct X3D_IndexedLineSet *, sizeof (struct X3D_IndexedLineSet)); break;}
		case NODE_IndexedTriangleFanSet : {tmp = MALLOC (struct X3D_IndexedTriangleFanSet *, sizeof (struct X3D_IndexedTriangleFanSet)); break;}
		case NODE_IndexedTriangleSet : {tmp = MALLOC (struct X3D_IndexedTriangleSet *, sizeof (struct X3D_IndexedTriangleSet)); break;}
		case NODE_IndexedTriangleStripSet : {tmp = MALLOC (struct X3D_IndexedTriangleStripSet *, sizeof (struct X3D_IndexedTriangleStripSet)); break;}
		case NODE_Inline : {tmp = MALLOC (struct X3D_Inline *, sizeof (struct X3D_Inline)); break;}
		case NODE_IntegerSequencer : {tmp = MALLOC (struct X3D_IntegerSequencer *, sizeof (struct X3D_IntegerSequencer)); break;}
		case NODE_IntegerTrigger : {tmp = MALLOC (struct X3D_IntegerTrigger *, sizeof (struct X3D_IntegerTrigger)); break;}
		case NODE_KeySensor : {tmp = MALLOC (struct X3D_KeySensor *, sizeof (struct X3D_KeySensor)); break;}
		case NODE_LOD : {tmp = MALLOC (struct X3D_LOD *, sizeof (struct X3D_LOD)); break;}
		case NODE_LineProperties : {tmp = MALLOC (struct X3D_LineProperties *, sizeof (struct X3D_LineProperties)); break;}
		case NODE_LineSet : {tmp = MALLOC (struct X3D_LineSet *, sizeof (struct X3D_LineSet)); break;}
		case NODE_LoadSensor : {tmp = MALLOC (struct X3D_LoadSensor *, sizeof (struct X3D_LoadSensor)); break;}
		case NODE_LocalFog : {tmp = MALLOC (struct X3D_LocalFog *, sizeof (struct X3D_LocalFog)); break;}
		case NODE_Material : {tmp = MALLOC (struct X3D_Material *, sizeof (struct X3D_Material)); break;}
		case NODE_Matrix3VertexAttribute : {tmp = MALLOC (struct X3D_Matrix3VertexAttribute *, sizeof (struct X3D_Matrix3VertexAttribute)); break;}
		case NODE_Matrix4VertexAttribute : {tmp = MALLOC (struct X3D_Matrix4VertexAttribute *, sizeof (struct X3D_Matrix4VertexAttribute)); break;}
		case NODE_MetadataDouble : {tmp = MALLOC (struct X3D_MetadataDouble *, sizeof (struct X3D_MetadataDouble)); break;}
		case NODE_MetadataFloat : {tmp = MALLOC (struct X3D_MetadataFloat *, sizeof (struct X3D_MetadataFloat)); break;}
		case NODE_MetadataInteger : {tmp = MALLOC (struct X3D_MetadataInteger *, sizeof (struct X3D_MetadataInteger)); break;}
		case NODE_MetadataMFBool : {tmp = MALLOC (struct X3D_MetadataMFBool *, sizeof (struct X3D_MetadataMFBool)); break;}
		case NODE_MetadataMFColor : {tmp = MALLOC (struct X3D_MetadataMFColor *, sizeof (struct X3D_MetadataMFColor)); break;}
		case NODE_MetadataMFColorRGBA : {tmp = MALLOC (struct X3D_MetadataMFColorRGBA *, sizeof (struct X3D_MetadataMFColorRGBA)); break;}
		case NODE_MetadataMFDouble : {tmp = MALLOC (struct X3D_MetadataMFDouble *, sizeof (struct X3D_MetadataMFDouble)); break;}
		case NODE_MetadataMFFloat : {tmp = MALLOC (struct X3D_MetadataMFFloat *, sizeof (struct X3D_MetadataMFFloat)); break;}
		case NODE_MetadataMFInt32 : {tmp = MALLOC (struct X3D_MetadataMFInt32 *, sizeof (struct X3D_MetadataMFInt32)); break;}
		case NODE_MetadataMFMatrix3d : {tmp = MALLOC (struct X3D_MetadataMFMatrix3d *, sizeof (struct X3D_MetadataMFMatrix3d)); break;}
		case NODE_MetadataMFMatrix3f : {tmp = MALLOC (struct X3D_MetadataMFMatrix3f *, sizeof (struct X3D_MetadataMFMatrix3f)); break;}
		case NODE_MetadataMFMatrix4d : {tmp = MALLOC (struct X3D_MetadataMFMatrix4d *, sizeof (struct X3D_MetadataMFMatrix4d)); break;}
		case NODE_MetadataMFMatrix4f : {tmp = MALLOC (struct X3D_MetadataMFMatrix4f *, sizeof (struct X3D_MetadataMFMatrix4f)); break;}
		case NODE_MetadataMFNode : {tmp = MALLOC (struct X3D_MetadataMFNode *, sizeof (struct X3D_MetadataMFNode)); break;}
		case NODE_MetadataMFRotation : {tmp = MALLOC (struct X3D_MetadataMFRotation *, sizeof (struct X3D_MetadataMFRotation)); break;}
		case NODE_MetadataMFString : {tmp = MALLOC (struct X3D_MetadataMFString *, sizeof (struct X3D_MetadataMFString)); break;}
		case NODE_MetadataMFTime : {tmp = MALLOC (struct X3D_MetadataMFTime *, sizeof (struct X3D_MetadataMFTime)); break;}
		case NODE_MetadataMFVec2d : {tmp = MALLOC (struct X3D_MetadataMFVec2d *, sizeof (struct X3D_MetadataMFVec2d)); break;}
		case NODE_MetadataMFVec2f : {tmp = MALLOC (struct X3D_MetadataMFVec2f *, sizeof (struct X3D_MetadataMFVec2f)); break;}
		case NODE_MetadataMFVec3d : {tmp = MALLOC (struct X3D_MetadataMFVec3d *, sizeof (struct X3D_MetadataMFVec3d)); break;}
		case NODE_MetadataMFVec3f : {tmp = MALLOC (struct X3D_MetadataMFVec3f *, sizeof (struct X3D_MetadataMFVec3f)); break;}
		case NODE_MetadataMFVec4d : {tmp = MALLOC (struct X3D_MetadataMFVec4d *, sizeof (struct X3D_MetadataMFVec4d)); break;}
		case NODE_MetadataMFVec4f : {tmp = MALLOC (struct X3D_MetadataMFVec4f *, sizeof (struct X3D_MetadataMFVec4f)); break;}
		case NODE_MetadataSFBool : {tmp = MALLOC (struct X3D_MetadataSFBool *, sizeof (struct X3D_MetadataSFBool)); break;}
		case NODE_MetadataSFColor : {tmp = MALLOC (struct X3D_MetadataSFColor *, sizeof (struct X3D_MetadataSFColor)); break;}
		case NODE_MetadataSFColorRGBA : {tmp = MALLOC (struct X3D_MetadataSFColorRGBA *, sizeof (struct X3D_MetadataSFColorRGBA)); break;}
		case NODE_MetadataSFDouble : {tmp = MALLOC (struct X3D_MetadataSFDouble *, sizeof (struct X3D_MetadataSFDouble)); break;}
		case NODE_MetadataSFFloat : {tmp = MALLOC (struct X3D_MetadataSFFloat *, sizeof (struct X3D_MetadataSFFloat)); break;}
		case NODE_MetadataSFImage : {tmp = MALLOC (struct X3D_MetadataSFImage *, sizeof (struct X3D_MetadataSFImage)); break;}
		case NODE_MetadataSFInt32 : {tmp = MALLOC (struct X3D_MetadataSFInt32 *, sizeof (struct X3D_MetadataSFInt32)); break;}
		case NODE_MetadataSFMatrix3d : {tmp = MALLOC (struct X3D_MetadataSFMatrix3d *, sizeof (struct X3D_MetadataSFMatrix3d)); break;}
		case NODE_MetadataSFMatrix3f : {tmp = MALLOC (struct X3D_MetadataSFMatrix3f *, sizeof (struct X3D_MetadataSFMatrix3f)); break;}
		case NODE_MetadataSFMatrix4d : {tmp = MALLOC (struct X3D_MetadataSFMatrix4d *, sizeof (struct X3D_MetadataSFMatrix4d)); break;}
		case NODE_MetadataSFMatrix4f : {tmp = MALLOC (struct X3D_MetadataSFMatrix4f *, sizeof (struct X3D_MetadataSFMatrix4f)); break;}
		case NODE_MetadataSFNode : {tmp = MALLOC (struct X3D_MetadataSFNode *, sizeof (struct X3D_MetadataSFNode)); break;}
		case NODE_MetadataSFRotation : {tmp = MALLOC (struct X3D_MetadataSFRotation *, sizeof (struct X3D_MetadataSFRotation)); break;}
		case NODE_MetadataSFString : {tmp = MALLOC (struct X3D_MetadataSFString *, sizeof (struct X3D_MetadataSFString)); break;}
		case NODE_MetadataSFTime : {tmp = MALLOC (struct X3D_MetadataSFTime *, sizeof (struct X3D_MetadataSFTime)); break;}
		case NODE_MetadataSFVec2d : {tmp = MALLOC (struct X3D_MetadataSFVec2d *, sizeof (struct X3D_MetadataSFVec2d)); break;}
		case NODE_MetadataSFVec2f : {tmp = MALLOC (struct X3D_MetadataSFVec2f *, sizeof (struct X3D_MetadataSFVec2f)); break;}
		case NODE_MetadataSFVec3d : {tmp = MALLOC (struct X3D_MetadataSFVec3d *, sizeof (struct X3D_MetadataSFVec3d)); break;}
		case NODE_MetadataSFVec3f : {tmp = MALLOC (struct X3D_MetadataSFVec3f *, sizeof (struct X3D_MetadataSFVec3f)); break;}
		case NODE_MetadataSFVec4d : {tmp = MALLOC (struct X3D_MetadataSFVec4d *, sizeof (struct X3D_MetadataSFVec4d)); break;}
		case NODE_MetadataSFVec4f : {tmp = MALLOC (struct X3D_MetadataSFVec4f *, sizeof (struct X3D_MetadataSFVec4f)); break;}
		case NODE_MetadataSet : {tmp = MALLOC (struct X3D_MetadataSet *, sizeof (struct X3D_MetadataSet)); break;}
		case NODE_MetadataString : {tmp = MALLOC (struct X3D_MetadataString *, sizeof (struct X3D_MetadataString)); break;}
		case NODE_MovieTexture : {tmp = MALLOC (struct X3D_MovieTexture *, sizeof (struct X3D_MovieTexture)); break;}
		case NODE_MultiTexture : {tmp = MALLOC (struct X3D_MultiTexture *, sizeof (struct X3D_MultiTexture)); break;}
		case NODE_MultiTextureCoordinate : {tmp = MALLOC (struct X3D_MultiTextureCoordinate *, sizeof (struct X3D_MultiTextureCoordinate)); break;}
		case NODE_MultiTextureTransform : {tmp = MALLOC (struct X3D_MultiTextureTransform *, sizeof (struct X3D_MultiTextureTransform)); break;}
		case NODE_NavigationInfo : {tmp = MALLOC (struct X3D_NavigationInfo *, sizeof (struct X3D_NavigationInfo)); break;}
		case NODE_Normal : {tmp = MALLOC (struct X3D_Normal *, sizeof (struct X3D_Normal)); break;}
		case NODE_NormalInterpolator : {tmp = MALLOC (struct X3D_NormalInterpolator *, sizeof (struct X3D_NormalInterpolator)); break;}
		case NODE_NurbsCurve : {tmp = MALLOC (struct X3D_NurbsCurve *, sizeof (struct X3D_NurbsCurve)); break;}
		case NODE_NurbsCurve2D : {tmp = MALLOC (struct X3D_NurbsCurve2D *, sizeof (struct X3D_NurbsCurve2D)); break;}
		case NODE_NurbsGroup : {tmp = MALLOC (struct X3D_NurbsGroup *, sizeof (struct X3D_NurbsGroup)); break;}
		case NODE_NurbsPositionInterpolator : {tmp = MALLOC (struct X3D_NurbsPositionInterpolator *, sizeof (struct X3D_NurbsPositionInterpolator)); break;}
		case NODE_NurbsSurface : {tmp = MALLOC (struct X3D_NurbsSurface *, sizeof (struct X3D_NurbsSurface)); break;}
		case NODE_NurbsTextureSurface : {tmp = MALLOC (struct X3D_NurbsTextureSurface *, sizeof (struct X3D_NurbsTextureSurface)); break;}
		case NODE_NurbsTrimmedSurface : {tmp = MALLOC (struct X3D_NurbsTrimmedSurface *, sizeof (struct X3D_NurbsTrimmedSurface)); break;}
		case NODE_OSC_Sensor : {tmp = MALLOC (struct X3D_OSC_Sensor *, sizeof (struct X3D_OSC_Sensor)); break;}
		case NODE_OrientationInterpolator : {tmp = MALLOC (struct X3D_OrientationInterpolator *, sizeof (struct X3D_OrientationInterpolator)); break;}
		case NODE_OrthoViewpoint : {tmp = MALLOC (struct X3D_OrthoViewpoint *, sizeof (struct X3D_OrthoViewpoint)); break;}
		case NODE_PackagedShader : {tmp = MALLOC (struct X3D_PackagedShader *, sizeof (struct X3D_PackagedShader)); break;}
		case NODE_PickableGroup : {tmp = MALLOC (struct X3D_PickableGroup *, sizeof (struct X3D_PickableGroup)); break;}
		case NODE_PixelTexture : {tmp = MALLOC (struct X3D_PixelTexture *, sizeof (struct X3D_PixelTexture)); break;}
		case NODE_PlaneSensor : {tmp = MALLOC (struct X3D_PlaneSensor *, sizeof (struct X3D_PlaneSensor)); break;}
		case NODE_PointLight : {tmp = MALLOC (struct X3D_PointLight *, sizeof (struct X3D_PointLight)); break;}
		case NODE_PointPickSensor : {tmp = MALLOC (struct X3D_PointPickSensor *, sizeof (struct X3D_PointPickSensor)); break;}
		case NODE_PointSet : {tmp = MALLOC (struct X3D_PointSet *, sizeof (struct X3D_PointSet)); break;}
		case NODE_Polyline2D : {tmp = MALLOC (struct X3D_Polyline2D *, sizeof (struct X3D_Polyline2D)); break;}
		case NODE_Polypoint2D : {tmp = MALLOC (struct X3D_Polypoint2D *, sizeof (struct X3D_Polypoint2D)); break;}
		case NODE_PositionInterpolator : {tmp = MALLOC (struct X3D_PositionInterpolator *, sizeof (struct X3D_PositionInterpolator)); break;}
		case NODE_PositionInterpolator2D : {tmp = MALLOC (struct X3D_PositionInterpolator2D *, sizeof (struct X3D_PositionInterpolator2D)); break;}
		case NODE_ProgramShader : {tmp = MALLOC (struct X3D_ProgramShader *, sizeof (struct X3D_ProgramShader)); break;}
		case NODE_ProximitySensor : {tmp = MALLOC (struct X3D_ProximitySensor *, sizeof (struct X3D_ProximitySensor)); break;}
		case NODE_ReceiverPdu : {tmp = MALLOC (struct X3D_ReceiverPdu *, sizeof (struct X3D_ReceiverPdu)); break;}
		case NODE_Rectangle2D : {tmp = MALLOC (struct X3D_Rectangle2D *, sizeof (struct X3D_Rectangle2D)); break;}
		case NODE_ScalarInterpolator : {tmp = MALLOC (struct X3D_ScalarInterpolator *, sizeof (struct X3D_ScalarInterpolator)); break;}
		case NODE_Script : {tmp = MALLOC (struct X3D_Script *, sizeof (struct X3D_Script)); break;}
		case NODE_ShaderPart : {tmp = MALLOC (struct X3D_ShaderPart *, sizeof (struct X3D_ShaderPart)); break;}
		case NODE_ShaderProgram : {tmp = MALLOC (struct X3D_ShaderProgram *, sizeof (struct X3D_ShaderProgram)); break;}
		case NODE_Shape : {tmp = MALLOC (struct X3D_Shape *, sizeof (struct X3D_Shape)); break;}
		case NODE_SignalPdu : {tmp = MALLOC (struct X3D_SignalPdu *, sizeof (struct X3D_SignalPdu)); break;}
		case NODE_Sound : {tmp = MALLOC (struct X3D_Sound *, sizeof (struct X3D_Sound)); break;}
		case NODE_Sphere : {tmp = MALLOC (struct X3D_Sphere *, sizeof (struct X3D_Sphere)); break;}
		case NODE_SphereSensor : {tmp = MALLOC (struct X3D_SphereSensor *, sizeof (struct X3D_SphereSensor)); break;}
		case NODE_SplinePositionInterpolator : {tmp = MALLOC (struct X3D_SplinePositionInterpolator *, sizeof (struct X3D_SplinePositionInterpolator)); break;}
		case NODE_SplinePositionInterpolator2D : {tmp = MALLOC (struct X3D_SplinePositionInterpolator2D *, sizeof (struct X3D_SplinePositionInterpolator2D)); break;}
		case NODE_SplineScalarInterpolator : {tmp = MALLOC (struct X3D_SplineScalarInterpolator *, sizeof (struct X3D_SplineScalarInterpolator)); break;}
		case NODE_SpotLight : {tmp = MALLOC (struct X3D_SpotLight *, sizeof (struct X3D_SpotLight)); break;}
		case NODE_SquadOrientationInterpolator : {tmp = MALLOC (struct X3D_SquadOrientationInterpolator *, sizeof (struct X3D_SquadOrientationInterpolator)); break;}
		case NODE_StaticGroup : {tmp = MALLOC (struct X3D_StaticGroup *, sizeof (struct X3D_StaticGroup)); break;}
		case NODE_StringSensor : {tmp = MALLOC (struct X3D_StringSensor *, sizeof (struct X3D_StringSensor)); break;}
		case NODE_Switch : {tmp = MALLOC (struct X3D_Switch *, sizeof (struct X3D_Switch)); break;}
		case NODE_Text : {tmp = MALLOC (struct X3D_Text *, sizeof (struct X3D_Text)); break;}
		case NODE_TextureBackground : {tmp = MALLOC (struct X3D_TextureBackground *, sizeof (struct X3D_TextureBackground)); break;}
		case NODE_TextureCoordinate : {tmp = MALLOC (struct X3D_TextureCoordinate *, sizeof (struct X3D_TextureCoordinate)); break;}
		case NODE_TextureCoordinateGenerator : {tmp = MALLOC (struct X3D_TextureCoordinateGenerator *, sizeof (struct X3D_TextureCoordinateGenerator)); break;}
		case NODE_TextureProperties : {tmp = MALLOC (struct X3D_TextureProperties *, sizeof (struct X3D_TextureProperties)); break;}
		case NODE_TextureTransform : {tmp = MALLOC (struct X3D_TextureTransform *, sizeof (struct X3D_TextureTransform)); break;}
		case NODE_TimeSensor : {tmp = MALLOC (struct X3D_TimeSensor *, sizeof (struct X3D_TimeSensor)); break;}
		case NODE_TimeTrigger : {tmp = MALLOC (struct X3D_TimeTrigger *, sizeof (struct X3D_TimeTrigger)); break;}
		case NODE_TouchSensor : {tmp = MALLOC (struct X3D_TouchSensor *, sizeof (struct X3D_TouchSensor)); break;}
		case NODE_Transform : {tmp = MALLOC (struct X3D_Transform *, sizeof (struct X3D_Transform)); break;}
		case NODE_TransmitterPdu : {tmp = MALLOC (struct X3D_TransmitterPdu *, sizeof (struct X3D_TransmitterPdu)); break;}
		case NODE_TriangleFanSet : {tmp = MALLOC (struct X3D_TriangleFanSet *, sizeof (struct X3D_TriangleFanSet)); break;}
		case NODE_TriangleSet : {tmp = MALLOC (struct X3D_TriangleSet *, sizeof (struct X3D_TriangleSet)); break;}
		case NODE_TriangleSet2D : {tmp = MALLOC (struct X3D_TriangleSet2D *, sizeof (struct X3D_TriangleSet2D)); break;}
		case NODE_TriangleStripSet : {tmp = MALLOC (struct X3D_TriangleStripSet *, sizeof (struct X3D_TriangleStripSet)); break;}
		case NODE_TwoSidedMaterial : {tmp = MALLOC (struct X3D_TwoSidedMaterial *, sizeof (struct X3D_TwoSidedMaterial)); break;}
		case NODE_VRML1_AsciiText : {tmp = MALLOC (struct X3D_VRML1_AsciiText *, sizeof (struct X3D_VRML1_AsciiText)); break;}
		case NODE_VRML1_Cone : {tmp = MALLOC (struct X3D_VRML1_Cone *, sizeof (struct X3D_VRML1_Cone)); break;}
		case NODE_VRML1_Coordinate3 : {tmp = MALLOC (struct X3D_VRML1_Coordinate3 *, sizeof (struct X3D_VRML1_Coordinate3)); break;}
		case NODE_VRML1_Cube : {tmp = MALLOC (struct X3D_VRML1_Cube *, sizeof (struct X3D_VRML1_Cube)); break;}
		case NODE_VRML1_Cylinder : {tmp = MALLOC (struct X3D_VRML1_Cylinder *, sizeof (struct X3D_VRML1_Cylinder)); break;}
		case NODE_VRML1_DirectionalLight : {tmp = MALLOC (struct X3D_VRML1_DirectionalLight *, sizeof (struct X3D_VRML1_DirectionalLight)); break;}
		case NODE_VRML1_FontStyle : {tmp = MALLOC (struct X3D_VRML1_FontStyle *, sizeof (struct X3D_VRML1_FontStyle)); break;}
		case NODE_VRML1_IndexedFaceSet : {tmp = MALLOC (struct X3D_VRML1_IndexedFaceSet *, sizeof (struct X3D_VRML1_IndexedFaceSet)); break;}
		case NODE_VRML1_IndexedLineSet : {tmp = MALLOC (struct X3D_VRML1_IndexedLineSet *, sizeof (struct X3D_VRML1_IndexedLineSet)); break;}
		case NODE_VRML1_Info : {tmp = MALLOC (struct X3D_VRML1_Info *, sizeof (struct X3D_VRML1_Info)); break;}
		case NODE_VRML1_LOD : {tmp = MALLOC (struct X3D_VRML1_LOD *, sizeof (struct X3D_VRML1_LOD)); break;}
		case NODE_VRML1_Material : {tmp = MALLOC (struct X3D_VRML1_Material *, sizeof (struct X3D_VRML1_Material)); break;}
		case NODE_VRML1_MaterialBinding : {tmp = MALLOC (struct X3D_VRML1_MaterialBinding *, sizeof (struct X3D_VRML1_MaterialBinding)); break;}
		case NODE_VRML1_MatrixTransform : {tmp = MALLOC (struct X3D_VRML1_MatrixTransform *, sizeof (struct X3D_VRML1_MatrixTransform)); break;}
		case NODE_VRML1_Normal : {tmp = MALLOC (struct X3D_VRML1_Normal *, sizeof (struct X3D_VRML1_Normal)); break;}
		case NODE_VRML1_NormalBinding : {tmp = MALLOC (struct X3D_VRML1_NormalBinding *, sizeof (struct X3D_VRML1_NormalBinding)); break;}
		case NODE_VRML1_OrthographicCamera : {tmp = MALLOC (struct X3D_VRML1_OrthographicCamera *, sizeof (struct X3D_VRML1_OrthographicCamera)); break;}
		case NODE_VRML1_PerspectiveCamera : {tmp = MALLOC (struct X3D_VRML1_PerspectiveCamera *, sizeof (struct X3D_VRML1_PerspectiveCamera)); break;}
		case NODE_VRML1_PointLight : {tmp = MALLOC (struct X3D_VRML1_PointLight *, sizeof (struct X3D_VRML1_PointLight)); break;}
		case NODE_VRML1_PointSet : {tmp = MALLOC (struct X3D_VRML1_PointSet *, sizeof (struct X3D_VRML1_PointSet)); break;}
		case NODE_VRML1_Rotation : {tmp = MALLOC (struct X3D_VRML1_Rotation *, sizeof (struct X3D_VRML1_Rotation)); break;}
		case NODE_VRML1_Scale : {tmp = MALLOC (struct X3D_VRML1_Scale *, sizeof (struct X3D_VRML1_Scale)); break;}
		case NODE_VRML1_Separator : {tmp = MALLOC (struct X3D_VRML1_Separator *, sizeof (struct X3D_VRML1_Separator)); break;}
		case NODE_VRML1_ShapeHints : {tmp = MALLOC (struct X3D_VRML1_ShapeHints *, sizeof (struct X3D_VRML1_ShapeHints)); break;}
		case NODE_VRML1_Sphere : {tmp = MALLOC (struct X3D_VRML1_Sphere *, sizeof (struct X3D_VRML1_Sphere)); break;}
		case NODE_VRML1_SpotLight : {tmp = MALLOC (struct X3D_VRML1_SpotLight *, sizeof (struct X3D_VRML1_SpotLight)); break;}
		case NODE_VRML1_Switch : {tmp = MALLOC (struct X3D_VRML1_Switch *, sizeof (struct X3D_VRML1_Switch)); break;}
		case NODE_VRML1_Texture2 : {tmp = MALLOC (struct X3D_VRML1_Texture2 *, sizeof (struct X3D_VRML1_Texture2)); break;}
		case NODE_VRML1_Texture2Transform : {tmp = MALLOC (struct X3D_VRML1_Texture2Transform *, sizeof (struct X3D_VRML1_Texture2Transform)); break;}
		case NODE_VRML1_TextureCoordinate2 : {tmp = MALLOC (struct X3D_VRML1_TextureCoordinate2 *, sizeof (struct X3D_VRML1_TextureCoordinate2)); break;}
		case NODE_VRML1_Transform : {tmp = MALLOC (struct X3D_VRML1_Transform *, sizeof (struct X3D_VRML1_Transform)); break;}
		case NODE_VRML1_Translation : {tmp = MALLOC (struct X3D_VRML1_Translation *, sizeof (struct X3D_VRML1_Translation)); break;}
		case NODE_VRML1_WWWAnchor : {tmp = MALLOC (struct X3D_VRML1_WWWAnchor *, sizeof (struct X3D_VRML1_WWWAnchor)); break;}
		case NODE_VRML1_WWWInline : {tmp = MALLOC (struct X3D_VRML1_WWWInline *, sizeof (struct X3D_VRML1_WWWInline)); break;}
		case NODE_Viewpoint : {tmp = MALLOC (struct X3D_Viewpoint *, sizeof (struct X3D_Viewpoint)); break;}
		case NODE_ViewpointGroup : {tmp = MALLOC (struct X3D_ViewpointGroup *, sizeof (struct X3D_ViewpointGroup)); break;}
		case NODE_VisibilitySensor : {tmp = MALLOC (struct X3D_VisibilitySensor *, sizeof (struct X3D_VisibilitySensor)); break;}
		case NODE_WorldInfo : {tmp = MALLOC (struct X3D_WorldInfo *, sizeof (struct X3D_WorldInfo)); break;}
		default: {printf ("createNewX3DNode = unknown type %d, this will fail\n",nt); return NULL;}
	}

	/* now, fill in the node to DEFAULT values This mimics "alloc_struct" in the Perl code. */
	/* the common stuff between all nodes. We'll use a X3D_Box struct, just because. It is used
	   in this way throughought the code */
	node = (struct X3D_Box *) tmp;
	node->_renderFlags = 0; /*sensitive, etc */
	node->_hit = 0;
	node->_change = NODE_CHANGE_INIT_VAL; 
	node->_parentVector = newVector(struct X3D_Node*, 1);
	node->_ichange = 0;
	node->_dist = -10000.0; /*sorting for blending */
	INITIALIZE_EXTENT
	node->_intern = 0;
	node->_nodeType = nt; /* unique integer for each type */
	node->referenceCount = 1; /* we have requested this, we want it! */
	
	/* now, fill in the node specific stuff here. the defaults are in VRMLNodes.pm */
	switch (nt) {
		case NODE_Anchor : {
			struct X3D_Anchor * tmp2;
			tmp2 = (struct X3D_Anchor *) tmp;
		/* ttmp2->v = &virt_Anchor;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->description = newASCIIString("");
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->parameter.n=0; tmp2->parameter.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->_parentResource = getInputResource();
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Appearance : {
			struct X3D_Appearance * tmp2;
			tmp2 = (struct X3D_Appearance *) tmp;
		/* ttmp2->v = &virt_Appearance;*/ 
			tmp2->lineProperties = NULL;
			tmp2->shaders.n=0; tmp2->shaders.p=0;
			tmp2->textureTransform = NULL;
			tmp2->fillProperties = NULL;
			tmp2->metadata = NULL;
			tmp2->material = NULL;
			tmp2->texture = NULL;
			tmp2->_defaultContainer = FIELDNAMES_appearance;
		break;
		}
		case NODE_Arc2D : {
			struct X3D_Arc2D * tmp2;
			tmp2 = (struct X3D_Arc2D *) tmp;
		/* ttmp2->v = &virt_Arc2D;*/ 
			tmp2->endAngle = 1.5707f;
			tmp2->__numPoints = 0;
			tmp2->startAngle = 0.0f;
			tmp2->radius = 1.0f;
			tmp2->metadata = NULL;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_ArcClose2D : {
			struct X3D_ArcClose2D * tmp2;
			tmp2 = (struct X3D_ArcClose2D *) tmp;
		/* ttmp2->v = &virt_ArcClose2D;*/ 
			tmp2->endAngle = 1.5707f;
			tmp2->solid = FALSE;
			tmp2->__numPoints = 0;
			tmp2->radius = 1.0f;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->startAngle = 0.0f;
			tmp2->metadata = NULL;
			tmp2->closureType = newASCIIString("PIE");
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_AudioClip : {
			struct X3D_AudioClip * tmp2;
			tmp2 = (struct X3D_AudioClip *) tmp;
		/* ttmp2->v = &virt_AudioClip;*/ 
			tmp2->__localFileName = 0;
			tmp2->__inittime = 0;
			tmp2->loop = FALSE;
			tmp2->resumeTime = 0;
			tmp2->isPaused = TRUE;
			tmp2->duration_changed = -1;
			tmp2->pauseTime = 0;
			tmp2->pitch = 1.0f;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->startTime = 0;
			tmp2->metadata = NULL;
			tmp2->isActive = FALSE;
			tmp2->__sourceNumber = -1;
			tmp2->description = newASCIIString("");
			tmp2->elapsedTime = 0;
			tmp2->stopTime = 0;
			tmp2->_parentResource = getInputResource();
			tmp2->_defaultContainer = FIELDNAMES_source;
		break;
		}
		case NODE_Background : {
			struct X3D_Background * tmp2;
			tmp2 = (struct X3D_Background *) tmp;
		/* ttmp2->v = &virt_Background;*/ 
			tmp2->rightUrl.n=0; tmp2->rightUrl.p=0;
			tmp2->topUrl.n=0; tmp2->topUrl.p=0;
			tmp2->__colours.n=0; tmp2->__colours.p=0;
			tmp2->__leftTexture = NULL;
			tmp2->isBound = FALSE;
			tmp2->backUrl.n=0; tmp2->backUrl.p=0;
			tmp2->groundColor.n=0; tmp2->groundColor.p=0;
			tmp2->leftUrl.n=0; tmp2->leftUrl.p=0;
			tmp2->__bottomTexture = NULL;
			tmp2->__quadcount = 0;
			tmp2->__textureright = 0;
			tmp2->metadata = NULL;
			tmp2->__frontTexture = NULL;
			tmp2->__topTexture = NULL;
			tmp2->__VBO = 0;
			tmp2->transparency = 0.0f;
			tmp2->set_bind = 0;
			tmp2->bottomUrl.n=0; tmp2->bottomUrl.p=0;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->bindTime = 0;
			tmp2->__rightTexture = NULL;
			tmp2->__backTexture = NULL;
			tmp2->frontUrl.n=0; tmp2->frontUrl.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->skyAngle.n=0; tmp2->skyAngle.p=0;
			tmp2->skyColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->skyColor.p[0].c[0] = 0.0f; 
			tmp2->skyColor.p[0].c[1] = 0.0f; 
			tmp2->skyColor.p[0].c[2] = 0.0f; 
			tmp2->skyColor.n=1;;
			tmp2->groundAngle.n=0; tmp2->groundAngle.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Billboard : {
			struct X3D_Billboard * tmp2;
			tmp2 = (struct X3D_Billboard *) tmp;
		/* ttmp2->v = &virt_Billboard;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->_rotationAngle = 0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->axisOfRotation.c[0] = 0.0f;tmp2->axisOfRotation.c[1] = 1.0f;tmp2->axisOfRotation.c[2] = 0.0f;;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_BooleanFilter : {
			struct X3D_BooleanFilter * tmp2;
			tmp2 = (struct X3D_BooleanFilter *) tmp;
		/* ttmp2->v = &virt_BooleanFilter;*/ 
			tmp2->inputNegate = FALSE;
			tmp2->set_boolean = 0;
			tmp2->inputTrue = TRUE;
			tmp2->metadata = NULL;
			tmp2->inputFalse = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_BooleanSequencer : {
			struct X3D_BooleanSequencer * tmp2;
			tmp2 = (struct X3D_BooleanSequencer *) tmp;
		/* ttmp2->v = &virt_BooleanSequencer;*/ 
			tmp2->previous = 0;
			tmp2->set_fraction = 0.0f;
			tmp2->next = 0;
			tmp2->value_changed = FALSE;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_BooleanToggle : {
			struct X3D_BooleanToggle * tmp2;
			tmp2 = (struct X3D_BooleanToggle *) tmp;
		/* ttmp2->v = &virt_BooleanToggle;*/ 
			tmp2->set_boolean = 0;
			tmp2->toggle = FALSE;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_BooleanTrigger : {
			struct X3D_BooleanTrigger * tmp2;
			tmp2 = (struct X3D_BooleanTrigger *) tmp;
		/* ttmp2->v = &virt_BooleanTrigger;*/ 
			tmp2->triggerTrue = FALSE;
			tmp2->metadata = NULL;
			tmp2->set_triggerTime = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Box : {
			struct X3D_Box * tmp2;
			tmp2 = (struct X3D_Box *) tmp;
		/* ttmp2->v = &virt_Box;*/ 
			tmp2->solid = TRUE;
			tmp2->metadata = NULL;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->size.c[0] = 2.0f;tmp2->size.c[1] = 2.0f;tmp2->size.c[2] = 2.0f;;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Circle2D : {
			struct X3D_Circle2D * tmp2;
			tmp2 = (struct X3D_Circle2D *) tmp;
		/* ttmp2->v = &virt_Circle2D;*/ 
			tmp2->__numPoints = 0;
			tmp2->radius = 1.0f;
			tmp2->metadata = NULL;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_ClipPlane : {
			struct X3D_ClipPlane * tmp2;
			tmp2 = (struct X3D_ClipPlane *) tmp;
		/* ttmp2->v = &virt_ClipPlane;*/ 
			tmp2->plane.c[0] = 0;tmp2->plane.c[1] = 1;tmp2->plane.c[2] = 0;tmp2->plane.c[3] = 0;;
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Collision : {
			struct X3D_Collision * tmp2;
			tmp2 = (struct X3D_Collision *) tmp;
		/* ttmp2->v = &virt_Collision;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->__hit = 0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->proxy = NULL;
			tmp2->collideTime = -1;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->collide = TRUE;
			tmp2->enabled = TRUE;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Color : {
			struct X3D_Color * tmp2;
			tmp2 = (struct X3D_Color *) tmp;
		/* ttmp2->v = &virt_Color;*/ 
			tmp2->color.n=0; tmp2->color.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_color;
		break;
		}
		case NODE_ColorInterpolator : {
			struct X3D_ColorInterpolator * tmp2;
			tmp2 = (struct X3D_ColorInterpolator *) tmp;
		/* ttmp2->v = &virt_ColorInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;tmp2->value_changed.c[2] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ColorRGBA : {
			struct X3D_ColorRGBA * tmp2;
			tmp2 = (struct X3D_ColorRGBA *) tmp;
		/* ttmp2->v = &virt_ColorRGBA;*/ 
			tmp2->color.n=0; tmp2->color.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_color;
		break;
		}
		case NODE_ComposedCubeMapTexture : {
			struct X3D_ComposedCubeMapTexture * tmp2;
			tmp2 = (struct X3D_ComposedCubeMapTexture *) tmp;
		/* ttmp2->v = &virt_ComposedCubeMapTexture;*/ 
			tmp2->left = NULL;
			tmp2->right = NULL;
			tmp2->top = NULL;
			tmp2->front = NULL;
			tmp2->_parentResource = getInputResource();
			tmp2->back = NULL;
			tmp2->metadata = NULL;
			tmp2->bottom = NULL;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_ComposedShader : {
			struct X3D_ComposedShader * tmp2;
			tmp2 = (struct X3D_ComposedShader *) tmp;
		/* ttmp2->v = &virt_ComposedShader;*/ 
			tmp2->language = newASCIIString("");
			tmp2->isValid = TRUE;
			tmp2->__shaderObj = NULL;
			tmp2->activate = 0;
			tmp2->__shaderIDS.n=0; tmp2->__shaderIDS.p=0;
			tmp2->isSelected = TRUE;
			tmp2->parts.n=0; tmp2->parts.p=0;
			tmp2->metadata = NULL;
			tmp2->__initialized = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_shaders;
		break;
		}
		case NODE_Cone : {
			struct X3D_Cone * tmp2;
			tmp2 = (struct X3D_Cone *) tmp;
		/* ttmp2->v = &virt_Cone;*/ 
			tmp2->solid = TRUE;
			tmp2->__sidepoints.n=0; tmp2->__sidepoints.p=0;
			tmp2->__coneTriangles = 0;
			tmp2->bottomRadius = 1.0f;
			tmp2->bottom = TRUE;
			tmp2->height = 2.0f;
			tmp2->__botpoints.n=0; tmp2->__botpoints.p=0;
			tmp2->__coneVBO = 0;
			tmp2->side = TRUE;
			tmp2->__normals.n=0; tmp2->__normals.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Contour2D : {
			struct X3D_Contour2D * tmp2;
			tmp2 = (struct X3D_Contour2D *) tmp;
		/* ttmp2->v = &virt_Contour2D;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->metadata = NULL;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_ContourPolyLine2D : {
			struct X3D_ContourPolyLine2D * tmp2;
			tmp2 = (struct X3D_ContourPolyLine2D *) tmp;
		/* ttmp2->v = &virt_ContourPolyLine2D;*/ 
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Coordinate : {
			struct X3D_Coordinate * tmp2;
			tmp2 = (struct X3D_Coordinate *) tmp;
		/* ttmp2->v = &virt_Coordinate;*/ 
			tmp2->point.n=0; tmp2->point.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_coord;
		break;
		}
		case NODE_CoordinateInterpolator : {
			struct X3D_CoordinateInterpolator * tmp2;
			tmp2 = (struct X3D_CoordinateInterpolator *) tmp;
		/* ttmp2->v = &virt_CoordinateInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.n=0; tmp2->value_changed.p=0;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_CoordinateInterpolator2D : {
			struct X3D_CoordinateInterpolator2D * tmp2;
			tmp2 = (struct X3D_CoordinateInterpolator2D *) tmp;
		/* ttmp2->v = &virt_CoordinateInterpolator2D;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.p = MALLOC (struct SFVec2f *, sizeof(struct SFVec2f)*1);
			tmp2->value_changed.p[0].c[0] = 0.0f; 
			tmp2->value_changed.p[0].c[1] = 0.0f; 
			tmp2->value_changed.n=1;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Cylinder : {
			struct X3D_Cylinder * tmp2;
			tmp2 = (struct X3D_Cylinder *) tmp;
		/* ttmp2->v = &virt_Cylinder;*/ 
			tmp2->solid = TRUE;
			tmp2->__cylinderTriangles = 0;
			tmp2->radius = 1.0f;
			tmp2->bottom = TRUE;
			tmp2->height = 2.0f;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->side = TRUE;
			tmp2->top = TRUE;
			tmp2->__cylinderVBO = 0;
			tmp2->metadata = NULL;
			tmp2->__normals.n=0; tmp2->__normals.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_CylinderSensor : {
			struct X3D_CylinderSensor * tmp2;
			tmp2 = (struct X3D_CylinderSensor *) tmp;
		/* ttmp2->v = &virt_CylinderSensor;*/ 
			tmp2->_oldtrackPoint.c[0] = 0.0f;tmp2->_oldtrackPoint.c[1] = 0.0f;tmp2->_oldtrackPoint.c[2] = 0.0f;;
			tmp2->_oldrotation.c[0] = 0;tmp2->_oldrotation.c[1] = 0;tmp2->_oldrotation.c[2] = 1;tmp2->_oldrotation.c[3] = 0;;
			tmp2->autoOffset = TRUE;
			tmp2->rotation_changed.c[0] = 0;tmp2->rotation_changed.c[1] = 0;tmp2->rotation_changed.c[2] = 1;tmp2->rotation_changed.c[3] = 0;;
			tmp2->minAngle = 0.0f;
			tmp2->_origPoint.c[0] = 0.0f;tmp2->_origPoint.c[1] = 0.0f;tmp2->_origPoint.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->diskAngle = 0.262f;
			tmp2->offset = 0.0f;
			tmp2->enabled = TRUE;
			tmp2->__oldEnabled = TRUE;
			tmp2->maxAngle = -1.0f;
			tmp2->isOver = FALSE;
			tmp2->trackPoint_changed.c[0] = 0.0f;tmp2->trackPoint_changed.c[1] = 0.0f;tmp2->trackPoint_changed.c[2] = 0.0f;;
			tmp2->isActive = FALSE;
			tmp2->_dlchange = 0;
			tmp2->description = newASCIIString("");
			tmp2->_radius = 0.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_DISEntityManager : {
			struct X3D_DISEntityManager * tmp2;
			tmp2 = (struct X3D_DISEntityManager *) tmp;
		/* ttmp2->v = &virt_DISEntityManager;*/ 
			tmp2->applicationID = 1;
			tmp2->mapping.n=0; tmp2->mapping.p=0;
			tmp2->port = 0;
			tmp2->siteID = 0;
			tmp2->addedEntities.n=0; tmp2->addedEntities.p=0;
			tmp2->removedEntities.n=0; tmp2->removedEntities.p=0;
			tmp2->address = newASCIIString("localhost");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_DISEntityTypeMapping : {
			struct X3D_DISEntityTypeMapping * tmp2;
			tmp2 = (struct X3D_DISEntityTypeMapping *) tmp;
		/* ttmp2->v = &virt_DISEntityTypeMapping;*/ 
			tmp2->country = 0;
			tmp2->specific = 0;
			tmp2->subcategory = 0;
			tmp2->domain = 0;
			tmp2->kind = 0;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->extra = 0;
			tmp2->metadata = NULL;
			tmp2->category = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_DirectionalLight : {
			struct X3D_DirectionalLight * tmp2;
			tmp2 = (struct X3D_DirectionalLight *) tmp;
		/* ttmp2->v = &virt_DirectionalLight;*/ 
			tmp2->direction.c[0] = 0.0f;tmp2->direction.c[1] = 0.0f;tmp2->direction.c[2] = -1.0f;;
			tmp2->on = TRUE;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->global = FALSE;
			tmp2->intensity = 1.0f;
			tmp2->metadata = NULL;
			tmp2->ambientIntensity = 0.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Disk2D : {
			struct X3D_Disk2D * tmp2;
			tmp2 = (struct X3D_Disk2D *) tmp;
		/* ttmp2->v = &virt_Disk2D;*/ 
			tmp2->solid = FALSE;
			tmp2->__numPoints = 0;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->outerRadius = 1.0f;
			tmp2->__texCoords = 0;
			tmp2->metadata = NULL;
			tmp2->innerRadius = 0.0f;
			tmp2->__simpleDisk = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_EaseInEaseOut : {
			struct X3D_EaseInEaseOut * tmp2;
			tmp2 = (struct X3D_EaseInEaseOut *) tmp;
		/* ttmp2->v = &virt_EaseInEaseOut;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->modifiedFraction_changed = 0.0f;
			tmp2->easeInEaseOut.n=0; tmp2->easeInEaseOut.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ElevationGrid : {
			struct X3D_ElevationGrid * tmp2;
			tmp2 = (struct X3D_ElevationGrid *) tmp;
		/* ttmp2->v = &virt_ElevationGrid;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->set_height.n=0; tmp2->set_height.p=0;
			tmp2->xSpacing = 1.0f;
			tmp2->zDimension = 0;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->creaseAngle = 0.0f;
			tmp2->metadata = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->zSpacing = 1.0f;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->height.n=0; tmp2->height.p=0;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->xDimension = 0;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_EspduTransform : {
			struct X3D_EspduTransform * tmp2;
			tmp2 = (struct X3D_EspduTransform *) tmp;
		/* ttmp2->v = &virt_EspduTransform;*/ 
			tmp2->isStandAlone = FALSE;
			tmp2->articulationParameterChangeIndicatorArr.n=0; tmp2->articulationParameterChangeIndicatorArr.p=0;
			tmp2->firingRate = 0;
			tmp2->set_articulationParameterValue2 = 0.0f;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->entitySpecific = 0;
			tmp2->eventNumber = 0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->detonationLocation.c[0] = 0.0f;tmp2->detonationLocation.c[1] = 0.0f;tmp2->detonationLocation.c[2] = 0.0f;;
			tmp2->isRtpHeaderHeard = FALSE;
			tmp2->set_articulationParameterValue0 = 0.0f;
			tmp2->fireMissionIndex = 0;
			tmp2->warhead = 0;
			tmp2->entityCategory = 0;
			tmp2->entityExtra = 0;
			tmp2->munitionSiteID = 0;
			tmp2->enabled = TRUE;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->articulationParameterValue3_changed = 0.0f;
			tmp2->firingRange = 0.0f;
			tmp2->detonationRelativeLocation.c[0] = 0.0f;tmp2->detonationRelativeLocation.c[1] = 0.0f;tmp2->detonationRelativeLocation.c[2] = 0.0f;;
			tmp2->set_articulationParameterValue7 = 0.0f;
			tmp2->set_articulationParameterValue3 = 0.0f;
			tmp2->articulationParameterCount = 0;
			tmp2->set_articulationParameterValue4 = 0.0f;
			tmp2->fuse = 0;
			tmp2->linearVelocity.c[0] = 0.0f;tmp2->linearVelocity.c[1] = 0.0f;tmp2->linearVelocity.c[2] = 0.0f;;
			tmp2->deadReckoning = 0;
			tmp2->entityDomain = 0;
			tmp2->isNetworkWriter = FALSE;
			tmp2->siteID = 0;
			tmp2->detonationResult = 0;
			tmp2->timestamp = 0;
			tmp2->networkMode = newASCIIString("standAlone");
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->readInterval = 0.1;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->linearAcceleration.c[0] = 0.0f;tmp2->linearAcceleration.c[1] = 0.0f;tmp2->linearAcceleration.c[2] = 0.0f;;
			tmp2->detonateTime = 0;
			tmp2->entityKind = 0;
			tmp2->marking = newASCIIString("");
			tmp2->munitionStartPoint.c[0] = 0.0f;tmp2->munitionStartPoint.c[1] = 0.0f;tmp2->munitionStartPoint.c[2] = 0.0f;;
			tmp2->entityCountry = 0;
			tmp2->set_articulationParameterValue5 = 0.0f;
			tmp2->isNetworkReader = FALSE;
			tmp2->eventEntityID = 0;
			tmp2->articulationParameterValue1_changed = 0.0f;
			tmp2->rtpHeaderExpected = FALSE;
			tmp2->articulationParameterArray.n=0; tmp2->articulationParameterArray.p=0;
			tmp2->isCollided = FALSE;
			tmp2->articulationParameterValue5_changed = 0.0f;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->address = newASCIIString("localhost");
			tmp2->articulationParameterTypeArray.n=0; tmp2->articulationParameterTypeArray.p=0;
			tmp2->metadata = NULL;
			tmp2->firedTime = 0;
			tmp2->multicastRelayPort = 0;
			tmp2->munitionApplicationID = 1;
			tmp2->articulationParameterValue6_changed = 0.0f;
			tmp2->articulationParameterIdPartAttachedToAr.n=0; tmp2->articulationParameterIdPartAttachedToAr.p=0;
			tmp2->fired1 = FALSE;
			tmp2->multicastRelayHost = newASCIIString("");
			tmp2->port = 0;
			tmp2->set_articulationParameterValue1 = 0.0f;
			tmp2->forceID = 0;
			tmp2->articulationParameterDesignatorArray.n=0; tmp2->articulationParameterDesignatorArray.p=0;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->writeInterval = 1;
			tmp2->eventSiteID = 0;
			tmp2->entityID = 0;
			tmp2->collideTime = 0;
			tmp2->fired2 = FALSE;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->isDetonated = FALSE;
			tmp2->munitionEntityID = 0;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->munitionEndPoint.c[0] = 0.0f;tmp2->munitionEndPoint.c[1] = 0.0f;tmp2->munitionEndPoint.c[2] = 0.0f;;
			tmp2->eventApplicationID = 1;
			tmp2->applicationID = 1;
			tmp2->entitySubCategory = 0;
			tmp2->isActive = FALSE;
			tmp2->munitionQuantity = 0;
			tmp2->articulationParameterValue7_changed = 0.0f;
			tmp2->articulationParameterValue0_changed = 0.0f;
			tmp2->articulationParameterValue2_changed = 0.0f;
			tmp2->articulationParameterValue4_changed = 0.0f;
			tmp2->set_articulationParameterValue6 = 0.0f;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->collisionType = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Extrusion : {
			struct X3D_Extrusion * tmp2;
			tmp2 = (struct X3D_Extrusion *) tmp;
		/* ttmp2->v = &virt_Extrusion;*/ 
			tmp2->beginCap = TRUE;
			tmp2->convex = TRUE;
			tmp2->solid = TRUE;
			tmp2->set_scale.n=0; tmp2->set_scale.p=0;
			tmp2->crossSection.p = MALLOC (struct SFVec2f *, sizeof(struct SFVec2f)*5);
			tmp2->crossSection.p[0].c[0] = 1.0f; 
			tmp2->crossSection.p[0].c[1] = 1.0f; 
			tmp2->crossSection.p[1].c[0] = 1.0f; 
			tmp2->crossSection.p[1].c[1] = -1.0f; 
			tmp2->crossSection.p[2].c[0] = -1.0f; 
			tmp2->crossSection.p[2].c[1] = -1.0f; 
			tmp2->crossSection.p[3].c[0] = -1.0f; 
			tmp2->crossSection.p[3].c[1] = 1.0f; 
			tmp2->crossSection.p[4].c[0] = 1.0f; 
			tmp2->crossSection.p[4].c[1] = 1.0f; 
			tmp2->crossSection.n=5;
			tmp2->orientation.p = MALLOC (struct SFRotation *, sizeof(struct SFRotation)*1);

			tmp2->orientation.p[0].c[0] = 0.0f; 
			tmp2->orientation.p[0].c[1] = 0.0f; 
			tmp2->orientation.p[0].c[2] = 1.0f; 
			tmp2->orientation.p[0].c[3] = 0.0f; 
			tmp2->orientation.n=1;;
			tmp2->ccw = TRUE;
			tmp2->set_crossSection.n=0; tmp2->set_crossSection.p=0;
			tmp2->endCap = TRUE;
			tmp2->creaseAngle = 0.0f;
			tmp2->set_spine.n=0; tmp2->set_spine.p=0;
			tmp2->spine.p = MALLOC (struct SFVec3f *, sizeof(struct SFVec3f)*2);

			tmp2->spine.p[0].c[0] = 0.0f; 
			tmp2->spine.p[0].c[1] = 0.0f; 
			tmp2->spine.p[0].c[2] = 0.0f; 
			tmp2->spine.p[1].c[0] = 0.0f; 
			tmp2->spine.p[1].c[1] = 1.0f; 
			tmp2->spine.p[1].c[2] = 0.0f; 
			tmp2->spine.n=2;;
			tmp2->scale.p = MALLOC (struct SFVec2f *, sizeof(struct SFVec2f)*1);
			tmp2->scale.p[0].c[0] = 1.0f; 
			tmp2->scale.p[0].c[1] = 1.0f; 
			tmp2->scale.n=1;
			tmp2->metadata = NULL;
			tmp2->set_orientation.n=0; tmp2->set_orientation.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_FillProperties : {
			struct X3D_FillProperties * tmp2;
			tmp2 = (struct X3D_FillProperties *) tmp;
		/* ttmp2->v = &virt_FillProperties;*/ 
			tmp2->hatched = TRUE;
			tmp2->hatchStyle = 1;
			tmp2->metadata = NULL;
			tmp2->filled = TRUE;
			tmp2->hatchColor.c[0] = 1.0f;tmp2->hatchColor.c[1] = 1.0f;tmp2->hatchColor.c[2] = 1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_fillProperties;
		break;
		}
		case NODE_FloatVertexAttribute : {
			struct X3D_FloatVertexAttribute * tmp2;
			tmp2 = (struct X3D_FloatVertexAttribute *) tmp;
		/* ttmp2->v = &virt_FloatVertexAttribute;*/ 
			tmp2->numComponents = 4;
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Fog : {
			struct X3D_Fog * tmp2;
			tmp2 = (struct X3D_Fog *) tmp;
		/* ttmp2->v = &virt_Fog;*/ 
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->set_bind = 0;
			tmp2->visibilityRange = 0.0f;
			tmp2->fogType = newASCIIString("LINEAR");
			tmp2->metadata = NULL;
			tmp2->bindTime = -1;
			tmp2->isBound = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_FogCoordinate : {
			struct X3D_FogCoordinate * tmp2;
			tmp2 = (struct X3D_FogCoordinate *) tmp;
		/* ttmp2->v = &virt_FogCoordinate;*/ 
			tmp2->metadata = NULL;
			tmp2->depth.n=0; tmp2->depth.p=0;
			tmp2->_defaultContainer = FIELDNAMES_coord;
		break;
		}
		case NODE_FontStyle : {
			struct X3D_FontStyle * tmp2;
			tmp2 = (struct X3D_FontStyle *) tmp;
		/* ttmp2->v = &virt_FontStyle;*/ 
			tmp2->language = newASCIIString("");
			tmp2->leftToRight = TRUE;
			tmp2->topToBottom = TRUE;
			tmp2->style = newASCIIString("PLAIN");
			tmp2->size = 1.0f;
			tmp2->justify.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*1);tmp2->justify.p[0] = newASCIIString("BEGIN");tmp2->justify.n=1; ;
			tmp2->metadata = NULL;
			tmp2->horizontal = TRUE;
			tmp2->spacing = 1.0f;
			tmp2->family.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*1);tmp2->family.p[0] = newASCIIString("SERIF");tmp2->family.n=1; ;
			tmp2->_defaultContainer = FIELDNAMES_fontStyle;
		break;
		}
		case NODE_GeneratedCubeMapTexture : {
			struct X3D_GeneratedCubeMapTexture * tmp2;
			tmp2 = (struct X3D_GeneratedCubeMapTexture *) tmp;
		/* ttmp2->v = &virt_GeneratedCubeMapTexture;*/ 
			tmp2->__textureTableIndex = 0;
			tmp2->metadata = NULL;
			tmp2->update = newASCIIString("NONE");
			tmp2->size = 128;
			tmp2->textureProperties = NULL;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_GeoCoordinate : {
			struct X3D_GeoCoordinate * tmp2;
			tmp2 = (struct X3D_GeoCoordinate *) tmp;
		/* ttmp2->v = &virt_GeoCoordinate;*/ 
			tmp2->point.n=0; tmp2->point.p=0;
			tmp2->__movedCoords.n=0; tmp2->__movedCoords.p=0;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->metadata = NULL;
			tmp2->geoOrigin = NULL;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->_defaultContainer = FIELDNAMES_coord;
		break;
		}
		case NODE_GeoElevationGrid : {
			struct X3D_GeoElevationGrid * tmp2;
			tmp2 = (struct X3D_GeoElevationGrid *) tmp;
		/* ttmp2->v = &virt_GeoElevationGrid;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->set_height.n=0; tmp2->set_height.p=0;
			tmp2->xSpacing = 1;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->zDimension = 0;
			tmp2->color = NULL;
			tmp2->creaseAngle = 0;
			tmp2->metadata = NULL;
			tmp2->geoOrigin = NULL;
			tmp2->yScale = 1.0f;
			tmp2->colorPerVertex = TRUE;
			tmp2->zSpacing = 1;
			tmp2->texCoord = NULL;
			tmp2->ccw = FALSE;
			tmp2->height.p = MALLOC (double *, sizeof(double)*2);
			tmp2->height.p[0] = 0;
			tmp2->height.p[1] = 0;
			tmp2->height.n=2;;
			tmp2->xDimension = 0;
			tmp2->normalPerVertex = TRUE;
			tmp2->geoGridOrigin.c[0] = 0;tmp2->geoGridOrigin.c[1] = 0;tmp2->geoGridOrigin.c[2] = 0;;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_GeoLOD : {
			struct X3D_GeoLOD * tmp2;
			tmp2 = (struct X3D_GeoLOD *) tmp;
		/* ttmp2->v = &virt_GeoLOD;*/ 
			tmp2->__movedCoords.c[0] = 0;tmp2->__movedCoords.c[1] = 0;tmp2->__movedCoords.c[2] = 0;;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->range = 10.0f;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->rootUrl.n=0; tmp2->rootUrl.p=0;
			tmp2->level_changed = 0;
			tmp2->center.c[0] = 0;tmp2->center.c[1] = 0;tmp2->center.c[2] = 0;;
			tmp2->child1Url.n=0; tmp2->child1Url.p=0;
			tmp2->__rooturlloadstatus = 0;
			tmp2->child3Url.n=0; tmp2->child3Url.p=0;
			tmp2->__level = -1;
			tmp2->rootNode.n=0; tmp2->rootNode.p=0;
			tmp2->geoOrigin = NULL;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->__child3Node = NULL;
			tmp2->__inRange = FALSE;
			tmp2->child2Url.n=0; tmp2->child2Url.p=0;
			tmp2->__rootUrl = NULL;
			tmp2->__child1Node = NULL;
			tmp2->__childloadstatus = 0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->__child2Node = NULL;
			tmp2->child4Url.n=0; tmp2->child4Url.p=0;
			tmp2->__child4Node = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoLocation : {
			struct X3D_GeoLocation * tmp2;
			tmp2 = (struct X3D_GeoLocation *) tmp;
		/* ttmp2->v = &virt_GeoLocation;*/ 
			tmp2->__movedCoords.c[0] = 0;tmp2->__movedCoords.c[1] = 0;tmp2->__movedCoords.c[2] = 0;;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->__oldChildren.n=0; tmp2->__oldChildren.p=0;
			tmp2->__oldgeoCoords.c[0] = 0;tmp2->__oldgeoCoords.c[1] = 0;tmp2->__oldgeoCoords.c[2] = 0;;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->geoOrigin = NULL;
			tmp2->metadata = NULL;
			tmp2->geoCoords.c[0] = 0;tmp2->geoCoords.c[1] = 0;tmp2->geoCoords.c[2] = 0;;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->__localOrient.c[0] = 0;tmp2->__localOrient.c[1] = 0;tmp2->__localOrient.c[2] = 1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoMetadata : {
			struct X3D_GeoMetadata * tmp2;
			tmp2 = (struct X3D_GeoMetadata *) tmp;
		/* ttmp2->v = &virt_GeoMetadata;*/ 
			tmp2->summary.n=0; tmp2->summary.p=0;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->data.n=0; tmp2->data.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoOrigin : {
			struct X3D_GeoOrigin * tmp2;
			tmp2 = (struct X3D_GeoOrigin *) tmp;
		/* ttmp2->v = &virt_GeoOrigin;*/ 
			tmp2->__movedCoords.c[0] = 0;tmp2->__movedCoords.c[1] = 0;tmp2->__movedCoords.c[2] = 0;;
			tmp2->__rotyup.c[0] = 0;tmp2->__rotyup.c[1] = 1;tmp2->__rotyup.c[2] = 0;;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->__oldgeoCoords.c[0] = 0;tmp2->__oldgeoCoords.c[1] = 0;tmp2->__oldgeoCoords.c[2] = 0;;
			tmp2->__oldMFString.n=0; tmp2->__oldMFString.p=0;
			tmp2->rotateYUp = TRUE;
			tmp2->metadata = NULL;
			tmp2->geoCoords.c[0] = 0;tmp2->geoCoords.c[1] = 0;tmp2->geoCoords.c[2] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_geoOrigin;
		break;
		}
		case NODE_GeoPositionInterpolator : {
			struct X3D_GeoPositionInterpolator * tmp2;
			tmp2 = (struct X3D_GeoPositionInterpolator *) tmp;
		/* ttmp2->v = &virt_GeoPositionInterpolator;*/ 
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;tmp2->value_changed.c[2] = 0.0f;;
			tmp2->__movedValue.n=0; tmp2->__movedValue.p=0;
			tmp2->__oldKeyValuePtr.n=0; tmp2->__oldKeyValuePtr.p=0;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->__oldKeyPtr.n=0; tmp2->__oldKeyPtr.p=0;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->set_fraction = 0.0f;
			tmp2->geovalue_changed.c[0] = 0;tmp2->geovalue_changed.c[1] = 0;tmp2->geovalue_changed.c[2] = 0;;
			tmp2->geoOrigin = NULL;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoProximitySensor : {
			struct X3D_GeoProximitySensor * tmp2;
			tmp2 = (struct X3D_GeoProximitySensor *) tmp;
		/* ttmp2->v = &virt_GeoProximitySensor;*/ 
			tmp2->enterTime = -1;
			tmp2->__movedCoords.c[0] = 0;tmp2->__movedCoords.c[1] = 0;tmp2->__movedCoords.c[2] = 0;;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->position_changed.c[0] = 0.0f;tmp2->position_changed.c[1] = 0.0f;tmp2->position_changed.c[2] = 0.0f;;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->size.c[0] = 0.0f;tmp2->size.c[1] = 0.0f;tmp2->size.c[2] = 0.0f;;
			tmp2->__hit = 0;
			tmp2->exitTime = -1;
			tmp2->orientation_changed.c[0] = 0;tmp2->orientation_changed.c[1] = 0;tmp2->orientation_changed.c[2] = 1;tmp2->orientation_changed.c[3] = 0;;
			tmp2->__t1.c[0] = 10000000.0f;tmp2->__t1.c[1] = 0.0f;tmp2->__t1.c[2] = 0.0f;;
			tmp2->__oldGeoCenter.c[0] = 0;tmp2->__oldGeoCenter.c[1] = 0;tmp2->__oldGeoCenter.c[2] = 0;;
			tmp2->centerOfRotation_changed.c[0] = 0.0f;tmp2->centerOfRotation_changed.c[1] = 0.0f;tmp2->centerOfRotation_changed.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->geoOrigin = NULL;
			tmp2->enabled = TRUE;
			tmp2->__oldEnabled = TRUE;
			tmp2->isActive = FALSE;
			tmp2->geoCoord_changed.c[0] = 0;tmp2->geoCoord_changed.c[1] = 0;tmp2->geoCoord_changed.c[2] = 0;;
			tmp2->__t2.c[0] = 0;tmp2->__t2.c[1] = 1;tmp2->__t2.c[2] = 0;tmp2->__t2.c[3] = 0;;
			tmp2->geoCenter.c[0] = 0;tmp2->geoCenter.c[1] = 0;tmp2->geoCenter.c[2] = 0;;
			tmp2->__oldSize.c[0] = 0.0f;tmp2->__oldSize.c[1] = 0.0f;tmp2->__oldSize.c[2] = 0.0f;;
			tmp2->__localOrient.c[0] = 0;tmp2->__localOrient.c[1] = 0;tmp2->__localOrient.c[2] = 1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoTouchSensor : {
			struct X3D_GeoTouchSensor * tmp2;
			tmp2 = (struct X3D_GeoTouchSensor *) tmp;
		/* ttmp2->v = &virt_GeoTouchSensor;*/ 
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->hitTexCoord_changed.c[0] = 0.0f;tmp2->hitTexCoord_changed.c[1] = 0.0f;;
			tmp2->_oldhitNormal.c[0] = 0.0f;tmp2->_oldhitNormal.c[1] = 0.0f;tmp2->_oldhitNormal.c[2] = 0.0f;;
			tmp2->geoOrigin = NULL;
			tmp2->metadata = NULL;
			tmp2->_oldhitTexCoord.c[0] = 0.0f;tmp2->_oldhitTexCoord.c[1] = 0.0f;;
			tmp2->enabled = FALSE;
			tmp2->__oldEnabled = TRUE;
			tmp2->isOver = FALSE;
			tmp2->hitPoint_changed.c[0] = 0.0f;tmp2->hitPoint_changed.c[1] = 0.0f;tmp2->hitPoint_changed.c[2] = 0.0f;;
			tmp2->hitGeoCoord_changed.c[0] = 0;tmp2->hitGeoCoord_changed.c[1] = 0;tmp2->hitGeoCoord_changed.c[2] = 0;;
			tmp2->isActive = FALSE;
			tmp2->_oldhitPoint.c[0] = 0.0f;tmp2->_oldhitPoint.c[1] = 0.0f;tmp2->_oldhitPoint.c[2] = 0.0f;;
			tmp2->description = newASCIIString("");
			tmp2->hitNormal_changed.c[0] = 0.0f;tmp2->hitNormal_changed.c[1] = 0.0f;tmp2->hitNormal_changed.c[2] = 0.0f;;
			tmp2->touchTime = -1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoTransform : {
			struct X3D_GeoTransform * tmp2;
			tmp2 = (struct X3D_GeoTransform *) tmp;
		/* ttmp2->v = &virt_GeoTransform;*/ 
			tmp2->__movedCoords.c[0] = 0;tmp2->__movedCoords.c[1] = 0;tmp2->__movedCoords.c[2] = 0;;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__do_scaleO = 0;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->__oldGeoCenter.c[0] = 0;tmp2->__oldGeoCenter.c[1] = 0;tmp2->__oldGeoCenter.c[2] = 0;;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->geoOrigin = NULL;
			tmp2->__do_center = 0;
			tmp2->__do_trans = 0;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->__do_rotation = 0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->__oldChildren.n=0; tmp2->__oldChildren.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->geoCenter.c[0] = 0;tmp2->geoCenter.c[1] = 0;tmp2->geoCenter.c[2] = 0;;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->__do_scale = 0;
			tmp2->__localOrient.c[0] = 0;tmp2->__localOrient.c[1] = 0;tmp2->__localOrient.c[2] = 1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_GeoViewpoint : {
			struct X3D_GeoViewpoint * tmp2;
			tmp2 = (struct X3D_GeoViewpoint *) tmp;
		/* ttmp2->v = &virt_GeoViewpoint;*/ 
			tmp2->set_position.c[0] = IO_FLOAT;tmp2->set_position.c[1] = IO_FLOAT;tmp2->set_position.c[2] = IO_FLOAT;;
			tmp2->headlight = TRUE;
			tmp2->geoSystem.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->geoSystem.p[0] = newASCIIString("GD");tmp2->geoSystem.p[1] = newASCIIString("WE");tmp2->geoSystem.n=2; ;
			tmp2->orientation.c[0] = 0;tmp2->orientation.c[1] = 0;tmp2->orientation.c[2] = 1;tmp2->orientation.c[3] = 0;;
			tmp2->position.c[0] = 0;tmp2->position.c[1] = 0;tmp2->position.c[2] = 100000;;
			tmp2->__geoSystem.n=0; tmp2->__geoSystem.p=0;
			tmp2->isBound = FALSE;
			tmp2->__oldMFString.n=0; tmp2->__oldMFString.p=0;
			tmp2->metadata = NULL;
			tmp2->geoOrigin = NULL;
			tmp2->__oldJump = TRUE;
			tmp2->__movedOrientation.c[0] = 0;tmp2->__movedOrientation.c[1] = 0;tmp2->__movedOrientation.c[2] = 1;tmp2->__movedOrientation.c[3] = 0;;
			tmp2->set_bind = 0;
			tmp2->speedFactor = 1.0f;
			tmp2->__movedPosition.c[0] = 0;tmp2->__movedPosition.c[1] = 0;tmp2->__movedPosition.c[2] = 0;;
			tmp2->jump = TRUE;
			tmp2->bindTime = -1;
			tmp2->description = newASCIIString("");
			tmp2->__oldSFString = newASCIIString("");
			tmp2->__oldFieldOfView = 0.785398f;
			tmp2->fieldOfView = 0.785398f;
			tmp2->navType.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->navType.p[0] = newASCIIString("EXAMINE");tmp2->navType.p[1] = newASCIIString("ANY");tmp2->navType.n=2; ;
			tmp2->set_orientation.c[0] = IO_FLOAT;tmp2->set_orientation.c[1] = IO_FLOAT;tmp2->set_orientation.c[2] = IO_FLOAT;tmp2->set_orientation.c[3] = IO_FLOAT;;
			tmp2->__oldHeadlight = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Group : {
			struct X3D_Group * tmp2;
			tmp2 = (struct X3D_Group *) tmp;
		/* ttmp2->v = &virt_Group;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->FreeWRL__protoDef = INT_ID_UNDEFINED;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->FreeWRL_PROTOInterfaceNodes.n=0; tmp2->FreeWRL_PROTOInterfaceNodes.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_HAnimDisplacer : {
			struct X3D_HAnimDisplacer * tmp2;
			tmp2 = (struct X3D_HAnimDisplacer *) tmp;
		/* ttmp2->v = &virt_HAnimDisplacer;*/ 
			tmp2->displacements.n=0; tmp2->displacements.p=0;
			tmp2->coordIndex.n=0; tmp2->coordIndex.p=0;
			tmp2->name = newASCIIString("");
			tmp2->weight = 0.0f;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_HAnimHumanoid : {
			struct X3D_HAnimHumanoid * tmp2;
			tmp2 = (struct X3D_HAnimHumanoid *) tmp;
		/* ttmp2->v = &virt_HAnimHumanoid;*/ 
			tmp2->skinNormal = NULL;
			tmp2->segments.n=0; tmp2->segments.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->joints.n=0; tmp2->joints.p=0;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->metadata = NULL;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->skinCoord = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->info.n=0; tmp2->info.p=0;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->skin.n=0; tmp2->skin.p=0;
			tmp2->sites.n=0; tmp2->sites.p=0;
			tmp2->skeleton.n=0; tmp2->skeleton.p=0;
			tmp2->version = newASCIIString("");
			tmp2->name = newASCIIString("");
			tmp2->viewpoints.n=0; tmp2->viewpoints.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_HAnimJoint : {
			struct X3D_HAnimJoint * tmp2;
			tmp2 = (struct X3D_HAnimJoint *) tmp;
		/* ttmp2->v = &virt_HAnimJoint;*/ 
			tmp2->llimit.n=0; tmp2->llimit.p=0;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__do_scaleO = 0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->ulimit.n=0; tmp2->ulimit.p=0;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->__do_center = 0;
			tmp2->__do_trans = 0;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->skinCoordWeight.n=0; tmp2->skinCoordWeight.p=0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->limitOrientation.c[0] = 0;tmp2->limitOrientation.c[1] = 0;tmp2->limitOrientation.c[2] = 1;tmp2->limitOrientation.c[3] = 0;;
			tmp2->displacers.n=0; tmp2->displacers.p=0;
			tmp2->name = newASCIIString("");
			tmp2->__do_rotation = 0;
			tmp2->stiffness.p = MALLOC (float *, sizeof(float)*3);
			tmp2->stiffness.p[0] = 0.0f;
			tmp2->stiffness.p[1] = 0.0f;
			tmp2->stiffness.p[2] = 0.0f;
			tmp2->stiffness.n=3;;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->__do_scale = 0;
			tmp2->skinCoordIndex.n=0; tmp2->skinCoordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_joints;
		break;
		}
		case NODE_HAnimSegment : {
			struct X3D_HAnimSegment * tmp2;
			tmp2 = (struct X3D_HAnimSegment *) tmp;
		/* ttmp2->v = &virt_HAnimSegment;*/ 
			tmp2->displacers.n=0; tmp2->displacers.p=0;
			tmp2->name = newASCIIString("");
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->momentsOfInertia.p = MALLOC (float *, sizeof(float)*9);
			tmp2->momentsOfInertia.p[0] = 0.0f;
			tmp2->momentsOfInertia.p[1] = 0.0f;
			tmp2->momentsOfInertia.p[2] = 0.0f;
			tmp2->momentsOfInertia.p[3] = 0.0f;
			tmp2->momentsOfInertia.p[4] = 0.0f;
			tmp2->momentsOfInertia.p[5] = 0.0f;
			tmp2->momentsOfInertia.p[6] = 0.0f;
			tmp2->momentsOfInertia.p[7] = 0.0f;
			tmp2->momentsOfInertia.p[8] = 0.0f;
			tmp2->momentsOfInertia.n=9;;
			tmp2->mass = 0.0f;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->centerOfMass.c[0] = 0.0f;tmp2->centerOfMass.c[1] = 0.0f;tmp2->centerOfMass.c[2] = 0.0f;;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_segments;
		break;
		}
		case NODE_HAnimSite : {
			struct X3D_HAnimSite * tmp2;
			tmp2 = (struct X3D_HAnimSite *) tmp;
		/* ttmp2->v = &virt_HAnimSite;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__do_scaleO = 0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->__do_trans = 0;
			tmp2->__do_center = 0;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->name = newASCIIString("");
			tmp2->__do_rotation = 0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->__do_scale = 0;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_sites;
		break;
		}
		case NODE_ImageCubeMapTexture : {
			struct X3D_ImageCubeMapTexture * tmp2;
			tmp2 = (struct X3D_ImageCubeMapTexture *) tmp;
		/* ttmp2->v = &virt_ImageCubeMapTexture;*/ 
			tmp2->__subTextures.n=0; tmp2->__subTextures.p=0;
			tmp2->__regenSubTextures = FALSE;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->__textureTableIndex = 0;
			tmp2->_parentResource = getInputResource();
			tmp2->metadata = NULL;
			tmp2->textureProperties = NULL;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_ImageTexture : {
			struct X3D_ImageTexture * tmp2;
			tmp2 = (struct X3D_ImageTexture *) tmp;
		/* ttmp2->v = &virt_ImageTexture;*/ 
			tmp2->repeatS = TRUE;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->__textureTableIndex = 0;
			tmp2->_parentResource = getInputResource();
			tmp2->metadata = NULL;
			tmp2->repeatT = TRUE;
			tmp2->textureProperties = 0;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_IndexedFaceSet : {
			struct X3D_IndexedFaceSet * tmp2;
			tmp2 = (struct X3D_IndexedFaceSet *) tmp;
		/* ttmp2->v = &virt_IndexedFaceSet;*/ 
			tmp2->convex = TRUE;
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->set_texCoordIndex.n=0; tmp2->set_texCoordIndex.p=0;
			tmp2->set_colorIndex.n=0; tmp2->set_colorIndex.p=0;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->colorIndex.n=0; tmp2->colorIndex.p=0;
			tmp2->creaseAngle = 0.0f;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->texCoordIndex.n=0; tmp2->texCoordIndex.p=0;
			tmp2->normalIndex.n=0; tmp2->normalIndex.p=0;
			tmp2->set_coordIndex.n=0; tmp2->set_coordIndex.p=0;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->set_normalIndex.n=0; tmp2->set_normalIndex.p=0;
			tmp2->coordIndex.n=0; tmp2->coordIndex.p=0;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->normalPerVertex = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_IndexedLineSet : {
			struct X3D_IndexedLineSet * tmp2;
			tmp2 = (struct X3D_IndexedLineSet *) tmp;
		/* ttmp2->v = &virt_IndexedLineSet;*/ 
			tmp2->__colours = 0;
			tmp2->set_colorIndex.n=0; tmp2->set_colorIndex.p=0;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->colorIndex.n=0; tmp2->colorIndex.p=0;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->__vertexCount = 0;
			tmp2->__vertArr = 0;
			tmp2->colorPerVertex = TRUE;
			tmp2->set_coordIndex.n=0; tmp2->set_coordIndex.p=0;
			tmp2->__segCount = 0;
			tmp2->__vertices = 0;
			tmp2->coordIndex.n=0; tmp2->coordIndex.p=0;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->__vertIndx = 0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_IndexedTriangleFanSet : {
			struct X3D_IndexedTriangleFanSet * tmp2;
			tmp2 = (struct X3D_IndexedTriangleFanSet *) tmp;
		/* ttmp2->v = &virt_IndexedTriangleFanSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->set_index.n=0; tmp2->set_index.p=0;
			tmp2->fogCoord = NULL;
			tmp2->index.n=0; tmp2->index.p=0;
			tmp2->color = NULL;
			tmp2->coord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_IndexedTriangleSet : {
			struct X3D_IndexedTriangleSet * tmp2;
			tmp2 = (struct X3D_IndexedTriangleSet *) tmp;
		/* ttmp2->v = &virt_IndexedTriangleSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->set_index.n=0; tmp2->set_index.p=0;
			tmp2->fogCoord = NULL;
			tmp2->index.n=0; tmp2->index.p=0;
			tmp2->color = NULL;
			tmp2->coord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_IndexedTriangleStripSet : {
			struct X3D_IndexedTriangleStripSet * tmp2;
			tmp2 = (struct X3D_IndexedTriangleStripSet *) tmp;
		/* ttmp2->v = &virt_IndexedTriangleStripSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->set_index.n=0; tmp2->set_index.p=0;
			tmp2->fogCoord = NULL;
			tmp2->index.n=0; tmp2->index.p=0;
			tmp2->color = NULL;
			tmp2->coord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Inline : {
			struct X3D_Inline * tmp2;
			tmp2 = (struct X3D_Inline *) tmp;
		/* ttmp2->v = &virt_Inline;*/ 
			tmp2->__loadResource = 0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->__children.n=0; tmp2->__children.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->metadata = NULL;
			tmp2->load = TRUE;
			tmp2->__loadstatus = 0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_IntegerSequencer : {
			struct X3D_IntegerSequencer * tmp2;
			tmp2 = (struct X3D_IntegerSequencer *) tmp;
		/* ttmp2->v = &virt_IntegerSequencer;*/ 
			tmp2->previous = 0;
			tmp2->set_fraction = 0.0f;
			tmp2->next = 0;
			tmp2->value_changed = 0;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_IntegerTrigger : {
			struct X3D_IntegerTrigger * tmp2;
			tmp2 = (struct X3D_IntegerTrigger *) tmp;
		/* ttmp2->v = &virt_IntegerTrigger;*/ 
			tmp2->metadata = NULL;
			tmp2->set_triggerTime = 0;
			tmp2->integerKey = 0;
			tmp2->triggerValue = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_KeySensor : {
			struct X3D_KeySensor * tmp2;
			tmp2 = (struct X3D_KeySensor *) tmp;
		/* ttmp2->v = &virt_KeySensor;*/ 
			tmp2->__oldEnabled = TRUE;
			tmp2->isActive = TRUE;
			tmp2->shiftKey = TRUE;
			tmp2->keyPress = newASCIIString("");
			tmp2->actionKeyRelease = 0;
			tmp2->keyRelease = newASCIIString("");
			tmp2->altKey = TRUE;
			tmp2->controlKey = TRUE;
			tmp2->actionKeyPress = 0;
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_LOD : {
			struct X3D_LOD * tmp2;
			tmp2 = (struct X3D_LOD *) tmp;
		/* ttmp2->v = &virt_LOD;*/ 
			tmp2->_selected = 0;
			tmp2->range.n=0; tmp2->range.p=0;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->levelChanged = 0;
			tmp2->level.n=0; tmp2->level.p=0;
			tmp2->forceTransitions = FALSE;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->__isX3D = (inputFileVersion[0]==3);
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_LineProperties : {
			struct X3D_LineProperties * tmp2;
			tmp2 = (struct X3D_LineProperties *) tmp;
		/* ttmp2->v = &virt_LineProperties;*/ 
			tmp2->linetype = 1;
			tmp2->linewidthScaleFactor = 0.0f;
			tmp2->applied = TRUE;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_lineProperties;
		break;
		}
		case NODE_LineSet : {
			struct X3D_LineSet * tmp2;
			tmp2 = (struct X3D_LineSet *) tmp;
		/* ttmp2->v = &virt_LineSet;*/ 
			tmp2->__vertArr = 0;
			tmp2->__segCount = 0;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->vertexCount.n=0; tmp2->vertexCount.p=0;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->__vertIndx = 0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_LoadSensor : {
			struct X3D_LoadSensor * tmp2;
			tmp2 = (struct X3D_LoadSensor *) tmp;
		/* ttmp2->v = &virt_LoadSensor;*/ 
			tmp2->isLoaded = TRUE;
			tmp2->__oldEnabled = TRUE;
			tmp2->watchList.n=0; tmp2->watchList.p=0;
			tmp2->__loading = TRUE;
			tmp2->__finishedloading = TRUE;
			tmp2->__StartLoadTime = 0;
			tmp2->isActive = TRUE;
			tmp2->progress = 0.0f;
			tmp2->loadTime = 0;
			tmp2->timeOut = 0;
			tmp2->metadata = NULL;
			tmp2->enabled = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_LocalFog : {
			struct X3D_LocalFog * tmp2;
			tmp2 = (struct X3D_LocalFog *) tmp;
		/* ttmp2->v = &virt_LocalFog;*/ 
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->visibilityRange = 0.0f;
			tmp2->fogType = newASCIIString("LINEAR");
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Material : {
			struct X3D_Material * tmp2;
			tmp2 = (struct X3D_Material *) tmp;
		/* ttmp2->v = &virt_Material;*/ 
			tmp2->transparency = 0.0f;
			tmp2->specularColor.c[0] = 0.0f;tmp2->specularColor.c[1] = 0.0f;tmp2->specularColor.c[2] = 0.0f;;
			tmp2->_verifiedColor.p = MALLOC (float *, sizeof(float)*17);
			tmp2->_verifiedColor.p[0] = 0.0f;
			tmp2->_verifiedColor.p[1] = 0.0f;
			tmp2->_verifiedColor.p[2] = 0.0f;
			tmp2->_verifiedColor.p[3] = 0.0f;
			tmp2->_verifiedColor.p[4] = 0.0f;
			tmp2->_verifiedColor.p[5] = 0.0f;
			tmp2->_verifiedColor.p[6] = 0.0f;
			tmp2->_verifiedColor.p[7] = 0.0f;
			tmp2->_verifiedColor.p[8] = 0.0f;
			tmp2->_verifiedColor.p[9] = 0.0f;
			tmp2->_verifiedColor.p[10] = 0.0f;
			tmp2->_verifiedColor.p[11] = 0.0f;
			tmp2->_verifiedColor.p[12] = 0.0f;
			tmp2->_verifiedColor.p[13] = 0.0f;
			tmp2->_verifiedColor.p[14] = 0.0f;
			tmp2->_verifiedColor.p[15] = 0.0f;
			tmp2->_verifiedColor.p[16] = 0.0f;
			tmp2->_verifiedColor.n=17;;
			tmp2->emissiveColor.c[0] = 0.0f;tmp2->emissiveColor.c[1] = 0.0f;tmp2->emissiveColor.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->shininess = 0.2f;
			tmp2->diffuseColor.c[0] = 0.8f;tmp2->diffuseColor.c[1] = 0.8f;tmp2->diffuseColor.c[2] = 0.8f;;
			tmp2->ambientIntensity = 0.2f;
			tmp2->_defaultContainer = FIELDNAMES_material;
		break;
		}
		case NODE_Matrix3VertexAttribute : {
			struct X3D_Matrix3VertexAttribute * tmp2;
			tmp2 = (struct X3D_Matrix3VertexAttribute *) tmp;
		/* ttmp2->v = &virt_Matrix3VertexAttribute;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Matrix4VertexAttribute : {
			struct X3D_Matrix4VertexAttribute * tmp2;
			tmp2 = (struct X3D_Matrix4VertexAttribute *) tmp;
		/* ttmp2->v = &virt_Matrix4VertexAttribute;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_MetadataDouble : {
			struct X3D_MetadataDouble * tmp2;
			tmp2 = (struct X3D_MetadataDouble *) tmp;
		/* ttmp2->v = &virt_MetadataDouble;*/ 
			tmp2->reference = newASCIIString("");
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_metadata;
		break;
		}
		case NODE_MetadataFloat : {
			struct X3D_MetadataFloat * tmp2;
			tmp2 = (struct X3D_MetadataFloat *) tmp;
		/* ttmp2->v = &virt_MetadataFloat;*/ 
			tmp2->reference = newASCIIString("");
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_metadata;
		break;
		}
		case NODE_MetadataInteger : {
			struct X3D_MetadataInteger * tmp2;
			tmp2 = (struct X3D_MetadataInteger *) tmp;
		/* ttmp2->v = &virt_MetadataInteger;*/ 
			tmp2->reference = newASCIIString("");
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_metadata;
		break;
		}
		case NODE_MetadataMFBool : {
			struct X3D_MetadataMFBool * tmp2;
			tmp2 = (struct X3D_MetadataMFBool *) tmp;
		/* ttmp2->v = &virt_MetadataMFBool;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFColor : {
			struct X3D_MetadataMFColor * tmp2;
			tmp2 = (struct X3D_MetadataMFColor *) tmp;
		/* ttmp2->v = &virt_MetadataMFColor;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFColorRGBA : {
			struct X3D_MetadataMFColorRGBA * tmp2;
			tmp2 = (struct X3D_MetadataMFColorRGBA *) tmp;
		/* ttmp2->v = &virt_MetadataMFColorRGBA;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFDouble : {
			struct X3D_MetadataMFDouble * tmp2;
			tmp2 = (struct X3D_MetadataMFDouble *) tmp;
		/* ttmp2->v = &virt_MetadataMFDouble;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFFloat : {
			struct X3D_MetadataMFFloat * tmp2;
			tmp2 = (struct X3D_MetadataMFFloat *) tmp;
		/* ttmp2->v = &virt_MetadataMFFloat;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFInt32 : {
			struct X3D_MetadataMFInt32 * tmp2;
			tmp2 = (struct X3D_MetadataMFInt32 *) tmp;
		/* ttmp2->v = &virt_MetadataMFInt32;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFMatrix3d : {
			struct X3D_MetadataMFMatrix3d * tmp2;
			tmp2 = (struct X3D_MetadataMFMatrix3d *) tmp;
		/* ttmp2->v = &virt_MetadataMFMatrix3d;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFMatrix3f : {
			struct X3D_MetadataMFMatrix3f * tmp2;
			tmp2 = (struct X3D_MetadataMFMatrix3f *) tmp;
		/* ttmp2->v = &virt_MetadataMFMatrix3f;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFMatrix4d : {
			struct X3D_MetadataMFMatrix4d * tmp2;
			tmp2 = (struct X3D_MetadataMFMatrix4d *) tmp;
		/* ttmp2->v = &virt_MetadataMFMatrix4d;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFMatrix4f : {
			struct X3D_MetadataMFMatrix4f * tmp2;
			tmp2 = (struct X3D_MetadataMFMatrix4f *) tmp;
		/* ttmp2->v = &virt_MetadataMFMatrix4f;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFNode : {
			struct X3D_MetadataMFNode * tmp2;
			tmp2 = (struct X3D_MetadataMFNode *) tmp;
		/* ttmp2->v = &virt_MetadataMFNode;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFRotation : {
			struct X3D_MetadataMFRotation * tmp2;
			tmp2 = (struct X3D_MetadataMFRotation *) tmp;
		/* ttmp2->v = &virt_MetadataMFRotation;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFString : {
			struct X3D_MetadataMFString * tmp2;
			tmp2 = (struct X3D_MetadataMFString *) tmp;
		/* ttmp2->v = &virt_MetadataMFString;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFTime : {
			struct X3D_MetadataMFTime * tmp2;
			tmp2 = (struct X3D_MetadataMFTime *) tmp;
		/* ttmp2->v = &virt_MetadataMFTime;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec2d : {
			struct X3D_MetadataMFVec2d * tmp2;
			tmp2 = (struct X3D_MetadataMFVec2d *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec2d;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec2f : {
			struct X3D_MetadataMFVec2f * tmp2;
			tmp2 = (struct X3D_MetadataMFVec2f *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec2f;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec3d : {
			struct X3D_MetadataMFVec3d * tmp2;
			tmp2 = (struct X3D_MetadataMFVec3d *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec3d;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec3f : {
			struct X3D_MetadataMFVec3f * tmp2;
			tmp2 = (struct X3D_MetadataMFVec3f *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec3f;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec4d : {
			struct X3D_MetadataMFVec4d * tmp2;
			tmp2 = (struct X3D_MetadataMFVec4d *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec4d;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataMFVec4f : {
			struct X3D_MetadataMFVec4f * tmp2;
			tmp2 = (struct X3D_MetadataMFVec4f *) tmp;
		/* ttmp2->v = &virt_MetadataMFVec4f;*/ 
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->setValue.n=0; tmp2->setValue.p=0;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=0; tmp2->valueChanged.p=0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFBool : {
			struct X3D_MetadataSFBool * tmp2;
			tmp2 = (struct X3D_MetadataSFBool *) tmp;
		/* ttmp2->v = &virt_MetadataSFBool;*/ 
			tmp2->value = FALSE;
			tmp2->setValue = FALSE;
			tmp2->tickTime = 0;
			tmp2->valueChanged = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFColor : {
			struct X3D_MetadataSFColor * tmp2;
			tmp2 = (struct X3D_MetadataSFColor *) tmp;
		/* ttmp2->v = &virt_MetadataSFColor;*/ 
			tmp2->value.c[0] = 0.0f;tmp2->value.c[1] = 0.0f;tmp2->value.c[2] = 0.0f;;
			tmp2->setValue.c[0] = 0.0f;tmp2->setValue.c[1] = 0.0f;tmp2->setValue.c[2] = 0.0f;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0.0f;tmp2->valueChanged.c[1] = 0.0f;tmp2->valueChanged.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFColorRGBA : {
			struct X3D_MetadataSFColorRGBA * tmp2;
			tmp2 = (struct X3D_MetadataSFColorRGBA *) tmp;
		/* ttmp2->v = &virt_MetadataSFColorRGBA;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFDouble : {
			struct X3D_MetadataSFDouble * tmp2;
			tmp2 = (struct X3D_MetadataSFDouble *) tmp;
		/* ttmp2->v = &virt_MetadataSFDouble;*/ 
			tmp2->value = 0;
			tmp2->setValue = 0;
			tmp2->tickTime = 0;
			tmp2->valueChanged = 0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFFloat : {
			struct X3D_MetadataSFFloat * tmp2;
			tmp2 = (struct X3D_MetadataSFFloat *) tmp;
		/* ttmp2->v = &virt_MetadataSFFloat;*/ 
			tmp2->value = 0.0f;
			tmp2->setValue = 0.0f;
			tmp2->tickTime = 0;
			tmp2->valueChanged = 0.0f;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFImage : {
			struct X3D_MetadataSFImage * tmp2;
			tmp2 = (struct X3D_MetadataSFImage *) tmp;
		/* ttmp2->v = &virt_MetadataSFImage;*/ 
			tmp2->value.n=3; tmp2->value.p=MALLOC (int *, sizeof(int)*3); tmp2->value.p[0] = 0; tmp2->value.p[1] = 0; tmp2->value.p[2] = 0;;
			tmp2->setValue.n=3; tmp2->setValue.p=MALLOC (int *, sizeof(int)*3); tmp2->setValue.p[0] = 0; tmp2->setValue.p[1] = 0; tmp2->setValue.p[2] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.n=3; tmp2->valueChanged.p=MALLOC (int *, sizeof(int)*3); tmp2->valueChanged.p[0] = 0; tmp2->valueChanged.p[1] = 0; tmp2->valueChanged.p[2] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFInt32 : {
			struct X3D_MetadataSFInt32 * tmp2;
			tmp2 = (struct X3D_MetadataSFInt32 *) tmp;
		/* ttmp2->v = &virt_MetadataSFInt32;*/ 
			tmp2->value = 0;
			tmp2->setValue = 0;
			tmp2->tickTime = 0;
			tmp2->valueChanged = 0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFMatrix3d : {
			struct X3D_MetadataSFMatrix3d * tmp2;
			tmp2 = (struct X3D_MetadataSFMatrix3d *) tmp;
		/* ttmp2->v = &virt_MetadataSFMatrix3d;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;tmp2->value.c[4] = 0;tmp2->value.c[5] = 0;tmp2->value.c[6] = 0;tmp2->value.c[7] = 0;tmp2->value.c[8] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;tmp2->setValue.c[4] = 0;tmp2->setValue.c[5] = 0;tmp2->setValue.c[6] = 0;tmp2->setValue.c[7] = 0;tmp2->setValue.c[8] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;tmp2->valueChanged.c[4] = 0;tmp2->valueChanged.c[5] = 0;tmp2->valueChanged.c[6] = 0;tmp2->valueChanged.c[7] = 0;tmp2->valueChanged.c[8] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFMatrix3f : {
			struct X3D_MetadataSFMatrix3f * tmp2;
			tmp2 = (struct X3D_MetadataSFMatrix3f *) tmp;
		/* ttmp2->v = &virt_MetadataSFMatrix3f;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;tmp2->value.c[4] = 0;tmp2->value.c[5] = 0;tmp2->value.c[6] = 0;tmp2->value.c[7] = 0;tmp2->value.c[8] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;tmp2->setValue.c[4] = 0;tmp2->setValue.c[5] = 0;tmp2->setValue.c[6] = 0;tmp2->setValue.c[7] = 0;tmp2->setValue.c[8] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;tmp2->valueChanged.c[4] = 0;tmp2->valueChanged.c[5] = 0;tmp2->valueChanged.c[6] = 0;tmp2->valueChanged.c[7] = 0;tmp2->valueChanged.c[8] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFMatrix4d : {
			struct X3D_MetadataSFMatrix4d * tmp2;
			tmp2 = (struct X3D_MetadataSFMatrix4d *) tmp;
		/* ttmp2->v = &virt_MetadataSFMatrix4d;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;tmp2->value.c[4] = 0;tmp2->value.c[5] = 0;tmp2->value.c[6] = 0;tmp2->value.c[7] = 0;tmp2->value.c[8] = 0;tmp2->value.c[9] = 0;tmp2->value.c[10] = 0;tmp2->value.c[11] = 0;tmp2->value.c[12] = 0;tmp2->value.c[13] = 0;tmp2->value.c[14] = 0;tmp2->value.c[15] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;tmp2->setValue.c[4] = 0;tmp2->setValue.c[5] = 0;tmp2->setValue.c[6] = 0;tmp2->setValue.c[7] = 0;tmp2->setValue.c[8] = 0;tmp2->setValue.c[9] = 0;tmp2->setValue.c[10] = 0;tmp2->setValue.c[11] = 0;tmp2->setValue.c[12] = 0;tmp2->setValue.c[13] = 0;tmp2->setValue.c[14] = 0;tmp2->setValue.c[15] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;tmp2->valueChanged.c[4] = 0;tmp2->valueChanged.c[5] = 0;tmp2->valueChanged.c[6] = 0;tmp2->valueChanged.c[7] = 0;tmp2->valueChanged.c[8] = 0;tmp2->valueChanged.c[9] = 0;tmp2->valueChanged.c[10] = 0;tmp2->valueChanged.c[11] = 0;tmp2->valueChanged.c[12] = 0;tmp2->valueChanged.c[13] = 0;tmp2->valueChanged.c[14] = 0;tmp2->valueChanged.c[15] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFMatrix4f : {
			struct X3D_MetadataSFMatrix4f * tmp2;
			tmp2 = (struct X3D_MetadataSFMatrix4f *) tmp;
		/* ttmp2->v = &virt_MetadataSFMatrix4f;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;tmp2->value.c[4] = 0;tmp2->value.c[5] = 0;tmp2->value.c[6] = 0;tmp2->value.c[7] = 0;tmp2->value.c[8] = 0;tmp2->value.c[9] = 0;tmp2->value.c[10] = 0;tmp2->value.c[11] = 0;tmp2->value.c[12] = 0;tmp2->value.c[13] = 0;tmp2->value.c[14] = 0;tmp2->value.c[15] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;tmp2->setValue.c[4] = 0;tmp2->setValue.c[5] = 0;tmp2->setValue.c[6] = 0;tmp2->setValue.c[7] = 0;tmp2->setValue.c[8] = 0;tmp2->setValue.c[9] = 0;tmp2->setValue.c[10] = 0;tmp2->setValue.c[11] = 0;tmp2->setValue.c[12] = 0;tmp2->setValue.c[13] = 0;tmp2->setValue.c[14] = 0;tmp2->setValue.c[15] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;tmp2->valueChanged.c[4] = 0;tmp2->valueChanged.c[5] = 0;tmp2->valueChanged.c[6] = 0;tmp2->valueChanged.c[7] = 0;tmp2->valueChanged.c[8] = 0;tmp2->valueChanged.c[9] = 0;tmp2->valueChanged.c[10] = 0;tmp2->valueChanged.c[11] = 0;tmp2->valueChanged.c[12] = 0;tmp2->valueChanged.c[13] = 0;tmp2->valueChanged.c[14] = 0;tmp2->valueChanged.c[15] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFNode : {
			struct X3D_MetadataSFNode * tmp2;
			tmp2 = (struct X3D_MetadataSFNode *) tmp;
		/* ttmp2->v = &virt_MetadataSFNode;*/ 
			tmp2->value = 0;
			tmp2->setValue = 0;
			tmp2->tickTime = 0;
			tmp2->valueChanged = 0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFRotation : {
			struct X3D_MetadataSFRotation * tmp2;
			tmp2 = (struct X3D_MetadataSFRotation *) tmp;
		/* ttmp2->v = &virt_MetadataSFRotation;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFString : {
			struct X3D_MetadataSFString * tmp2;
			tmp2 = (struct X3D_MetadataSFString *) tmp;
		/* ttmp2->v = &virt_MetadataSFString;*/ 
			tmp2->value = newASCIIString("");
			tmp2->setValue = newASCIIString("");
			tmp2->tickTime = 0;
			tmp2->valueChanged = newASCIIString("");
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFTime : {
			struct X3D_MetadataSFTime * tmp2;
			tmp2 = (struct X3D_MetadataSFTime *) tmp;
		/* ttmp2->v = &virt_MetadataSFTime;*/ 
			tmp2->value = 0;
			tmp2->setValue = 0;
			tmp2->tickTime = 0;
			tmp2->valueChanged = 0;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec2d : {
			struct X3D_MetadataSFVec2d * tmp2;
			tmp2 = (struct X3D_MetadataSFVec2d *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec2d;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec2f : {
			struct X3D_MetadataSFVec2f * tmp2;
			tmp2 = (struct X3D_MetadataSFVec2f *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec2f;*/ 
			tmp2->value.c[0] = 0.0f;tmp2->value.c[1] = 0.0f;;
			tmp2->setValue.c[0] = 0.0f;tmp2->setValue.c[1] = 0.0f;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0.0f;tmp2->valueChanged.c[1] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec3d : {
			struct X3D_MetadataSFVec3d * tmp2;
			tmp2 = (struct X3D_MetadataSFVec3d *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec3d;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec3f : {
			struct X3D_MetadataSFVec3f * tmp2;
			tmp2 = (struct X3D_MetadataSFVec3f *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec3f;*/ 
			tmp2->value.c[0] = 0.0f;tmp2->value.c[1] = 0.0f;tmp2->value.c[2] = 0.0f;;
			tmp2->setValue.c[0] = 0.0f;tmp2->setValue.c[1] = 0.0f;tmp2->setValue.c[2] = 0.0f;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0.0f;tmp2->valueChanged.c[1] = 0.0f;tmp2->valueChanged.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec4d : {
			struct X3D_MetadataSFVec4d * tmp2;
			tmp2 = (struct X3D_MetadataSFVec4d *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec4d;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSFVec4f : {
			struct X3D_MetadataSFVec4f * tmp2;
			tmp2 = (struct X3D_MetadataSFVec4f *) tmp;
		/* ttmp2->v = &virt_MetadataSFVec4f;*/ 
			tmp2->value.c[0] = 0;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;;
			tmp2->setValue.c[0] = 0;tmp2->setValue.c[1] = 0;tmp2->setValue.c[2] = 0;tmp2->setValue.c[3] = 0;;
			tmp2->tickTime = 0;
			tmp2->valueChanged.c[0] = 0;tmp2->valueChanged.c[1] = 0;tmp2->valueChanged.c[2] = 0;tmp2->valueChanged.c[3] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_FreeWRL_PROTOInterfaceNodes;
		break;
		}
		case NODE_MetadataSet : {
			struct X3D_MetadataSet * tmp2;
			tmp2 = (struct X3D_MetadataSet *) tmp;
		/* ttmp2->v = &virt_MetadataSet;*/ 
			tmp2->reference = newASCIIString("");
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_metadata;
		break;
		}
		case NODE_MetadataString : {
			struct X3D_MetadataString * tmp2;
			tmp2 = (struct X3D_MetadataString *) tmp;
		/* ttmp2->v = &virt_MetadataString;*/ 
			tmp2->reference = newASCIIString("");
			tmp2->value.n=0; tmp2->value.p=0;
			tmp2->name = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_metadata;
		break;
		}
		case NODE_MovieTexture : {
			struct X3D_MovieTexture * tmp2;
			tmp2 = (struct X3D_MovieTexture *) tmp;
		/* ttmp2->v = &virt_MovieTexture;*/ 
			tmp2->__textureTableIndex = 0;
			tmp2->loop = FALSE;
			tmp2->resumeTime = 0;
			tmp2->repeatS = TRUE;
			tmp2->isPaused = 0;
			tmp2->duration_changed = -1;
			tmp2->pauseTime = 0;
			tmp2->speed = 1.0f;
			tmp2->url.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*1);tmp2->url.p[0] = newASCIIString("");tmp2->url.n=1; ;
			tmp2->startTime = 0;
			tmp2->metadata = NULL;
			tmp2->repeatT = TRUE;
			tmp2->textureProperties = 0;
			tmp2->isActive = FALSE;
			tmp2->description = newASCIIString("");
			tmp2->elapsedTime = 0;
			tmp2->stopTime = 0;
			tmp2->_parentResource = getInputResource();
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_MultiTexture : {
			struct X3D_MultiTexture * tmp2;
			tmp2 = (struct X3D_MultiTexture *) tmp;
		/* ttmp2->v = &virt_MultiTexture;*/ 
			tmp2->source.n=0; tmp2->source.p=0;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->alpha = 1.0f;
			tmp2->function.n=0; tmp2->function.p=0;
			tmp2->mode.n=0; tmp2->mode.p=0;
			tmp2->metadata = NULL;
			tmp2->texture.n=0; tmp2->texture.p=0;
			tmp2->__params = 0;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_MultiTextureCoordinate : {
			struct X3D_MultiTextureCoordinate * tmp2;
			tmp2 = (struct X3D_MultiTextureCoordinate *) tmp;
		/* ttmp2->v = &virt_MultiTextureCoordinate;*/ 
			tmp2->metadata = NULL;
			tmp2->texCoord.n=0; tmp2->texCoord.p=0;
			tmp2->_defaultContainer = FIELDNAMES_texCoord;
		break;
		}
		case NODE_MultiTextureTransform : {
			struct X3D_MultiTextureTransform * tmp2;
			tmp2 = (struct X3D_MultiTextureTransform *) tmp;
		/* ttmp2->v = &virt_MultiTextureTransform;*/ 
			tmp2->textureTransform.n=0; tmp2->textureTransform.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_textureTransform;
		break;
		}
		case NODE_NavigationInfo : {
			struct X3D_NavigationInfo * tmp2;
			tmp2 = (struct X3D_NavigationInfo *) tmp;
		/* ttmp2->v = &virt_NavigationInfo;*/ 
			tmp2->set_bind = 0;
			tmp2->transitionTime = 1;
			tmp2->headlight = TRUE;
			tmp2->isBound = FALSE;
			tmp2->bindTime = -1;
			tmp2->transitionComplete = FALSE;
			tmp2->speed = 1.0f;
			tmp2->transitionType.n=0; tmp2->transitionType.p=0;
			tmp2->type.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*2);tmp2->type.p[0] = newASCIIString("EXAMINE");tmp2->type.p[1] = newASCIIString("ANY");tmp2->type.n=2; ;
			tmp2->metadata = NULL;
			tmp2->visibilityLimit = 0.0f;
			tmp2->avatarSize.p = MALLOC (float *, sizeof(float)*3);
			tmp2->avatarSize.p[0] = 0.25f;
			tmp2->avatarSize.p[1] = 0.25f;
			tmp2->avatarSize.p[2] = 0.25f;
			tmp2->avatarSize.n=3;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Normal : {
			struct X3D_Normal * tmp2;
			tmp2 = (struct X3D_Normal *) tmp;
		/* ttmp2->v = &virt_Normal;*/ 
			tmp2->metadata = NULL;
			tmp2->vector.n=0; tmp2->vector.p=0;
			tmp2->_defaultContainer = FIELDNAMES_normal;
		break;
		}
		case NODE_NormalInterpolator : {
			struct X3D_NormalInterpolator * tmp2;
			tmp2 = (struct X3D_NormalInterpolator *) tmp;
		/* ttmp2->v = &virt_NormalInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.n=0; tmp2->value_changed.p=0;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_NurbsCurve : {
			struct X3D_NurbsCurve * tmp2;
			tmp2 = (struct X3D_NurbsCurve *) tmp;
		/* ttmp2->v = &virt_NurbsCurve;*/ 
			tmp2->knot.n=0; tmp2->knot.p=0;
			tmp2->tessellation = 0;
			tmp2->order = 3;
			tmp2->weight.n=0; tmp2->weight.p=0;
			tmp2->controlPoint.n=0; tmp2->controlPoint.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_NurbsCurve2D : {
			struct X3D_NurbsCurve2D * tmp2;
			tmp2 = (struct X3D_NurbsCurve2D *) tmp;
		/* ttmp2->v = &virt_NurbsCurve2D;*/ 
			tmp2->knot.n=0; tmp2->knot.p=0;
			tmp2->tessellation = 0;
			tmp2->order = 3;
			tmp2->weight.n=0; tmp2->weight.p=0;
			tmp2->controlPoint.n=0; tmp2->controlPoint.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_NurbsGroup : {
			struct X3D_NurbsGroup * tmp2;
			tmp2 = (struct X3D_NurbsGroup *) tmp;
		/* ttmp2->v = &virt_NurbsGroup;*/ 
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->metadata = NULL;
			tmp2->tessellationScale = 1.0f;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_NurbsPositionInterpolator : {
			struct X3D_NurbsPositionInterpolator * tmp2;
			tmp2 = (struct X3D_NurbsPositionInterpolator *) tmp;
		/* ttmp2->v = &virt_NurbsPositionInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->knot.n=0; tmp2->knot.p=0;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;tmp2->value_changed.c[2] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->keyWeight.n=0; tmp2->keyWeight.p=0;
			tmp2->dimension = 0;
			tmp2->order = 0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_NurbsSurface : {
			struct X3D_NurbsSurface * tmp2;
			tmp2 = (struct X3D_NurbsSurface *) tmp;
		/* ttmp2->v = &virt_NurbsSurface;*/ 
			tmp2->vTessellation = 0;
			tmp2->controlPoint.n=0; tmp2->controlPoint.p=0;
			tmp2->texCoord = NULL;
			tmp2->ccw = FALSE;
			tmp2->knot.n=0; tmp2->knot.p=0;
			tmp2->uTessellation = 0;
			tmp2->order = 3;
			tmp2->weight.n=0; tmp2->weight.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_NurbsTextureSurface : {
			struct X3D_NurbsTextureSurface * tmp2;
			tmp2 = (struct X3D_NurbsTextureSurface *) tmp;
		/* ttmp2->v = &virt_NurbsTextureSurface;*/ 
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_NurbsTrimmedSurface : {
			struct X3D_NurbsTrimmedSurface * tmp2;
			tmp2 = (struct X3D_NurbsTrimmedSurface *) tmp;
		/* ttmp2->v = &virt_NurbsTrimmedSurface;*/ 
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_OSC_Sensor : {
			struct X3D_OSC_Sensor * tmp2;
			tmp2 = (struct X3D_OSC_Sensor *) tmp;
		/* ttmp2->v = &virt_OSC_Sensor;*/ 
			tmp2->protocol = newASCIIString("UDP");
			tmp2->listenfor = newASCIIString("");
			tmp2->_stringInpFIFO = 0;
			tmp2->_talkToNodes.n=0; tmp2->_talkToNodes.p=0;
			tmp2->_status = -1;
			tmp2->_floatInpFIFO = 0;
			tmp2->_int32OutFIFO = 0;
			tmp2->talksTo.n=0; tmp2->talksTo.p=0;
			tmp2->metadata = NULL;
			tmp2->enabled = FALSE;
			tmp2->_floatOutFIFO = 0;
			tmp2->filter = newASCIIString("");
			tmp2->FIFOsize = 64;
			tmp2->_stringOutFIFO = 0;
			tmp2->description = newASCIIString("");
			tmp2->port = 7000;
			tmp2->gotEvents = 0;
			tmp2->handler = newASCIIString("");
			tmp2->stringInp = newASCIIString("");
			tmp2->floatInp = 0.0f;
			tmp2->__oldmetadata = 0;
			tmp2->_int32InpFIFO = 0;
			tmp2->int32Inp = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_OrientationInterpolator : {
			struct X3D_OrientationInterpolator * tmp2;
			tmp2 = (struct X3D_OrientationInterpolator *) tmp;
		/* ttmp2->v = &virt_OrientationInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.c[0] = 0;tmp2->value_changed.c[1] = 0;tmp2->value_changed.c[2] = 1;tmp2->value_changed.c[3] = 0;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_OrthoViewpoint : {
			struct X3D_OrthoViewpoint * tmp2;
			tmp2 = (struct X3D_OrthoViewpoint *) tmp;
		/* ttmp2->v = &virt_OrthoViewpoint;*/ 
			tmp2->set_bind = 0;
			tmp2->orientation.c[0] = 0;tmp2->orientation.c[1] = 0;tmp2->orientation.c[2] = 1;tmp2->orientation.c[3] = 0;;
			tmp2->position.c[0] = 0.0f;tmp2->position.c[1] = 0.0f;tmp2->position.c[2] = 10.0f;;
			tmp2->jump = TRUE;
			tmp2->retainUserOffsets = FALSE;
			tmp2->centerOfRotation.c[0] = 0.0f;tmp2->centerOfRotation.c[1] = 0.0f;tmp2->centerOfRotation.c[2] = 0.0f;;
			tmp2->description = newASCIIString("");
			tmp2->bindTime = -1;
			tmp2->isBound = FALSE;
			tmp2->fieldOfView.p = MALLOC (float *, sizeof(float)*4);
			tmp2->fieldOfView.p[0] = -1.0f;
			tmp2->fieldOfView.p[1] = -1.0f;
			tmp2->fieldOfView.p[2] = -1.0f;
			tmp2->fieldOfView.p[3] = -1.0f;
			tmp2->fieldOfView.n=4;;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PackagedShader : {
			struct X3D_PackagedShader * tmp2;
			tmp2 = (struct X3D_PackagedShader *) tmp;
		/* ttmp2->v = &virt_PackagedShader;*/ 
			tmp2->isSelected = TRUE;
			tmp2->language = newASCIIString("");
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->isValid = TRUE;
			tmp2->__shaderObj = NULL;
			tmp2->metadata = NULL;
			tmp2->activate = 0;
			tmp2->_defaultContainer = FIELDNAMES_material;
		break;
		}
		case NODE_PickableGroup : {
			struct X3D_PickableGroup * tmp2;
			tmp2 = (struct X3D_PickableGroup *) tmp;
		/* ttmp2->v = &virt_PickableGroup;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->FreeWRL__protoDef = INT_ID_UNDEFINED;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->pickable = TRUE;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->FreeWRL_PROTOInterfaceNodes.n=0; tmp2->FreeWRL_PROTOInterfaceNodes.p=0;
			tmp2->objectType.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*3);tmp2->objectType.p[0] = newASCIIString("ALL");tmp2->objectType.p[1] = newASCIIString("NONE");tmp2->objectType.p[2] = newASCIIString("TERRAIN");tmp2->objectType.n=3; ;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PixelTexture : {
			struct X3D_PixelTexture * tmp2;
			tmp2 = (struct X3D_PixelTexture *) tmp;
		/* ttmp2->v = &virt_PixelTexture;*/ 
			tmp2->repeatS = TRUE;
			tmp2->_parentResource = getInputResource();
			tmp2->__textureTableIndex = 0;
			tmp2->metadata = NULL;
			tmp2->repeatT = TRUE;
			tmp2->image.n=3; tmp2->image.p=MALLOC (int *, sizeof(int)*3); tmp2->image.p[0] = 0; tmp2->image.p[1] = 0; tmp2->image.p[2] = 0;;
			tmp2->textureProperties = 0;
			tmp2->_defaultContainer = FIELDNAMES_texture;
		break;
		}
		case NODE_PlaneSensor : {
			struct X3D_PlaneSensor * tmp2;
			tmp2 = (struct X3D_PlaneSensor *) tmp;
		/* ttmp2->v = &virt_PlaneSensor;*/ 
			tmp2->minPosition.c[0] = 0.0f;tmp2->minPosition.c[1] = 0.0f;;
			tmp2->_oldtranslation.c[0] = 0.0f;tmp2->_oldtranslation.c[1] = 0.0f;tmp2->_oldtranslation.c[2] = 0.0f;;
			tmp2->__oldEnabled = TRUE;
			tmp2->isOver = FALSE;
			tmp2->trackPoint_changed.c[0] = 0.0f;tmp2->trackPoint_changed.c[1] = 0.0f;tmp2->trackPoint_changed.c[2] = 0.0f;;
			tmp2->_oldtrackPoint.c[0] = 0.0f;tmp2->_oldtrackPoint.c[1] = 0.0f;tmp2->_oldtrackPoint.c[2] = 0.0f;;
			tmp2->isActive = FALSE;
			tmp2->description = newASCIIString("");
			tmp2->autoOffset = TRUE;
			tmp2->maxPosition.c[0] = -1.0f;tmp2->maxPosition.c[1] = -1.0f;;
			tmp2->metadata = NULL;
			tmp2->_origPoint.c[0] = 0.0f;tmp2->_origPoint.c[1] = 0.0f;tmp2->_origPoint.c[2] = 0.0f;;
			tmp2->offset.c[0] = 0.0f;tmp2->offset.c[1] = 0.0f;tmp2->offset.c[2] = 0.0f;;
			tmp2->enabled = TRUE;
			tmp2->translation_changed.c[0] = 0.0f;tmp2->translation_changed.c[1] = 0.0f;tmp2->translation_changed.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PointLight : {
			struct X3D_PointLight * tmp2;
			tmp2 = (struct X3D_PointLight *) tmp;
		/* ttmp2->v = &virt_PointLight;*/ 
			tmp2->global = TRUE;
			tmp2->location.c[0] = 0.0f;tmp2->location.c[1] = 0.0f;tmp2->location.c[2] = 0.0f;;
			tmp2->radius = 100.0f;
			tmp2->ambientIntensity = 0.0f;
			tmp2->on = TRUE;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->attenuation.c[0] = 1.0f;tmp2->attenuation.c[1] = 0.0f;tmp2->attenuation.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->intensity = 1.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PointPickSensor : {
			struct X3D_PointPickSensor * tmp2;
			tmp2 = (struct X3D_PointPickSensor *) tmp;
		/* ttmp2->v = &virt_PointPickSensor;*/ 
			tmp2->_oldisActive = FALSE;
			tmp2->set_sortOrder = newASCIIString("");
			tmp2->_bboxSize.c[0] = -1.0f;tmp2->_bboxSize.c[1] = -1.0f;tmp2->_bboxSize.c[2] = -1.0f;;
			tmp2->_bboxCenter.c[0] = 0.0f;tmp2->_bboxCenter.c[1] = 0.0f;tmp2->_bboxCenter.c[2] = 0.0f;;
			tmp2->objectType.p = MALLOC (struct Uni_String **, sizeof(struct Uni_String)*3);tmp2->objectType.p[0] = newASCIIString("ALL");tmp2->objectType.p[1] = newASCIIString("NONE");tmp2->objectType.p[2] = newASCIIString("TERRAIN");tmp2->objectType.n=3; ;
			tmp2->pickedGeometry.n=0; tmp2->pickedGeometry.p=0;
			tmp2->metadata = NULL;
			tmp2->_oldpickedPoint.n=0; tmp2->_oldpickedPoint.p=0;
			tmp2->sortOrder = newASCIIString("CLOSEST");
			tmp2->enabled = FALSE;
			tmp2->intersectionType = newASCIIString("BOUNDS");
			tmp2->_oldpickedGeometry.n=0; tmp2->_oldpickedGeometry.p=0;
			tmp2->pickTarget.n=0; tmp2->pickTarget.p=0;
			tmp2->_oldpickTarget.n=0; tmp2->_oldpickTarget.p=0;
			tmp2->isActive = FALSE;
			tmp2->pickedPoint.n=0; tmp2->pickedPoint.p=0;
			tmp2->set_intersectionType = newASCIIString("");
			tmp2->pickingGeometry = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PointSet : {
			struct X3D_PointSet * tmp2;
			tmp2 = (struct X3D_PointSet *) tmp;
		/* ttmp2->v = &virt_PointSet;*/ 
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Polyline2D : {
			struct X3D_Polyline2D * tmp2;
			tmp2 = (struct X3D_Polyline2D *) tmp;
		/* ttmp2->v = &virt_Polyline2D;*/ 
			tmp2->metadata = NULL;
			tmp2->lineSegments.n=0; tmp2->lineSegments.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_Polypoint2D : {
			struct X3D_Polypoint2D * tmp2;
			tmp2 = (struct X3D_Polypoint2D *) tmp;
		/* ttmp2->v = &virt_Polypoint2D;*/ 
			tmp2->point.n=0; tmp2->point.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_PositionInterpolator : {
			struct X3D_PositionInterpolator * tmp2;
			tmp2 = (struct X3D_PositionInterpolator *) tmp;
		/* ttmp2->v = &virt_PositionInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;tmp2->value_changed.c[2] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_PositionInterpolator2D : {
			struct X3D_PositionInterpolator2D * tmp2;
			tmp2 = (struct X3D_PositionInterpolator2D *) tmp;
		/* ttmp2->v = &virt_PositionInterpolator2D;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ProgramShader : {
			struct X3D_ProgramShader * tmp2;
			tmp2 = (struct X3D_ProgramShader *) tmp;
		/* ttmp2->v = &virt_ProgramShader;*/ 
			tmp2->language = newASCIIString("");
			tmp2->isValid = TRUE;
			tmp2->activate = 0;
			tmp2->__shaderIDS.n=0; tmp2->__shaderIDS.p=0;
			tmp2->isSelected = TRUE;
			tmp2->programs.n=0; tmp2->programs.p=0;
			tmp2->metadata = NULL;
			tmp2->__initialized = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_programs;
		break;
		}
		case NODE_ProximitySensor : {
			struct X3D_ProximitySensor * tmp2;
			tmp2 = (struct X3D_ProximitySensor *) tmp;
		/* ttmp2->v = &virt_ProximitySensor;*/ 
			tmp2->__oldEnabled = TRUE;
			tmp2->enterTime = -1;
			tmp2->isActive = FALSE;
			tmp2->position_changed.c[0] = 0.0f;tmp2->position_changed.c[1] = 0.0f;tmp2->position_changed.c[2] = 0.0f;;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->size.c[0] = 0.0f;tmp2->size.c[1] = 0.0f;tmp2->size.c[2] = 0.0f;;
			tmp2->__t2.c[0] = 0;tmp2->__t2.c[1] = 1;tmp2->__t2.c[2] = 0;tmp2->__t2.c[3] = 0;;
			tmp2->__hit = 0;
			tmp2->exitTime = -1;
			tmp2->orientation_changed.c[0] = 0;tmp2->orientation_changed.c[1] = 0;tmp2->orientation_changed.c[2] = 1;tmp2->orientation_changed.c[3] = 0;;
			tmp2->__t1.c[0] = 10000000.0f;tmp2->__t1.c[1] = 0.0f;tmp2->__t1.c[2] = 0.0f;;
			tmp2->centerOfRotation_changed.c[0] = 0.0f;tmp2->centerOfRotation_changed.c[1] = 0.0f;tmp2->centerOfRotation_changed.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ReceiverPdu : {
			struct X3D_ReceiverPdu * tmp2;
			tmp2 = (struct X3D_ReceiverPdu *) tmp;
		/* ttmp2->v = &virt_ReceiverPdu;*/ 
			tmp2->isStandAlone = FALSE;
			tmp2->receiverState = 0;
			tmp2->isNetworkReader = FALSE;
			tmp2->transmitterApplicationID = 1;
			tmp2->siteID = 0;
			tmp2->isNetworkWriter = FALSE;
			tmp2->isRtpHeaderHeard = FALSE;
			tmp2->receivedPower = 0.0f;
			tmp2->transmitterRadioID = 0;
			tmp2->transmitterSiteID = 0;
			tmp2->rtpHeaderExpected = FALSE;
			tmp2->timestamp = 0;
			tmp2->networkMode = newASCIIString("standAlone");
			tmp2->metadata = NULL;
			tmp2->address = newASCIIString("localhost");
			tmp2->multicastRelayPort = 0;
			tmp2->enabled = TRUE;
			tmp2->readInterval = 0.1f;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->applicationID = 1;
			tmp2->radioID = 0;
			tmp2->isActive = FALSE;
			tmp2->transmitterEntityID = 0;
			tmp2->multicastRelayHost = newASCIIString("");
			tmp2->port = 0;
			tmp2->whichGeometry = 1;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->writeInterval = 1.0f;
			tmp2->entityID = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Rectangle2D : {
			struct X3D_Rectangle2D * tmp2;
			tmp2 = (struct X3D_Rectangle2D *) tmp;
		/* ttmp2->v = &virt_Rectangle2D;*/ 
			tmp2->solid = FALSE;
			tmp2->__numPoints = 0;
			tmp2->metadata = NULL;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->size.c[0] = 2.0f;tmp2->size.c[1] = 2.0f;;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_ScalarInterpolator : {
			struct X3D_ScalarInterpolator * tmp2;
			tmp2 = (struct X3D_ScalarInterpolator *) tmp;
		/* ttmp2->v = &virt_ScalarInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed = 0.0f;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Script : {
			struct X3D_Script * tmp2;
			tmp2 = (struct X3D_Script *) tmp;
		/* ttmp2->v = &virt_Script;*/ 
			tmp2->__scriptObj = 0;
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->mustEvaluate = FALSE;
			tmp2->metadata = NULL;
			tmp2->directOutput = FALSE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ShaderPart : {
			struct X3D_ShaderPart * tmp2;
			tmp2 = (struct X3D_ShaderPart *) tmp;
		/* ttmp2->v = &virt_ShaderPart;*/ 
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->metadata = NULL;
			tmp2->type = newASCIIString("VERTEX");
			tmp2->_defaultContainer = FIELDNAMES_parts;
		break;
		}
		case NODE_ShaderProgram : {
			struct X3D_ShaderProgram * tmp2;
			tmp2 = (struct X3D_ShaderProgram *) tmp;
		/* ttmp2->v = &virt_ShaderProgram;*/ 
			tmp2->url.n=0; tmp2->url.p=0;
			tmp2->__shaderObj = NULL;
			tmp2->_parentResource = getInputResource();
			tmp2->metadata = NULL;
			tmp2->type = newASCIIString("");
			tmp2->_defaultContainer = FIELDNAMES_material;
		break;
		}
		case NODE_Shape : {
			struct X3D_Shape * tmp2;
			tmp2 = (struct X3D_Shape *) tmp;
		/* ttmp2->v = &virt_Shape;*/ 
			tmp2->__visible = 0;
			tmp2->__occludeCheckCount = -1;
			tmp2->appearance = NULL;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->geometry = NULL;
			tmp2->metadata = NULL;
			tmp2->__Samples = -1;
			tmp2->_shaderTableEntry = 0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SignalPdu : {
			struct X3D_SignalPdu * tmp2;
			tmp2 = (struct X3D_SignalPdu *) tmp;
		/* ttmp2->v = &virt_SignalPdu;*/ 
			tmp2->isStandAlone = FALSE;
			tmp2->isNetworkReader = FALSE;
			tmp2->siteID = 0;
			tmp2->isNetworkWriter = FALSE;
			tmp2->isRtpHeaderHeard = FALSE;
			tmp2->timestamp = FALSE;
			tmp2->rtpHeaderExpected = FALSE;
			tmp2->networkMode = newASCIIString("standAlone");
			tmp2->metadata = NULL;
			tmp2->address = newASCIIString("localhost");
			tmp2->enabled = TRUE;
			tmp2->multicastRelayPort = 0;
			tmp2->readInterval = 0.1f;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->applicationID = 1;
			tmp2->sampleRate = 0;
			tmp2->radioID = 0;
			tmp2->encodingScheme = 0;
			tmp2->isActive = FALSE;
			tmp2->tdlType = 0;
			tmp2->multicastRelayHost = newASCIIString("");
			tmp2->dataLength = 0;
			tmp2->data.n=0; tmp2->data.p=0;
			tmp2->port = 0;
			tmp2->samples = 0;
			tmp2->whichGeometry = 1;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->writeInterval = 1.0f;
			tmp2->entityID = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Sound : {
			struct X3D_Sound * tmp2;
			tmp2 = (struct X3D_Sound *) tmp;
		/* ttmp2->v = &virt_Sound;*/ 
			tmp2->priority = 0.0f;
			tmp2->source = NULL;
			tmp2->minFront = 1.0f;
			tmp2->location.c[0] = 0.0f;tmp2->location.c[1] = 0.0f;tmp2->location.c[2] = 0.0f;;
			tmp2->direction.c[0] = 0.0f;tmp2->direction.c[1] = 0.0f;tmp2->direction.c[2] = 1.0f;;
			tmp2->maxFront = 10.0f;
			tmp2->spatialize = FALSE;
			tmp2->minBack = 1.0f;
			tmp2->intensity = 1.0f;
			tmp2->metadata = NULL;
			tmp2->maxBack = 10.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Sphere : {
			struct X3D_Sphere * tmp2;
			tmp2 = (struct X3D_Sphere *) tmp;
		/* ttmp2->v = &virt_Sphere;*/ 
			tmp2->_sideVBO = 0;
			tmp2->solid = TRUE;
			tmp2->radius = 1.0f;
			tmp2->metadata = NULL;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_SphereSensor : {
			struct X3D_SphereSensor * tmp2;
			tmp2 = (struct X3D_SphereSensor *) tmp;
		/* ttmp2->v = &virt_SphereSensor;*/ 
			tmp2->__oldEnabled = TRUE;
			tmp2->trackPoint_changed.c[0] = 0.0f;tmp2->trackPoint_changed.c[1] = 0.0f;tmp2->trackPoint_changed.c[2] = 0.0f;;
			tmp2->_oldtrackPoint.c[0] = 0.0f;tmp2->_oldtrackPoint.c[1] = 0.0f;tmp2->_oldtrackPoint.c[2] = 0.0f;;
			tmp2->isOver = FALSE;
			tmp2->isActive = FALSE;
			tmp2->_oldrotation.c[0] = 0;tmp2->_oldrotation.c[1] = 0;tmp2->_oldrotation.c[2] = 1;tmp2->_oldrotation.c[3] = 0;;
			tmp2->description = newASCIIString("");
			tmp2->autoOffset = TRUE;
			tmp2->rotation_changed.c[0] = 0;tmp2->rotation_changed.c[1] = 0;tmp2->rotation_changed.c[2] = 1;tmp2->rotation_changed.c[3] = 0;;
			tmp2->_origNormalizedPoint.c[0] = 0.0f;tmp2->_origNormalizedPoint.c[1] = 0.0f;tmp2->_origNormalizedPoint.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->_origPoint.c[0] = 0.0f;tmp2->_origPoint.c[1] = 0.0f;tmp2->_origPoint.c[2] = 0.0f;;
			tmp2->offset.c[0] = 0;tmp2->offset.c[1] = 1;tmp2->offset.c[2] = 0;tmp2->offset.c[3] = 0;;
			tmp2->enabled = TRUE;
			tmp2->_radius = 0.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SplinePositionInterpolator : {
			struct X3D_SplinePositionInterpolator * tmp2;
			tmp2 = (struct X3D_SplinePositionInterpolator *) tmp;
		/* ttmp2->v = &virt_SplinePositionInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->closed = FALSE;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;tmp2->value_changed.c[2] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->keyVelocity.n=0; tmp2->keyVelocity.p=0;
			tmp2->metadata = NULL;
			tmp2->normalizeVelocity = FALSE;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SplinePositionInterpolator2D : {
			struct X3D_SplinePositionInterpolator2D * tmp2;
			tmp2 = (struct X3D_SplinePositionInterpolator2D *) tmp;
		/* ttmp2->v = &virt_SplinePositionInterpolator2D;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->closed = FALSE;
			tmp2->value_changed.c[0] = 0.0f;tmp2->value_changed.c[1] = 0.0f;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->keyVelocity.n=0; tmp2->keyVelocity.p=0;
			tmp2->metadata = NULL;
			tmp2->normalizeVelocity = FALSE;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SplineScalarInterpolator : {
			struct X3D_SplineScalarInterpolator * tmp2;
			tmp2 = (struct X3D_SplineScalarInterpolator *) tmp;
		/* ttmp2->v = &virt_SplineScalarInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->closed = FALSE;
			tmp2->value_changed = 0.0f;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->keyVelocity.n=0; tmp2->keyVelocity.p=0;
			tmp2->metadata = NULL;
			tmp2->normalizeVelocity = FALSE;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SpotLight : {
			struct X3D_SpotLight * tmp2;
			tmp2 = (struct X3D_SpotLight *) tmp;
		/* ttmp2->v = &virt_SpotLight;*/ 
			tmp2->beamWidth = 1.570796f;
			tmp2->global = TRUE;
			tmp2->location.c[0] = 0.0f;tmp2->location.c[1] = 0.0f;tmp2->location.c[2] = 0.0f;;
			tmp2->radius = 100.0f;
			tmp2->ambientIntensity = 0.0f;
			tmp2->on = TRUE;
			tmp2->direction.c[0] = 0.0f;tmp2->direction.c[1] = 0.0f;tmp2->direction.c[2] = -1.0f;;
			tmp2->cutOffAngle = 0.785398f;
			tmp2->attenuation.c[0] = 1.0f;tmp2->attenuation.c[1] = 0.0f;tmp2->attenuation.c[2] = 0.0f;;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->intensity = 1.0f;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_SquadOrientationInterpolator : {
			struct X3D_SquadOrientationInterpolator * tmp2;
			tmp2 = (struct X3D_SquadOrientationInterpolator *) tmp;
		/* ttmp2->v = &virt_SquadOrientationInterpolator;*/ 
			tmp2->set_fraction = 0.0f;
			tmp2->value_changed.c[0] = 0;tmp2->value_changed.c[1] = 0;tmp2->value_changed.c[2] = 1;tmp2->value_changed.c[3] = 0;;
			tmp2->keyValue.n=0; tmp2->keyValue.p=0;
			tmp2->metadata = NULL;
			tmp2->normalizeVelocity = FALSE;
			tmp2->key.n=0; tmp2->key.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_StaticGroup : {
			struct X3D_StaticGroup * tmp2;
			tmp2 = (struct X3D_StaticGroup *) tmp;
		/* ttmp2->v = &virt_StaticGroup;*/ 
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__solid = -1;
			tmp2->__transparency = -1;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_StringSensor : {
			struct X3D_StringSensor * tmp2;
			tmp2 = (struct X3D_StringSensor *) tmp;
		/* ttmp2->v = &virt_StringSensor;*/ 
			tmp2->_initialized = FALSE;
			tmp2->__oldEnabled = TRUE;
			tmp2->enteredText = newASCIIString("");
			tmp2->isActive = TRUE;
			tmp2->deletionAllowed = TRUE;
			tmp2->metadata = NULL;
			tmp2->finalText = newASCIIString("");
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Switch : {
			struct X3D_Switch * tmp2;
			tmp2 = (struct X3D_Switch *) tmp;
		/* ttmp2->v = &virt_Switch;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->whichChoice = -1;
			tmp2->choice.n=0; tmp2->choice.p=0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->__isX3D = (inputFileVersion[0]==3);
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Text : {
			struct X3D_Text * tmp2;
			tmp2 = (struct X3D_Text *) tmp;
		/* ttmp2->v = &virt_Text;*/ 
			tmp2->fontStyle = NULL;
			tmp2->solid = TRUE;
			tmp2->__rendersub = 0;
			tmp2->origin.c[0] = 0.0f;tmp2->origin.c[1] = 0.0f;tmp2->origin.c[2] = 0.0f;;
			tmp2->string.n=0; tmp2->string.p=0;
			tmp2->textBounds.c[0] = 0.0f;tmp2->textBounds.c[1] = 0.0f;;
			tmp2->length.n=0; tmp2->length.p=0;
			tmp2->maxExtent = 0.0f;
			tmp2->lineBounds.n=0; tmp2->lineBounds.p=0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_TextureBackground : {
			struct X3D_TextureBackground * tmp2;
			tmp2 = (struct X3D_TextureBackground *) tmp;
		/* ttmp2->v = &virt_TextureBackground;*/ 
			tmp2->topTexture = NULL;
			tmp2->__colours.n=0; tmp2->__colours.p=0;
			tmp2->isBound = FALSE;
			tmp2->groundColor.n=0; tmp2->groundColor.p=0;
			tmp2->rightTexture = NULL;
			tmp2->__quadcount = 0;
			tmp2->frontTexture = NULL;
			tmp2->metadata = NULL;
			tmp2->__VBO = 0;
			tmp2->bottomTexture = NULL;
			tmp2->transparency.p = MALLOC (float *, sizeof(float)*1);
			tmp2->transparency.p[0] = 0.0f;
			tmp2->transparency.n=1;;
			tmp2->set_bind = 0;
			tmp2->leftTexture = NULL;
			tmp2->bindTime = 0;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->skyAngle.n=0; tmp2->skyAngle.p=0;
			tmp2->backTexture = NULL;
			tmp2->skyColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->skyColor.p[0].c[0] = 0.0f; 
			tmp2->skyColor.p[0].c[1] = 0.0f; 
			tmp2->skyColor.p[0].c[2] = 0.0f; 
			tmp2->skyColor.n=1;;
			tmp2->groundAngle.n=0; tmp2->groundAngle.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TextureCoordinate : {
			struct X3D_TextureCoordinate * tmp2;
			tmp2 = (struct X3D_TextureCoordinate *) tmp;
		/* ttmp2->v = &virt_TextureCoordinate;*/ 
			tmp2->__compiledpoint.n=0; tmp2->__compiledpoint.p=0;
			tmp2->point.n=0; tmp2->point.p=0;
			tmp2->__lastParent = 0;
			tmp2->metadata = NULL;
			tmp2->__VBO = 0;
			tmp2->_defaultContainer = FIELDNAMES_texCoord;
		break;
		}
		case NODE_TextureCoordinateGenerator : {
			struct X3D_TextureCoordinateGenerator * tmp2;
			tmp2 = (struct X3D_TextureCoordinateGenerator *) tmp;
		/* ttmp2->v = &virt_TextureCoordinateGenerator;*/ 
			tmp2->parameter.n=0; tmp2->parameter.p=0;
			tmp2->__compiledmode = 0;
			tmp2->mode = newASCIIString("SPHERE");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_texCoord;
		break;
		}
		case NODE_TextureProperties : {
			struct X3D_TextureProperties * tmp2;
			tmp2 = (struct X3D_TextureProperties *) tmp;
		/* ttmp2->v = &virt_TextureProperties;*/ 
			tmp2->borderColor.c[0] = 0;tmp2->borderColor.c[1] = 0;tmp2->borderColor.c[2] = 0;tmp2->borderColor.c[3] = 0;;
			tmp2->boundaryModeS = newASCIIString("REPEAT");
			tmp2->magnificationFilter = newASCIIString("FASTEST");
			tmp2->texturePriority = 0.0f;
			tmp2->boundaryModeT = newASCIIString("REPEAT");
			tmp2->boundaryModeR = newASCIIString("REPEAT");
			tmp2->anisotropicDegree = 1.0f;
			tmp2->borderWidth = 0;
			tmp2->minificationFilter = newASCIIString("FASTEST");
			tmp2->textureCompression = newASCIIString("FASTEST");
			tmp2->generateMipMaps = FALSE;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TextureTransform : {
			struct X3D_TextureTransform * tmp2;
			tmp2 = (struct X3D_TextureTransform *) tmp;
		/* ttmp2->v = &virt_TextureTransform;*/ 
			tmp2->rotation = 0.0f;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;;
			tmp2->metadata = NULL;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_textureTransform;
		break;
		}
		case NODE_TimeSensor : {
			struct X3D_TimeSensor * tmp2;
			tmp2 = (struct X3D_TimeSensor *) tmp;
		/* ttmp2->v = &virt_TimeSensor;*/ 
			tmp2->time = -1;
			tmp2->__inittime = 0;
			tmp2->fraction_changed = 0.0f;
			tmp2->loop = FALSE;
			tmp2->resumeTime = 0;
			tmp2->cycleInterval = 1;
			tmp2->isPaused = 0;
			tmp2->pauseTime = 0;
			tmp2->startTime = 0;
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->__ctflag = 10;
			tmp2->__oldEnabled = TRUE;
			tmp2->isActive = FALSE;
			tmp2->cycleTime = -1;
			tmp2->elapsedTime = 0;
			tmp2->stopTime = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TimeTrigger : {
			struct X3D_TimeTrigger * tmp2;
			tmp2 = (struct X3D_TimeTrigger *) tmp;
		/* ttmp2->v = &virt_TimeTrigger;*/ 
			tmp2->set_boolean = 0;
			tmp2->triggerTime = 0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TouchSensor : {
			struct X3D_TouchSensor * tmp2;
			tmp2 = (struct X3D_TouchSensor *) tmp;
		/* ttmp2->v = &virt_TouchSensor;*/ 
			tmp2->__oldEnabled = TRUE;
			tmp2->isOver = FALSE;
			tmp2->hitPoint_changed.c[0] = 0.0f;tmp2->hitPoint_changed.c[1] = 0.0f;tmp2->hitPoint_changed.c[2] = 0.0f;;
			tmp2->isActive = FALSE;
			tmp2->_oldhitPoint.c[0] = 0.0f;tmp2->_oldhitPoint.c[1] = 0.0f;tmp2->_oldhitPoint.c[2] = 0.0f;;
			tmp2->description = newASCIIString("");
			tmp2->hitTexCoord_changed.c[0] = 0.0f;tmp2->hitTexCoord_changed.c[1] = 0.0f;;
			tmp2->_oldhitNormal.c[0] = 0.0f;tmp2->_oldhitNormal.c[1] = 0.0f;tmp2->_oldhitNormal.c[2] = 0.0f;;
			tmp2->hitNormal_changed.c[0] = 0.0f;tmp2->hitNormal_changed.c[1] = 0.0f;tmp2->hitNormal_changed.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->_oldhitTexCoord.c[0] = 0.0f;tmp2->_oldhitTexCoord.c[1] = 0.0f;;
			tmp2->touchTime = -1;
			tmp2->enabled = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Transform : {
			struct X3D_Transform * tmp2;
			tmp2 = (struct X3D_Transform *) tmp;
		/* ttmp2->v = &virt_Transform;*/ 
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->__do_scaleO = FALSE;
			tmp2->addChildren.n=0; tmp2->addChildren.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->__do_anything = FALSE;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->metadata = NULL;
			tmp2->__do_trans = FALSE;
			tmp2->__do_center = FALSE;
			tmp2->removeChildren.n=0; tmp2->removeChildren.p=0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->__do_rotation = FALSE;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->__do_scale = FALSE;
			tmp2->scale.c[0] = 1.0f;tmp2->scale.c[1] = 1.0f;tmp2->scale.c[2] = 1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TransmitterPdu : {
			struct X3D_TransmitterPdu * tmp2;
			tmp2 = (struct X3D_TransmitterPdu *) tmp;
		/* ttmp2->v = &virt_TransmitterPdu;*/ 
			tmp2->isStandAlone = FALSE;
			tmp2->isNetworkReader = FALSE;
			tmp2->antennaPatternType = 0;
			tmp2->isRtpHeaderHeard = FALSE;
			tmp2->frequency = 0;
			tmp2->rtpHeaderExpected = FALSE;
			tmp2->radioEntityTypeKind = 0;
			tmp2->power = 0.0f;
			tmp2->address = newASCIIString("localhost");
			tmp2->metadata = NULL;
			tmp2->modulationTypeMajor = 0;
			tmp2->modulationTypeDetail = 0;
			tmp2->enabled = TRUE;
			tmp2->multicastRelayPort = 0;
			tmp2->relativeAntennaLocation.c[0] = 0.0f;tmp2->relativeAntennaLocation.c[1] = 0.0f;tmp2->relativeAntennaLocation.c[2] = 0.0f;;
			tmp2->transmitFrequencyBandwidth = 0.0f;
			tmp2->multicastRelayHost = newASCIIString("");
			tmp2->port = 0;
			tmp2->radioEntityTypeCategory = 0;
			tmp2->whichGeometry = 1;
			tmp2->writeInterval = 1.0f;
			tmp2->radioEntityTypeCountry = 0;
			tmp2->entityID = 0;
			tmp2->isNetworkWriter = FALSE;
			tmp2->siteID = 0;
			tmp2->antennaLocation.c[0] = 0.0f;tmp2->antennaLocation.c[1] = 0.0f;tmp2->antennaLocation.c[2] = 0.0f;;
			tmp2->timestamp = 0;
			tmp2->networkMode = newASCIIString("standAlone");
			tmp2->radioEntityTypeNomenclature = 0;
			tmp2->transmitState = 0;
			tmp2->bboxSize.c[0] = -1.0f;tmp2->bboxSize.c[1] = -1.0f;tmp2->bboxSize.c[2] = -1.0f;;
			tmp2->readInterval = 0.1f;
			tmp2->applicationID = 1;
			tmp2->radioID = 0;
			tmp2->modulationTypeSpreadSpectrum = 0;
			tmp2->isActive = FALSE;
			tmp2->lengthOfModulationParameters = 0;
			tmp2->radioEntityTypeDomain = 0;
			tmp2->cryptoSystem = 0;
			tmp2->cryptoKeyID = 0;
			tmp2->modulationTypeSystem = 0;
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->radioEntityTypeNomenclatureVersion = 0;
			tmp2->inputSource = 0;
			tmp2->antennaPatternLength = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_TriangleFanSet : {
			struct X3D_TriangleFanSet * tmp2;
			tmp2 = (struct X3D_TriangleFanSet *) tmp;
		/* ttmp2->v = &virt_TriangleFanSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->fanCount.p = MALLOC (int *, sizeof(int)*1);
			tmp2->fanCount.p[0] = 3;
			tmp2->fanCount.n=1;;
			tmp2->coord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_TriangleSet : {
			struct X3D_TriangleSet * tmp2;
			tmp2 = (struct X3D_TriangleSet *) tmp;
		/* ttmp2->v = &virt_TriangleSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->coord = NULL;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_TriangleSet2D : {
			struct X3D_TriangleSet2D * tmp2;
			tmp2 = (struct X3D_TriangleSet2D *) tmp;
		/* ttmp2->v = &virt_TriangleSet2D;*/ 
			tmp2->vertices.n=0; tmp2->vertices.p=0;
			tmp2->solid = FALSE;
			tmp2->__texCoords = 0;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_TriangleStripSet : {
			struct X3D_TriangleStripSet * tmp2;
			tmp2 = (struct X3D_TriangleStripSet *) tmp;
		/* ttmp2->v = &virt_TriangleStripSet;*/ 
			tmp2->solid = TRUE;
			tmp2->normal = NULL;
			tmp2->colorPerVertex = TRUE;
			tmp2->texCoord = NULL;
			tmp2->ccw = TRUE;
			tmp2->stripCount.n=0; tmp2->stripCount.p=0;
			tmp2->color = NULL;
			tmp2->fogCoord = NULL;
			tmp2->coord = NULL;
			tmp2->attrib.n=0; tmp2->attrib.p=0;
			tmp2->metadata = NULL;
			tmp2->normalPerVertex = TRUE;
			tmp2->_coordIndex.n=0; tmp2->_coordIndex.p=0;
			tmp2->_defaultContainer = FIELDNAMES_geometry;
		break;
		}
		case NODE_TwoSidedMaterial : {
			struct X3D_TwoSidedMaterial * tmp2;
			tmp2 = (struct X3D_TwoSidedMaterial *) tmp;
		/* ttmp2->v = &virt_TwoSidedMaterial;*/ 
			tmp2->specularColor.c[0] = 0.0f;tmp2->specularColor.c[1] = 0.0f;tmp2->specularColor.c[2] = 0.0f;;
			tmp2->_verifiedBackColor.p = MALLOC (float *, sizeof(float)*17);
			tmp2->_verifiedBackColor.p[0] = 0.0f;
			tmp2->_verifiedBackColor.p[1] = 0.0f;
			tmp2->_verifiedBackColor.p[2] = 0.0f;
			tmp2->_verifiedBackColor.p[3] = 0.0f;
			tmp2->_verifiedBackColor.p[4] = 0.0f;
			tmp2->_verifiedBackColor.p[5] = 0.0f;
			tmp2->_verifiedBackColor.p[6] = 0.0f;
			tmp2->_verifiedBackColor.p[7] = 0.0f;
			tmp2->_verifiedBackColor.p[8] = 0.0f;
			tmp2->_verifiedBackColor.p[9] = 0.0f;
			tmp2->_verifiedBackColor.p[10] = 0.0f;
			tmp2->_verifiedBackColor.p[11] = 0.0f;
			tmp2->_verifiedBackColor.p[12] = 0.0f;
			tmp2->_verifiedBackColor.p[13] = 0.0f;
			tmp2->_verifiedBackColor.p[14] = 0.0f;
			tmp2->_verifiedBackColor.p[15] = 0.0f;
			tmp2->_verifiedBackColor.p[16] = 0.0f;
			tmp2->_verifiedBackColor.n=17;;
			tmp2->backAmbientIntensity = 0.2f;
			tmp2->metadata = NULL;
			tmp2->backEmissiveColor.c[0] = 0.0f;tmp2->backEmissiveColor.c[1] = 0.0f;tmp2->backEmissiveColor.c[2] = 0.0f;;
			tmp2->backDiffuseColor.c[0] = 0.8f;tmp2->backDiffuseColor.c[1] = 0.8f;tmp2->backDiffuseColor.c[2] = 0.8f;;
			tmp2->transparency = 0.0f;
			tmp2->separateBackColor = FALSE;
			tmp2->shininess = 0.2f;
			tmp2->_verifiedFrontColor.p = MALLOC (float *, sizeof(float)*17);
			tmp2->_verifiedFrontColor.p[0] = 0.0f;
			tmp2->_verifiedFrontColor.p[1] = 0.0f;
			tmp2->_verifiedFrontColor.p[2] = 0.0f;
			tmp2->_verifiedFrontColor.p[3] = 0.0f;
			tmp2->_verifiedFrontColor.p[4] = 0.0f;
			tmp2->_verifiedFrontColor.p[5] = 0.0f;
			tmp2->_verifiedFrontColor.p[6] = 0.0f;
			tmp2->_verifiedFrontColor.p[7] = 0.0f;
			tmp2->_verifiedFrontColor.p[8] = 0.0f;
			tmp2->_verifiedFrontColor.p[9] = 0.0f;
			tmp2->_verifiedFrontColor.p[10] = 0.0f;
			tmp2->_verifiedFrontColor.p[11] = 0.0f;
			tmp2->_verifiedFrontColor.p[12] = 0.0f;
			tmp2->_verifiedFrontColor.p[13] = 0.0f;
			tmp2->_verifiedFrontColor.p[14] = 0.0f;
			tmp2->_verifiedFrontColor.p[15] = 0.0f;
			tmp2->_verifiedFrontColor.p[16] = 0.0f;
			tmp2->_verifiedFrontColor.n=17;;
			tmp2->diffuseColor.c[0] = 0.8f;tmp2->diffuseColor.c[1] = 0.8f;tmp2->diffuseColor.c[2] = 0.8f;;
			tmp2->ambientIntensity = 0.2f;
			tmp2->backSpecularColor.c[0] = 0.0f;tmp2->backSpecularColor.c[1] = 0.0f;tmp2->backSpecularColor.c[2] = 0.0f;;
			tmp2->backTransparency = 0.0f;
			tmp2->emissiveColor.c[0] = 0.0f;tmp2->emissiveColor.c[1] = 0.0f;tmp2->emissiveColor.c[2] = 0.0f;;
			tmp2->backShininess = 0.2f;
			tmp2->_defaultContainer = FIELDNAMES_material;
		break;
		}
		case NODE_VRML1_AsciiText : {
			struct X3D_VRML1_AsciiText * tmp2;
			tmp2 = (struct X3D_VRML1_AsciiText *) tmp;
		/* ttmp2->v = &virt_VRML1_AsciiText;*/ 
			tmp2->width.p = MALLOC (float *, sizeof(float)*1);
			tmp2->width.p[0] = 0.0f;
			tmp2->width.n=1;;
			tmp2->justification = newASCIIString("LEFT");
			tmp2->string.n=0; tmp2->string.p=0;
			tmp2->spacing = 1.0f;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Cone : {
			struct X3D_VRML1_Cone * tmp2;
			tmp2 = (struct X3D_VRML1_Cone *) tmp;
		/* ttmp2->v = &virt_VRML1_Cone;*/ 
			tmp2->parts = newASCIIString("ALL");
			tmp2->bottomRadius = 1.0f;
			tmp2->height = 2.0f;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Coordinate3 : {
			struct X3D_VRML1_Coordinate3 * tmp2;
			tmp2 = (struct X3D_VRML1_Coordinate3 *) tmp;
		/* ttmp2->v = &virt_VRML1_Coordinate3;*/ 
			tmp2->point.p = MALLOC (struct SFVec3f *, sizeof(struct SFVec3f)*1);

			tmp2->point.p[0].c[0] = 0.0f; 
			tmp2->point.p[0].c[1] = 0.0f; 
			tmp2->point.p[0].c[2] = 0.0f; 
			tmp2->point.n=1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Cube : {
			struct X3D_VRML1_Cube * tmp2;
			tmp2 = (struct X3D_VRML1_Cube *) tmp;
		/* ttmp2->v = &virt_VRML1_Cube;*/ 
			tmp2->width = 2.0f;
			tmp2->height = 2.0f;
			tmp2->depth = 2.0f;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Cylinder : {
			struct X3D_VRML1_Cylinder * tmp2;
			tmp2 = (struct X3D_VRML1_Cylinder *) tmp;
		/* ttmp2->v = &virt_VRML1_Cylinder;*/ 
			tmp2->radius = 1.0f;
			tmp2->parts = newASCIIString("ALL");
			tmp2->height = 2.0f;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_DirectionalLight : {
			struct X3D_VRML1_DirectionalLight * tmp2;
			tmp2 = (struct X3D_VRML1_DirectionalLight *) tmp;
		/* ttmp2->v = &virt_VRML1_DirectionalLight;*/ 
			tmp2->on = TRUE;
			tmp2->direction.c[0] = 0.0f;tmp2->direction.c[1] = 0.0f;tmp2->direction.c[2] = -1.0f;;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->intensity = 1.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_FontStyle : {
			struct X3D_VRML1_FontStyle * tmp2;
			tmp2 = (struct X3D_VRML1_FontStyle *) tmp;
		/* ttmp2->v = &virt_VRML1_FontStyle;*/ 
			tmp2->style = newASCIIString("NONE");
			tmp2->size = 10.0f;
			tmp2->family = newASCIIString("SERIF");
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_IndexedFaceSet : {
			struct X3D_VRML1_IndexedFaceSet * tmp2;
			tmp2 = (struct X3D_VRML1_IndexedFaceSet *) tmp;
		/* ttmp2->v = &virt_VRML1_IndexedFaceSet;*/ 
			tmp2->_solid = TRUE;
			tmp2->normalIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->normalIndex.p[0] = -1;
			tmp2->normalIndex.n=1;;
			tmp2->_normal = NULL;
			tmp2->materialIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->materialIndex.p[0] = -1;
			tmp2->materialIndex.n=1;;
			tmp2->_cpv = TRUE;
			tmp2->_creaseAngle = 0.0f;
			tmp2->_color = NULL;
			tmp2->_ccw = TRUE;
			tmp2->_convex = TRUE;
			tmp2->coordIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->coordIndex.p[0] = 0;
			tmp2->coordIndex.n=1;;
			tmp2->_texCoord = NULL;
			tmp2->_coord = NULL;
			tmp2->textureCoordIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->textureCoordIndex.p[0] = -1;
			tmp2->textureCoordIndex.n=1;;
			tmp2->_npv = TRUE;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_IndexedLineSet : {
			struct X3D_VRML1_IndexedLineSet * tmp2;
			tmp2 = (struct X3D_VRML1_IndexedLineSet *) tmp;
		/* ttmp2->v = &virt_VRML1_IndexedLineSet;*/ 
			tmp2->normalIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->normalIndex.p[0] = -1;
			tmp2->normalIndex.n=1;;
			tmp2->coordIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->coordIndex.p[0] = 0;
			tmp2->coordIndex.n=1;;
			tmp2->materialIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->materialIndex.p[0] = -1;
			tmp2->materialIndex.n=1;;
			tmp2->textureCoordIndex.p = MALLOC (int *, sizeof(int)*1);
			tmp2->textureCoordIndex.p[0] = -1;
			tmp2->textureCoordIndex.n=1;;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Info : {
			struct X3D_VRML1_Info * tmp2;
			tmp2 = (struct X3D_VRML1_Info *) tmp;
		/* ttmp2->v = &virt_VRML1_Info;*/ 
			tmp2->string = newASCIIString("");
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_LOD : {
			struct X3D_VRML1_LOD * tmp2;
			tmp2 = (struct X3D_VRML1_LOD *) tmp;
		/* ttmp2->v = &virt_VRML1_LOD;*/ 
			tmp2->range.n=0; tmp2->range.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Material : {
			struct X3D_VRML1_Material * tmp2;
			tmp2 = (struct X3D_VRML1_Material *) tmp;
		/* ttmp2->v = &virt_VRML1_Material;*/ 
			tmp2->transparency.p = MALLOC (float *, sizeof(float)*1);
			tmp2->transparency.p[0] = 0.0f;
			tmp2->transparency.n=1;;
			tmp2->specularColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->specularColor.p[0].c[0] = 0.0f; 
			tmp2->specularColor.p[0].c[1] = 0.0f; 
			tmp2->specularColor.p[0].c[2] = 0.0f; 
			tmp2->specularColor.n=1;;
			tmp2->_verifiedColor.p = MALLOC (float *, sizeof(float)*17);
			tmp2->_verifiedColor.p[0] = 0.0f;
			tmp2->_verifiedColor.p[1] = 0.0f;
			tmp2->_verifiedColor.p[2] = 0.0f;
			tmp2->_verifiedColor.p[3] = 0.0f;
			tmp2->_verifiedColor.p[4] = 0.0f;
			tmp2->_verifiedColor.p[5] = 0.0f;
			tmp2->_verifiedColor.p[6] = 0.0f;
			tmp2->_verifiedColor.p[7] = 0.0f;
			tmp2->_verifiedColor.p[8] = 0.0f;
			tmp2->_verifiedColor.p[9] = 0.0f;
			tmp2->_verifiedColor.p[10] = 0.0f;
			tmp2->_verifiedColor.p[11] = 0.0f;
			tmp2->_verifiedColor.p[12] = 0.0f;
			tmp2->_verifiedColor.p[13] = 0.0f;
			tmp2->_verifiedColor.p[14] = 0.0f;
			tmp2->_verifiedColor.p[15] = 0.0f;
			tmp2->_verifiedColor.p[16] = 0.0f;
			tmp2->_verifiedColor.n=17;;
			tmp2->emissiveColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->emissiveColor.p[0].c[0] = 0.0f; 
			tmp2->emissiveColor.p[0].c[1] = 0.0f; 
			tmp2->emissiveColor.p[0].c[2] = 0.0f; 
			tmp2->emissiveColor.n=1;;
			tmp2->shininess.n=0; tmp2->shininess.p=0;
			tmp2->diffuseColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->diffuseColor.p[0].c[0] = 0.8f; 
			tmp2->diffuseColor.p[0].c[1] = 0.8f; 
			tmp2->diffuseColor.p[0].c[2] = 0.8f; 
			tmp2->diffuseColor.n=1;;
			tmp2->ambientColor.p = MALLOC (struct SFColor *, sizeof(struct SFColor)*1);

			tmp2->ambientColor.p[0].c[0] = 0.2f; 
			tmp2->ambientColor.p[0].c[1] = 0.2f; 
			tmp2->ambientColor.p[0].c[2] = 0.2f; 
			tmp2->ambientColor.n=1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_MaterialBinding : {
			struct X3D_VRML1_MaterialBinding * tmp2;
			tmp2 = (struct X3D_VRML1_MaterialBinding *) tmp;
		/* ttmp2->v = &virt_VRML1_MaterialBinding;*/ 
			tmp2->_initialized = FALSE;
			tmp2->value = newASCIIString("OVERALL");
			tmp2->_Value = -1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_MatrixTransform : {
			struct X3D_VRML1_MatrixTransform * tmp2;
			tmp2 = (struct X3D_VRML1_MatrixTransform *) tmp;
		/* ttmp2->v = &virt_VRML1_MatrixTransform;*/ 
			tmp2->value.c[0] = 1;tmp2->value.c[1] = 0;tmp2->value.c[2] = 0;tmp2->value.c[3] = 0;tmp2->value.c[4] = 0;tmp2->value.c[5] = 1;tmp2->value.c[6] = 0;tmp2->value.c[7] = 0;tmp2->value.c[8] = 0;tmp2->value.c[9] = 0;tmp2->value.c[10] = 1;tmp2->value.c[11] = 0;tmp2->value.c[12] = 0;tmp2->value.c[13] = 0;tmp2->value.c[14] = 0;tmp2->value.c[15] = 1;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Normal : {
			struct X3D_VRML1_Normal * tmp2;
			tmp2 = (struct X3D_VRML1_Normal *) tmp;
		/* ttmp2->v = &virt_VRML1_Normal;*/ 
			tmp2->vector.n=0; tmp2->vector.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_NormalBinding : {
			struct X3D_VRML1_NormalBinding * tmp2;
			tmp2 = (struct X3D_VRML1_NormalBinding *) tmp;
		/* ttmp2->v = &virt_VRML1_NormalBinding;*/ 
			tmp2->_initialized = FALSE;
			tmp2->value = newASCIIString("DEFAULT");
			tmp2->_Value = -1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_OrthographicCamera : {
			struct X3D_VRML1_OrthographicCamera * tmp2;
			tmp2 = (struct X3D_VRML1_OrthographicCamera *) tmp;
		/* ttmp2->v = &virt_VRML1_OrthographicCamera;*/ 
			tmp2->position.c[0] = 0.0f;tmp2->position.c[1] = 0.0f;tmp2->position.c[2] = 1.0f;;
			tmp2->orientation.c[0] = 0;tmp2->orientation.c[1] = 0;tmp2->orientation.c[2] = 1;tmp2->orientation.c[3] = 0;;
			tmp2->focalDistance = 5.0f;
			tmp2->height = 2.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_PerspectiveCamera : {
			struct X3D_VRML1_PerspectiveCamera * tmp2;
			tmp2 = (struct X3D_VRML1_PerspectiveCamera *) tmp;
		/* ttmp2->v = &virt_VRML1_PerspectiveCamera;*/ 
			tmp2->heightAngle = 0.785398f;
			tmp2->position.c[0] = 0.0f;tmp2->position.c[1] = 0.0f;tmp2->position.c[2] = 1.0f;;
			tmp2->orientation.c[0] = 0;tmp2->orientation.c[1] = 0;tmp2->orientation.c[2] = 1;tmp2->orientation.c[3] = 0;;
			tmp2->focalDistance = 5.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_PointLight : {
			struct X3D_VRML1_PointLight * tmp2;
			tmp2 = (struct X3D_VRML1_PointLight *) tmp;
		/* ttmp2->v = &virt_VRML1_PointLight;*/ 
			tmp2->on = TRUE;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->location.c[0] = 0.0f;tmp2->location.c[1] = 0.0f;tmp2->location.c[2] = 1.0f;;
			tmp2->intensity = 1.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_PointSet : {
			struct X3D_VRML1_PointSet * tmp2;
			tmp2 = (struct X3D_VRML1_PointSet *) tmp;
		/* ttmp2->v = &virt_VRML1_PointSet;*/ 
			tmp2->startIndex = 0;
			tmp2->numPoints = -1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Rotation : {
			struct X3D_VRML1_Rotation * tmp2;
			tmp2 = (struct X3D_VRML1_Rotation *) tmp;
		/* ttmp2->v = &virt_VRML1_Rotation;*/ 
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Scale : {
			struct X3D_VRML1_Scale * tmp2;
			tmp2 = (struct X3D_VRML1_Scale *) tmp;
		/* ttmp2->v = &virt_VRML1_Scale;*/ 
			tmp2->scaleFactor.c[0] = 1.0f;tmp2->scaleFactor.c[1] = 1.0f;tmp2->scaleFactor.c[2] = 1.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Separator : {
			struct X3D_VRML1_Separator * tmp2;
			tmp2 = (struct X3D_VRML1_Separator *) tmp;
		/* ttmp2->v = &virt_VRML1_Separator;*/ 
			tmp2->renderCulling = newASCIIString("AUTO");
			tmp2->VRML1children.n=0; tmp2->VRML1children.p=0;
			tmp2->_sortedChildren.n=0; tmp2->_sortedChildren.p=0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_ShapeHints : {
			struct X3D_VRML1_ShapeHints * tmp2;
			tmp2 = (struct X3D_VRML1_ShapeHints *) tmp;
		/* ttmp2->v = &virt_VRML1_ShapeHints;*/ 
			tmp2->_faceValue = 0;
			tmp2->faceType = newASCIIString("CONVEX");
			tmp2->_initialized = FALSE;
			tmp2->_typeValue = 0;
			tmp2->creaseAngle = 0.5;
			tmp2->vertexOrdering = newASCIIString("CLOCKWISE");
			tmp2->shapeType = newASCIIString("SOLID");
			tmp2->_vertValue = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Sphere : {
			struct X3D_VRML1_Sphere * tmp2;
			tmp2 = (struct X3D_VRML1_Sphere *) tmp;
		/* ttmp2->v = &virt_VRML1_Sphere;*/ 
			tmp2->radius = 1.0f;
			tmp2->_ILS = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_SpotLight : {
			struct X3D_VRML1_SpotLight * tmp2;
			tmp2 = (struct X3D_VRML1_SpotLight *) tmp;
		/* ttmp2->v = &virt_VRML1_SpotLight;*/ 
			tmp2->on = TRUE;
			tmp2->direction.c[0] = 0.0f;tmp2->direction.c[1] = 0.0f;tmp2->direction.c[2] = -1.0f;;
			tmp2->color.c[0] = 1.0f;tmp2->color.c[1] = 1.0f;tmp2->color.c[2] = 1.0f;;
			tmp2->cutOffAngle = 0.785398f;
			tmp2->location.c[0] = 0.0f;tmp2->location.c[1] = 0.0f;tmp2->location.c[2] = 1.0f;;
			tmp2->dropOffRate = 0.0f;
			tmp2->intensity = 1.0f;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Switch : {
			struct X3D_VRML1_Switch * tmp2;
			tmp2 = (struct X3D_VRML1_Switch *) tmp;
		/* ttmp2->v = &virt_VRML1_Switch;*/ 
			tmp2->whichChild = -1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Texture2 : {
			struct X3D_VRML1_Texture2 * tmp2;
			tmp2 = (struct X3D_VRML1_Texture2 *) tmp;
		/* ttmp2->v = &virt_VRML1_Texture2;*/ 
			tmp2->wrapS = newASCIIString("REPEAT");
			tmp2->__textureTableIndex = 0;
			tmp2->image.n=3; tmp2->image.p=MALLOC (int *, sizeof(int)*3); tmp2->image.p[0] = 0; tmp2->image.p[1] = 0; tmp2->image.p[2] = 0;;
			tmp2->wrapT = newASCIIString("REPEAT");
			tmp2->_initialized = FALSE;
			tmp2->_wrapS = -1;
			tmp2->_wrapT = -1;
			tmp2->filename.n=0; tmp2->filename.p=0;
			tmp2->_parentResource = getInputResource();
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Texture2Transform : {
			struct X3D_VRML1_Texture2Transform * tmp2;
			tmp2 = (struct X3D_VRML1_Texture2Transform *) tmp;
		/* ttmp2->v = &virt_VRML1_Texture2Transform;*/ 
			tmp2->rotation = 0.0f;
			tmp2->scaleFactor.c[0] = 1.0f;tmp2->scaleFactor.c[1] = 1.0f;;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_TextureCoordinate2 : {
			struct X3D_VRML1_TextureCoordinate2 * tmp2;
			tmp2 = (struct X3D_VRML1_TextureCoordinate2 *) tmp;
		/* ttmp2->v = &virt_VRML1_TextureCoordinate2;*/ 
			tmp2->point.p = MALLOC (struct SFVec2f *, sizeof(struct SFVec2f)*1);
			tmp2->point.p[0].c[0] = 0.0f; 
			tmp2->point.p[0].c[1] = 0.0f; 
			tmp2->point.n=1;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Transform : {
			struct X3D_VRML1_Transform * tmp2;
			tmp2 = (struct X3D_VRML1_Transform *) tmp;
		/* ttmp2->v = &virt_VRML1_Transform;*/ 
			tmp2->rotation.c[0] = 0;tmp2->rotation.c[1] = 0;tmp2->rotation.c[2] = 1;tmp2->rotation.c[3] = 0;;
			tmp2->scaleOrientation.c[0] = 0;tmp2->scaleOrientation.c[1] = 0;tmp2->scaleOrientation.c[2] = 1;tmp2->scaleOrientation.c[3] = 0;;
			tmp2->scaleFactor.c[0] = 1.0f;tmp2->scaleFactor.c[1] = 1.0f;tmp2->scaleFactor.c[2] = 1.0f;;
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_Translation : {
			struct X3D_VRML1_Translation * tmp2;
			tmp2 = (struct X3D_VRML1_Translation *) tmp;
		/* ttmp2->v = &virt_VRML1_Translation;*/ 
			tmp2->translation.c[0] = 0.0f;tmp2->translation.c[1] = 0.0f;tmp2->translation.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_WWWAnchor : {
			struct X3D_VRML1_WWWAnchor * tmp2;
			tmp2 = (struct X3D_VRML1_WWWAnchor *) tmp;
		/* ttmp2->v = &virt_VRML1_WWWAnchor;*/ 
			tmp2->map = newASCIIString("");
			tmp2->name = newASCIIString("");
			tmp2->description = newASCIIString("");
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VRML1_WWWInline : {
			struct X3D_VRML1_WWWInline * tmp2;
			tmp2 = (struct X3D_VRML1_WWWInline *) tmp;
		/* ttmp2->v = &virt_VRML1_WWWInline;*/ 
			tmp2->bboxCenter.c[0] = 0.0f;tmp2->bboxCenter.c[1] = 0.0f;tmp2->bboxCenter.c[2] = 0.0f;;
			tmp2->name = newASCIIString("");
			tmp2->bboxSize.c[0] = 0.0f;tmp2->bboxSize.c[1] = 0.0f;tmp2->bboxSize.c[2] = 0.0f;;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_Viewpoint : {
			struct X3D_Viewpoint * tmp2;
			tmp2 = (struct X3D_Viewpoint *) tmp;
		/* ttmp2->v = &virt_Viewpoint;*/ 
			tmp2->set_bind = 0;
			tmp2->orientation.c[0] = 0;tmp2->orientation.c[1] = 0;tmp2->orientation.c[2] = 1;tmp2->orientation.c[3] = 0;;
			tmp2->position.c[0] = 0.0f;tmp2->position.c[1] = 0.0f;tmp2->position.c[2] = 10.0f;;
			tmp2->jump = TRUE;
			tmp2->retainUserOffsets = FALSE;
			tmp2->centerOfRotation.c[0] = 0.0f;tmp2->centerOfRotation.c[1] = 0.0f;tmp2->centerOfRotation.c[2] = 0.0f;;
			tmp2->description = newASCIIString("");
			tmp2->bindTime = -1;
			tmp2->isBound = FALSE;
			tmp2->fieldOfView = 0.785398f;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_ViewpointGroup : {
			struct X3D_ViewpointGroup * tmp2;
			tmp2 = (struct X3D_ViewpointGroup *) tmp;
		/* ttmp2->v = &virt_ViewpointGroup;*/ 
			tmp2->displayed = TRUE;
			tmp2->children.n=0; tmp2->children.p=0;
			tmp2->retainUserOffsets = FALSE;
			tmp2->description = newASCIIString("");
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->size.c[0] = 0.0f;tmp2->size.c[1] = 0.0f;tmp2->size.c[2] = 0.0f;;
			tmp2->__proxNode = NULL;
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_VisibilitySensor : {
			struct X3D_VisibilitySensor * tmp2;
			tmp2 = (struct X3D_VisibilitySensor *) tmp;
		/* ttmp2->v = &virt_VisibilitySensor;*/ 
			tmp2->__visible = 0;
			tmp2->__oldEnabled = TRUE;
			tmp2->enterTime = -1;
			tmp2->isActive = FALSE;
			tmp2->__occludeCheckCount = -1;
			tmp2->__points.n=0; tmp2->__points.p=0;
			tmp2->center.c[0] = 0.0f;tmp2->center.c[1] = 0.0f;tmp2->center.c[2] = 0.0f;;
			tmp2->size.c[0] = 0.0f;tmp2->size.c[1] = 0.0f;tmp2->size.c[2] = 0.0f;;
			tmp2->exitTime = -1;
			tmp2->metadata = NULL;
			tmp2->enabled = TRUE;
			tmp2->__Samples = 0;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
		case NODE_WorldInfo : {
			struct X3D_WorldInfo * tmp2;
			tmp2 = (struct X3D_WorldInfo *) tmp;
		/* ttmp2->v = &virt_WorldInfo;*/ 
			tmp2->info.n=0; tmp2->info.p=0;
			tmp2->title = newASCIIString("");
			tmp2->metadata = NULL;
			tmp2->_defaultContainer = FIELDNAMES_children;
		break;
		}
	};
	
	/* is this a texture holding node? */
	registerTexture(tmp);
	/* Node Tracking */
	registerX3DNode(tmp);
	/* is this a bindable node? */
	registerBindable(tmp);
	/* is this a OSC sensor node? */
	add_OSCsensor(tmp); /* WANT_OSC */
	/* is this a pick sensor node? */
	add_picksensor(tmp); /* DJTRACK_PICKSENSORS */
	/* is this a time tick node? */
       add_first(tmp);
       /* possibly a KeySensor node? */
       addNodeToKeySensorList(X3D_NODE(tmp));
	return tmp;
}
/* Dump the scene graph.  */
#define Boolean int
void dump_scene (FILE *fp, int level, struct X3D_Node* node) {
	#define spacer	for (lc=0; lc<level; lc++) fprintf (fp,"\t");
	int lc;
	int i;
	char *nodeName;
	#ifdef FW_DEBUG
		Boolean allFields;
		if (fileno(fp) == fileno(stdout)) { allFields = TRUE; } else { allFields = FALSE; }
	#else
		Boolean allFields = FALSE;
	#endif
	/* See vi +/double_conditional codegen/VRMLC.pm */
	if (node==NULL) return; 

	fflush(fp);
	if (level == 0) fprintf (fp,"starting dump_scene\n");
	nodeName = parser_getNameFromNode(node) ;
	if (nodeName == NULL) {
		spacer fprintf (fp,"L%d: node (%p) () type %s\n",level,node,stringNodeType(node->_nodeType));
	} else {
		spacer fprintf (fp,"L%d: node (%p) (DEF %s) type %s\n",level,node,nodeName,stringNodeType(node->_nodeType));
	}
	switch (node->_nodeType) {
		case NODE_Anchor : {
			struct X3D_Anchor *tmp;
			tmp = (struct X3D_Anchor *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\tparameter (MFString): \n");
			for (i=0; i<tmp->parameter.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->parameter.p[i]->strptr); }
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Appearance : {
			struct X3D_Appearance *tmp;
			tmp = (struct X3D_Appearance *) node;
			spacer fprintf (fp,"\tlineProperties (SFNode):\n"); dump_scene(fp,level+1,tmp->lineProperties); 
			spacer fprintf (fp,"\tshaders (MFNode):\n");
			for (i=0; i<tmp->shaders.n; i++) { dump_scene(fp,level+1,tmp->shaders.p[i]); }
			spacer fprintf (fp,"\ttextureTransform (SFNode):\n"); dump_scene(fp,level+1,tmp->textureTransform); 
			spacer fprintf (fp,"\tfillProperties (SFNode):\n"); dump_scene(fp,level+1,tmp->fillProperties); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tmaterial (SFNode):\n"); dump_scene(fp,level+1,tmp->material); 
			spacer fprintf (fp,"\ttexture (SFNode):\n"); dump_scene(fp,level+1,tmp->texture); 
		    break;
		}
		case NODE_Arc2D : {
			struct X3D_Arc2D *tmp;
			tmp = (struct X3D_Arc2D *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ArcClose2D : {
			struct X3D_ArcClose2D *tmp;
			tmp = (struct X3D_ArcClose2D *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_AudioClip : {
			struct X3D_AudioClip *tmp;
			tmp = (struct X3D_AudioClip *) node;
			spacer fprintf (fp,"\tloop (SFBool) \t%d\n",tmp->loop);
			spacer fprintf (fp,"\tresumeTime (SFTime) \t%4.3f\n",tmp->resumeTime);
			spacer fprintf (fp,"\tpauseTime (SFTime) \t%4.3f\n",tmp->pauseTime);
			spacer fprintf (fp,"\tpitch (SFFloat) \t%4.3f\n",tmp->pitch);
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
			spacer fprintf (fp,"\tstartTime (SFTime) \t%4.3f\n",tmp->startTime);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tstopTime (SFTime) \t%4.3f\n",tmp->stopTime);
		    break;
		}
		case NODE_Background : {
			struct X3D_Background *tmp;
			tmp = (struct X3D_Background *) node;
			spacer fprintf (fp,"\trightUrl (MFString): \n");
			for (i=0; i<tmp->rightUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->rightUrl.p[i]->strptr); }
			spacer fprintf (fp,"\ttopUrl (MFString): \n");
			for (i=0; i<tmp->topUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->topUrl.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\t__leftTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__leftTexture); 
		    }
			spacer fprintf (fp,"\tbackUrl (MFString): \n");
			for (i=0; i<tmp->backUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->backUrl.p[i]->strptr); }
			spacer fprintf (fp,"\tgroundColor (MFColor):\n");
			for (i=0; i<tmp->groundColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->groundColor.p[i]).c[0], (tmp->groundColor.p[i]).c[1],(tmp->groundColor.p[i]).c[2]); }
			spacer fprintf (fp,"\tleftUrl (MFString): \n");
			for (i=0; i<tmp->leftUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->leftUrl.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\t__bottomTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__bottomTexture); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__textureright (SFInt32) \t%d\n",tmp->__textureright);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__frontTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__frontTexture); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__topTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__topTexture); 
		    }
			spacer fprintf (fp,"\ttransparency (SFFloat) \t%4.3f\n",tmp->transparency);
			spacer fprintf (fp,"\tbottomUrl (MFString): \n");
			for (i=0; i<tmp->bottomUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->bottomUrl.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\t__rightTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__rightTexture); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__backTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->__backTexture); 
		    }
			spacer fprintf (fp,"\tfrontUrl (MFString): \n");
			for (i=0; i<tmp->frontUrl.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->frontUrl.p[i]->strptr); }
			spacer fprintf (fp,"\tskyAngle (MFFloat):\n");
			for (i=0; i<tmp->skyAngle.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->skyAngle.p[i]); }
			spacer fprintf (fp,"\tskyColor (MFColor):\n");
			for (i=0; i<tmp->skyColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->skyColor.p[i]).c[0], (tmp->skyColor.p[i]).c[1],(tmp->skyColor.p[i]).c[2]); }
			spacer fprintf (fp,"\tgroundAngle (MFFloat):\n");
			for (i=0; i<tmp->groundAngle.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->groundAngle.p[i]); }
		    break;
		}
		case NODE_Billboard : {
			struct X3D_Billboard *tmp;
			tmp = (struct X3D_Billboard *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\taxisOfRotation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->axisOfRotation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_BooleanFilter : {
			struct X3D_BooleanFilter *tmp;
			tmp = (struct X3D_BooleanFilter *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_BooleanSequencer : {
			struct X3D_BooleanSequencer *tmp;
			tmp = (struct X3D_BooleanSequencer *) node;
			spacer fprintf (fp,"\tkeyValue (MFBool):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->keyValue.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_BooleanToggle : {
			struct X3D_BooleanToggle *tmp;
			tmp = (struct X3D_BooleanToggle *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_BooleanTrigger : {
			struct X3D_BooleanTrigger *tmp;
			tmp = (struct X3D_BooleanTrigger *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Box : {
			struct X3D_Box *tmp;
			tmp = (struct X3D_Box *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tsize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_Circle2D : {
			struct X3D_Circle2D *tmp;
			tmp = (struct X3D_Circle2D *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ClipPlane : {
			struct X3D_ClipPlane *tmp;
			tmp = (struct X3D_ClipPlane *) node;
			spacer fprintf (fp,"\tplane (SFVec4f): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->plane.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_Collision : {
			struct X3D_Collision *tmp;
			tmp = (struct X3D_Collision *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__hit (SFInt32) \t%d\n",tmp->__hit);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tcollide (SFBool) \t%d\n",tmp->collide);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_Color : {
			struct X3D_Color *tmp;
			tmp = (struct X3D_Color *) node;
			spacer fprintf (fp,"\tcolor (MFColor):\n");
			for (i=0; i<tmp->color.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->color.p[i]).c[0], (tmp->color.p[i]).c[1],(tmp->color.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ColorInterpolator : {
			struct X3D_ColorInterpolator *tmp;
			tmp = (struct X3D_ColorInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFColor):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_ColorRGBA : {
			struct X3D_ColorRGBA *tmp;
			tmp = (struct X3D_ColorRGBA *) node;
			spacer fprintf (fp,"\tcolor (MFColorRGBA):\n");
			for (i=0; i<tmp->color.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->color.p[i]).c[0], (tmp->color.p[i]).c[1],(tmp->color.p[i]).c[2],(tmp->color.p[i]).c[3]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ComposedCubeMapTexture : {
			struct X3D_ComposedCubeMapTexture *tmp;
			tmp = (struct X3D_ComposedCubeMapTexture *) node;
			spacer fprintf (fp,"\tleft (SFNode):\n"); dump_scene(fp,level+1,tmp->left); 
			spacer fprintf (fp,"\tright (SFNode):\n"); dump_scene(fp,level+1,tmp->right); 
			spacer fprintf (fp,"\ttop (SFNode):\n"); dump_scene(fp,level+1,tmp->top); 
			spacer fprintf (fp,"\tfront (SFNode):\n"); dump_scene(fp,level+1,tmp->front); 
			spacer fprintf (fp,"\tback (SFNode):\n"); dump_scene(fp,level+1,tmp->back); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tbottom (SFNode):\n"); dump_scene(fp,level+1,tmp->bottom); 
		    break;
		}
		case NODE_ComposedShader : {
			struct X3D_ComposedShader *tmp;
			tmp = (struct X3D_ComposedShader *) node;
			spacer fprintf (fp,"\tparts (MFNode):\n");
			for (i=0; i<tmp->parts.n; i++) { dump_scene(fp,level+1,tmp->parts.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Cone : {
			struct X3D_Cone *tmp;
			tmp = (struct X3D_Cone *) node;
			spacer fprintf (fp,"\tbottom (SFBool) \t%d\n",tmp->bottom);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Contour2D : {
			struct X3D_Contour2D *tmp;
			tmp = (struct X3D_Contour2D *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ContourPolyLine2D : {
			struct X3D_ContourPolyLine2D *tmp;
			tmp = (struct X3D_ContourPolyLine2D *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Coordinate : {
			struct X3D_Coordinate *tmp;
			tmp = (struct X3D_Coordinate *) node;
			spacer fprintf (fp,"\tpoint (MFVec3f):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1],(tmp->point.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_CoordinateInterpolator : {
			struct X3D_CoordinateInterpolator *tmp;
			tmp = (struct X3D_CoordinateInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec3f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_CoordinateInterpolator2D : {
			struct X3D_CoordinateInterpolator2D *tmp;
			tmp = (struct X3D_CoordinateInterpolator2D *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec2f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_Cylinder : {
			struct X3D_Cylinder *tmp;
			tmp = (struct X3D_Cylinder *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
			spacer fprintf (fp,"\tbottom (SFBool) \t%d\n",tmp->bottom);
			spacer fprintf (fp,"\ttop (SFBool) \t%d\n",tmp->top);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_CylinderSensor : {
			struct X3D_CylinderSensor *tmp;
			tmp = (struct X3D_CylinderSensor *) node;
			spacer fprintf (fp,"\tautoOffset (SFBool) \t%d\n",tmp->autoOffset);
			spacer fprintf (fp,"\tminAngle (SFFloat) \t%4.3f\n",tmp->minAngle);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tdiskAngle (SFFloat) \t%4.3f\n",tmp->diskAngle);
			spacer fprintf (fp,"\toffset (SFFloat) \t%4.3f\n",tmp->offset);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tmaxAngle (SFFloat) \t%4.3f\n",tmp->maxAngle);
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    break;
		}
		case NODE_DISEntityManager : {
			struct X3D_DISEntityManager *tmp;
			tmp = (struct X3D_DISEntityManager *) node;
			spacer fprintf (fp,"\tapplicationID (SFInt32) \t%d\n",tmp->applicationID);
			spacer fprintf (fp,"\tmapping (MFNode):\n");
			for (i=0; i<tmp->mapping.n; i++) { dump_scene(fp,level+1,tmp->mapping.p[i]); }
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\tsiteID (SFInt32) \t%d\n",tmp->siteID);
			spacer fprintf (fp,"\taddress (SFString) \t%s\n",tmp->address->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_DISEntityTypeMapping : {
			struct X3D_DISEntityTypeMapping *tmp;
			tmp = (struct X3D_DISEntityTypeMapping *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_DirectionalLight : {
			struct X3D_DirectionalLight *tmp;
			tmp = (struct X3D_DirectionalLight *) node;
			spacer fprintf (fp,"\tdirection (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->direction.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tglobal (SFBool) \t%d\n",tmp->global);
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tambientIntensity (SFFloat) \t%4.3f\n",tmp->ambientIntensity);
		    break;
		}
		case NODE_Disk2D : {
			struct X3D_Disk2D *tmp;
			tmp = (struct X3D_Disk2D *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_EaseInEaseOut : {
			struct X3D_EaseInEaseOut *tmp;
			tmp = (struct X3D_EaseInEaseOut *) node;
			spacer fprintf (fp,"\teaseInEaseOut (MFVec2f):\n");
			for (i=0; i<tmp->easeInEaseOut.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->easeInEaseOut.p[i]).c[0], (tmp->easeInEaseOut.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_ElevationGrid : {
			struct X3D_ElevationGrid *tmp;
			tmp = (struct X3D_ElevationGrid *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    break;
		}
		case NODE_EspduTransform : {
			struct X3D_EspduTransform *tmp;
			tmp = (struct X3D_EspduTransform *) node;
			spacer fprintf (fp,"\tarticulationParameterChangeIndicatorArr (MFInt32):\n");
			for (i=0; i<tmp->articulationParameterChangeIndicatorArr.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->articulationParameterChangeIndicatorArr.p[i]); }
			spacer fprintf (fp,"\tfiringRate (SFInt32) \t%d\n",tmp->firingRate);
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tentitySpecific (SFInt32) \t%d\n",tmp->entitySpecific);
			spacer fprintf (fp,"\teventNumber (SFInt32) \t%d\n",tmp->eventNumber);
			spacer fprintf (fp,"\tdetonationLocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->detonationLocation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tfireMissionIndex (SFInt32) \t%d\n",tmp->fireMissionIndex);
			spacer fprintf (fp,"\twarhead (SFInt32) \t%d\n",tmp->warhead);
			spacer fprintf (fp,"\tentityCategory (SFInt32) \t%d\n",tmp->entityCategory);
			spacer fprintf (fp,"\tentityExtra (SFInt32) \t%d\n",tmp->entityExtra);
			spacer fprintf (fp,"\tmunitionSiteID (SFInt32) \t%d\n",tmp->munitionSiteID);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tfiringRange (SFFloat) \t%4.3f\n",tmp->firingRange);
			spacer fprintf (fp,"\tdetonationRelativeLocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->detonationRelativeLocation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tarticulationParameterCount (SFInt32) \t%d\n",tmp->articulationParameterCount);
			spacer fprintf (fp,"\tfuse (SFInt32) \t%d\n",tmp->fuse);
			spacer fprintf (fp,"\tlinearVelocity (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->linearVelocity.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdeadReckoning (SFInt32) \t%d\n",tmp->deadReckoning);
			spacer fprintf (fp,"\tentityDomain (SFInt32) \t%d\n",tmp->entityDomain);
			spacer fprintf (fp,"\tsiteID (SFInt32) \t%d\n",tmp->siteID);
			spacer fprintf (fp,"\tdetonationResult (SFInt32) \t%d\n",tmp->detonationResult);
			spacer fprintf (fp,"\tnetworkMode (SFString) \t%s\n",tmp->networkMode->strptr);
			spacer fprintf (fp,"\treadInterval (SFTime) \t%4.3f\n",tmp->readInterval);
			spacer fprintf (fp,"\tlinearAcceleration (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->linearAcceleration.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tentityKind (SFInt32) \t%d\n",tmp->entityKind);
			spacer fprintf (fp,"\tmarking (SFString) \t%s\n",tmp->marking->strptr);
			spacer fprintf (fp,"\tmunitionStartPoint (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->munitionStartPoint.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tentityCountry (SFInt32) \t%d\n",tmp->entityCountry);
			spacer fprintf (fp,"\teventEntityID (SFInt32) \t%d\n",tmp->eventEntityID);
			spacer fprintf (fp,"\tarticulationParameterArray (MFFloat):\n");
			for (i=0; i<tmp->articulationParameterArray.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->articulationParameterArray.p[i]); }
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\taddress (SFString) \t%s\n",tmp->address->strptr);
			spacer fprintf (fp,"\tarticulationParameterTypeArray (MFInt32):\n");
			for (i=0; i<tmp->articulationParameterTypeArray.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->articulationParameterTypeArray.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tmulticastRelayPort (SFInt32) \t%d\n",tmp->multicastRelayPort);
			spacer fprintf (fp,"\tmunitionApplicationID (SFInt32) \t%d\n",tmp->munitionApplicationID);
			spacer fprintf (fp,"\tarticulationParameterIdPartAttachedToAr (MFInt32):\n");
			for (i=0; i<tmp->articulationParameterIdPartAttachedToAr.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->articulationParameterIdPartAttachedToAr.p[i]); }
			spacer fprintf (fp,"\tfired1 (SFBool) \t%d\n",tmp->fired1);
			spacer fprintf (fp,"\tmulticastRelayHost (SFString) \t%s\n",tmp->multicastRelayHost->strptr);
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\tforceID (SFInt32) \t%d\n",tmp->forceID);
			spacer fprintf (fp,"\tarticulationParameterDesignatorArray (MFInt32):\n");
			for (i=0; i<tmp->articulationParameterDesignatorArray.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->articulationParameterDesignatorArray.p[i]); }
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\twriteInterval (SFTime) \t%4.3f\n",tmp->writeInterval);
			spacer fprintf (fp,"\teventSiteID (SFInt32) \t%d\n",tmp->eventSiteID);
			spacer fprintf (fp,"\tentityID (SFInt32) \t%d\n",tmp->entityID);
			spacer fprintf (fp,"\tfired2 (SFBool) \t%d\n",tmp->fired2);
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tmunitionEntityID (SFInt32) \t%d\n",tmp->munitionEntityID);
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tmunitionEndPoint (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->munitionEndPoint.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\teventApplicationID (SFInt32) \t%d\n",tmp->eventApplicationID);
			spacer fprintf (fp,"\tapplicationID (SFInt32) \t%d\n",tmp->applicationID);
			spacer fprintf (fp,"\tentitySubCategory (SFInt32) \t%d\n",tmp->entitySubCategory);
			spacer fprintf (fp,"\tmunitionQuantity (SFInt32) \t%d\n",tmp->munitionQuantity);
			spacer fprintf (fp,"\tcollisionType (SFInt32) \t%d\n",tmp->collisionType);
		    break;
		}
		case NODE_Extrusion : {
			struct X3D_Extrusion *tmp;
			tmp = (struct X3D_Extrusion *) node;
			spacer fprintf (fp,"\torientation (MFRotation):\n");
			for (i=0; i<tmp->orientation.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->orientation.p[i]).c[0], (tmp->orientation.p[i]).c[1],(tmp->orientation.p[i]).c[2],(tmp->orientation.p[i]).c[3]); }
			spacer fprintf (fp,"\tscale (MFVec2f):\n");
			for (i=0; i<tmp->scale.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->scale.p[i]).c[0], (tmp->scale.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_FillProperties : {
			struct X3D_FillProperties *tmp;
			tmp = (struct X3D_FillProperties *) node;
			spacer fprintf (fp,"\thatched (SFBool) \t%d\n",tmp->hatched);
			spacer fprintf (fp,"\thatchStyle (SFInt32) \t%d\n",tmp->hatchStyle);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tfilled (SFBool) \t%d\n",tmp->filled);
			spacer fprintf (fp,"\thatchColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->hatchColor.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_FloatVertexAttribute : {
			struct X3D_FloatVertexAttribute *tmp;
			tmp = (struct X3D_FloatVertexAttribute *) node;
			spacer fprintf (fp,"\tvalue (MFFloat):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Fog : {
			struct X3D_Fog *tmp;
			tmp = (struct X3D_Fog *) node;
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tvisibilityRange (SFFloat) \t%4.3f\n",tmp->visibilityRange);
			spacer fprintf (fp,"\tfogType (SFString) \t%s\n",tmp->fogType->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_FogCoordinate : {
			struct X3D_FogCoordinate *tmp;
			tmp = (struct X3D_FogCoordinate *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tdepth (MFFloat):\n");
			for (i=0; i<tmp->depth.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->depth.p[i]); }
		    break;
		}
		case NODE_FontStyle : {
			struct X3D_FontStyle *tmp;
			tmp = (struct X3D_FontStyle *) node;
			spacer fprintf (fp,"\tsize (SFFloat) \t%4.3f\n",tmp->size);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_GeneratedCubeMapTexture : {
			struct X3D_GeneratedCubeMapTexture *tmp;
			tmp = (struct X3D_GeneratedCubeMapTexture *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tupdate (SFString) \t%s\n",tmp->update->strptr);
			spacer fprintf (fp,"\tsize (SFInt32) \t%d\n",tmp->size);
		    break;
		}
		case NODE_GeoCoordinate : {
			struct X3D_GeoCoordinate *tmp;
			tmp = (struct X3D_GeoCoordinate *) node;
			spacer fprintf (fp,"\tpoint (MFVec3d):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1],(tmp->point.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (MFVec3f):\n");
			for (i=0; i<tmp->__movedCoords.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->__movedCoords.p[i]).c[0], (tmp->__movedCoords.p[i]).c[1],(tmp->__movedCoords.p[i]).c[2]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_GeoElevationGrid : {
			struct X3D_GeoElevationGrid *tmp;
			tmp = (struct X3D_GeoElevationGrid *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
		    break;
		}
		case NODE_GeoLOD : {
			struct X3D_GeoLOD *tmp;
			tmp = (struct X3D_GeoLOD *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedCoords.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__rooturlloadstatus (SFInt32) \t%d\n",tmp->__rooturlloadstatus);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__level (SFInt32) \t%d\n",tmp->__level);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__child3Node (SFNode):\n"); dump_scene(fp,level+1,tmp->__child3Node); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__inRange (SFBool) \t%d\n",tmp->__inRange);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__rootUrl (SFNode):\n"); dump_scene(fp,level+1,tmp->__rootUrl); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__child1Node (SFNode):\n"); dump_scene(fp,level+1,tmp->__child1Node); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__childloadstatus (SFInt32) \t%d\n",tmp->__childloadstatus);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__child2Node (SFNode):\n"); dump_scene(fp,level+1,tmp->__child2Node); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__child4Node (SFNode):\n"); dump_scene(fp,level+1,tmp->__child4Node); 
		    }
		    break;
		}
		case NODE_GeoLocation : {
			struct X3D_GeoLocation *tmp;
			tmp = (struct X3D_GeoLocation *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedCoords.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldChildren (MFNode):\n");
			for (i=0; i<tmp->__oldChildren.n; i++) { dump_scene(fp,level+1,tmp->__oldChildren.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldgeoCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__oldgeoCoords.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tgeoCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->geoCoords.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__localOrient (SFVec4d): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__localOrient.c[i]); }
			fprintf (fp,"\n");
		    }
		    break;
		}
		case NODE_GeoMetadata : {
			struct X3D_GeoMetadata *tmp;
			tmp = (struct X3D_GeoMetadata *) node;
			spacer fprintf (fp,"\tsummary (MFString): \n");
			for (i=0; i<tmp->summary.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->summary.p[i]->strptr); }
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
			spacer fprintf (fp,"\tdata (MFNode):\n");
			for (i=0; i<tmp->data.n; i++) { dump_scene(fp,level+1,tmp->data.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_GeoOrigin : {
			struct X3D_GeoOrigin *tmp;
			tmp = (struct X3D_GeoOrigin *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedCoords.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__rotyup (SFVec4d): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__rotyup.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldgeoCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__oldgeoCoords.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldMFString (MFString): \n");
			for (i=0; i<tmp->__oldMFString.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->__oldMFString.p[i]->strptr); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tgeoCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->geoCoords.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_GeoPositionInterpolator : {
			struct X3D_GeoPositionInterpolator *tmp;
			tmp = (struct X3D_GeoPositionInterpolator *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedValue (MFVec3d):\n");
			for (i=0; i<tmp->__movedValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->__movedValue.p[i]).c[0], (tmp->__movedValue.p[i]).c[1],(tmp->__movedValue.p[i]).c[2]); }
		    }
			spacer fprintf (fp,"\tkeyValue (MFVec3d):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_GeoProximitySensor : {
			struct X3D_GeoProximitySensor *tmp;
			tmp = (struct X3D_GeoProximitySensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedCoords.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tsize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__hit (SFInt32) \t%d\n",tmp->__hit);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__t1 (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__t1.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldGeoCenter (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__oldGeoCenter.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__t2 (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__t2.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tgeoCenter (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->geoCenter.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__oldSize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__oldSize.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__localOrient (SFVec4d): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__localOrient.c[i]); }
			fprintf (fp,"\n");
		    }
		    break;
		}
		case NODE_GeoTouchSensor : {
			struct X3D_GeoTouchSensor *tmp;
			tmp = (struct X3D_GeoTouchSensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    break;
		}
		case NODE_GeoTransform : {
			struct X3D_GeoTransform *tmp;
			tmp = (struct X3D_GeoTransform *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__movedCoords (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedCoords.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__oldGeoCenter (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__oldGeoCenter.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldChildren (MFNode):\n");
			for (i=0; i<tmp->__oldChildren.n; i++) { dump_scene(fp,level+1,tmp->__oldChildren.p[i]); }
		    }
			spacer fprintf (fp,"\tgeoCenter (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->geoCenter.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__localOrient (SFVec4d): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__localOrient.c[i]); }
			fprintf (fp,"\n");
		    }
		    break;
		}
		case NODE_GeoViewpoint : {
			struct X3D_GeoViewpoint *tmp;
			tmp = (struct X3D_GeoViewpoint *) node;
			spacer fprintf (fp,"\theadlight (SFBool) \t%d\n",tmp->headlight);
			spacer fprintf (fp,"\torientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->orientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tposition (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->position.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__oldMFString (MFString): \n");
			for (i=0; i<tmp->__oldMFString.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->__oldMFString.p[i]->strptr); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldJump (SFBool) \t%d\n",tmp->__oldJump);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__movedPosition (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__movedPosition.c[i]); }
			fprintf (fp,"\n");
		    }
			spacer fprintf (fp,"\tjump (SFBool) \t%d\n",tmp->jump);
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t__oldSFString (SFString) \t%s\n",tmp->__oldSFString->strptr);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldFieldOfView (SFFloat) \t%4.3f\n",tmp->__oldFieldOfView);
		    }
			spacer fprintf (fp,"\tfieldOfView (SFFloat) \t%4.3f\n",tmp->fieldOfView);
			spacer fprintf (fp,"\tnavType (MFString): \n");
			for (i=0; i<tmp->navType.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->navType.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldHeadlight (SFBool) \t%d\n",tmp->__oldHeadlight);
		    }
		    break;
		}
		case NODE_Group : {
			struct X3D_Group *tmp;
			tmp = (struct X3D_Group *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\tFreeWRL_PROTOInterfaceNodes (MFNode):\n");
			for (i=0; i<tmp->FreeWRL_PROTOInterfaceNodes.n; i++) { dump_scene(fp,level+1,tmp->FreeWRL_PROTOInterfaceNodes.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_HAnimDisplacer : {
			struct X3D_HAnimDisplacer *tmp;
			tmp = (struct X3D_HAnimDisplacer *) node;
			spacer fprintf (fp,"\tdisplacements (MFVec3f):\n");
			for (i=0; i<tmp->displacements.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->displacements.p[i]).c[0], (tmp->displacements.p[i]).c[1],(tmp->displacements.p[i]).c[2]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tweight (SFFloat) \t%4.3f\n",tmp->weight);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_HAnimHumanoid : {
			struct X3D_HAnimHumanoid *tmp;
			tmp = (struct X3D_HAnimHumanoid *) node;
			spacer fprintf (fp,"\tskinNormal (SFNode):\n"); dump_scene(fp,level+1,tmp->skinNormal); 
			spacer fprintf (fp,"\tsegments (MFNode):\n");
			for (i=0; i<tmp->segments.n; i++) { dump_scene(fp,level+1,tmp->segments.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tjoints (MFNode):\n");
			for (i=0; i<tmp->joints.n; i++) { dump_scene(fp,level+1,tmp->joints.p[i]); }
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tskinCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->skinCoord); 
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tskin (MFNode):\n");
			for (i=0; i<tmp->skin.n; i++) { dump_scene(fp,level+1,tmp->skin.p[i]); }
			spacer fprintf (fp,"\tsites (MFNode):\n");
			for (i=0; i<tmp->sites.n; i++) { dump_scene(fp,level+1,tmp->sites.p[i]); }
			spacer fprintf (fp,"\tskeleton (MFNode):\n");
			for (i=0; i<tmp->skeleton.n; i++) { dump_scene(fp,level+1,tmp->skeleton.p[i]); }
			spacer fprintf (fp,"\tversion (SFString) \t%s\n",tmp->version->strptr);
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tviewpoints (MFNode):\n");
			for (i=0; i<tmp->viewpoints.n; i++) { dump_scene(fp,level+1,tmp->viewpoints.p[i]); }
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_HAnimJoint : {
			struct X3D_HAnimJoint *tmp;
			tmp = (struct X3D_HAnimJoint *) node;
			spacer fprintf (fp,"\tllimit (MFFloat):\n");
			for (i=0; i<tmp->llimit.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->llimit.p[i]); }
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tulimit (MFFloat):\n");
			for (i=0; i<tmp->ulimit.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->ulimit.p[i]); }
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tskinCoordWeight (MFFloat):\n");
			for (i=0; i<tmp->skinCoordWeight.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->skinCoordWeight.p[i]); }
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tlimitOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->limitOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdisplacers (MFNode):\n");
			for (i=0; i<tmp->displacers.n; i++) { dump_scene(fp,level+1,tmp->displacers.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tstiffness (MFFloat):\n");
			for (i=0; i<tmp->stiffness.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->stiffness.p[i]); }
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tskinCoordIndex (MFInt32):\n");
			for (i=0; i<tmp->skinCoordIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->skinCoordIndex.p[i]); }
		    break;
		}
		case NODE_HAnimSegment : {
			struct X3D_HAnimSegment *tmp;
			tmp = (struct X3D_HAnimSegment *) node;
			spacer fprintf (fp,"\tdisplacers (MFNode):\n");
			for (i=0; i<tmp->displacers.n; i++) { dump_scene(fp,level+1,tmp->displacers.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tmomentsOfInertia (MFFloat):\n");
			for (i=0; i<tmp->momentsOfInertia.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->momentsOfInertia.p[i]); }
			spacer fprintf (fp,"\tmass (SFFloat) \t%4.3f\n",tmp->mass);
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tcenterOfMass (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->centerOfMass.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_HAnimSite : {
			struct X3D_HAnimSite *tmp;
			tmp = (struct X3D_HAnimSite *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_ImageCubeMapTexture : {
			struct X3D_ImageCubeMapTexture *tmp;
			tmp = (struct X3D_ImageCubeMapTexture *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ImageTexture : {
			struct X3D_ImageTexture *tmp;
			tmp = (struct X3D_ImageTexture *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_IndexedFaceSet : {
			struct X3D_IndexedFaceSet *tmp;
			tmp = (struct X3D_IndexedFaceSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    break;
		}
		case NODE_IndexedLineSet : {
			struct X3D_IndexedLineSet *tmp;
			tmp = (struct X3D_IndexedLineSet *) node;
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    break;
		}
		case NODE_IndexedTriangleFanSet : {
			struct X3D_IndexedTriangleFanSet *tmp;
			tmp = (struct X3D_IndexedTriangleFanSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tindex (MFInt32):\n");
			for (i=0; i<tmp->index.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->index.p[i]); }
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_IndexedTriangleSet : {
			struct X3D_IndexedTriangleSet *tmp;
			tmp = (struct X3D_IndexedTriangleSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tindex (MFInt32):\n");
			for (i=0; i<tmp->index.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->index.p[i]); }
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_IndexedTriangleStripSet : {
			struct X3D_IndexedTriangleStripSet *tmp;
			tmp = (struct X3D_IndexedTriangleStripSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tindex (MFInt32):\n");
			for (i=0; i<tmp->index.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->index.p[i]); }
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Inline : {
			struct X3D_Inline *tmp;
			tmp = (struct X3D_Inline *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\t__children (MFNode):\n");
			for (i=0; i<tmp->__children.n; i++) { dump_scene(fp,level+1,tmp->__children.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_IntegerSequencer : {
			struct X3D_IntegerSequencer *tmp;
			tmp = (struct X3D_IntegerSequencer *) node;
			spacer fprintf (fp,"\tkeyValue (MFInt32):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->keyValue.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_IntegerTrigger : {
			struct X3D_IntegerTrigger *tmp;
			tmp = (struct X3D_IntegerTrigger *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tintegerKey (SFInt32) \t%d\n",tmp->integerKey);
		    break;
		}
		case NODE_KeySensor : {
			struct X3D_KeySensor *tmp;
			tmp = (struct X3D_KeySensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_LOD : {
			struct X3D_LOD *tmp;
			tmp = (struct X3D_LOD *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tlevel (MFNode):\n");
			for (i=0; i<tmp->level.n; i++) { dump_scene(fp,level+1,tmp->level.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_LineProperties : {
			struct X3D_LineProperties *tmp;
			tmp = (struct X3D_LineProperties *) node;
			spacer fprintf (fp,"\tlinetype (SFInt32) \t%d\n",tmp->linetype);
			spacer fprintf (fp,"\tlinewidthScaleFactor (SFFloat) \t%4.3f\n",tmp->linewidthScaleFactor);
			spacer fprintf (fp,"\tapplied (SFBool) \t%d\n",tmp->applied);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_LineSet : {
			struct X3D_LineSet *tmp;
			tmp = (struct X3D_LineSet *) node;
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tvertexCount (MFInt32):\n");
			for (i=0; i<tmp->vertexCount.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->vertexCount.p[i]); }
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_LoadSensor : {
			struct X3D_LoadSensor *tmp;
			tmp = (struct X3D_LoadSensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\twatchList (MFNode):\n");
			for (i=0; i<tmp->watchList.n; i++) { dump_scene(fp,level+1,tmp->watchList.p[i]); }
			spacer fprintf (fp,"\ttimeOut (SFTime) \t%4.3f\n",tmp->timeOut);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_LocalFog : {
			struct X3D_LocalFog *tmp;
			tmp = (struct X3D_LocalFog *) node;
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tvisibilityRange (SFFloat) \t%4.3f\n",tmp->visibilityRange);
			spacer fprintf (fp,"\tfogType (SFString) \t%s\n",tmp->fogType->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_Material : {
			struct X3D_Material *tmp;
			tmp = (struct X3D_Material *) node;
			spacer fprintf (fp,"\ttransparency (SFFloat) \t%4.3f\n",tmp->transparency);
			spacer fprintf (fp,"\tspecularColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->specularColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\temissiveColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->emissiveColor.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tshininess (SFFloat) \t%4.3f\n",tmp->shininess);
			spacer fprintf (fp,"\tdiffuseColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->diffuseColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tambientIntensity (SFFloat) \t%4.3f\n",tmp->ambientIntensity);
		    break;
		}
		case NODE_Matrix3VertexAttribute : {
			struct X3D_Matrix3VertexAttribute *tmp;
			tmp = (struct X3D_Matrix3VertexAttribute *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix3f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Matrix4VertexAttribute : {
			struct X3D_Matrix4VertexAttribute *tmp;
			tmp = (struct X3D_Matrix4VertexAttribute *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix4f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f, %4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8],(tmp->value.p[i]).c[9],(tmp->value.p[i]).c[10],(tmp->value.p[i]).c[11],(tmp->value.p[i]).c[12],(tmp->value.p[i]).c[13],(tmp->value.p[i]).c[14],(tmp->value.p[i]).c[15]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MetadataDouble : {
			struct X3D_MetadataDouble *tmp;
			tmp = (struct X3D_MetadataDouble *) node;
			spacer fprintf (fp,"\tvalue (MFDouble):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MetadataFloat : {
			struct X3D_MetadataFloat *tmp;
			tmp = (struct X3D_MetadataFloat *) node;
			spacer fprintf (fp,"\tvalue (MFFloat):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MetadataInteger : {
			struct X3D_MetadataInteger *tmp;
			tmp = (struct X3D_MetadataInteger *) node;
			spacer fprintf (fp,"\tvalue (MFInt32):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->value.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MetadataMFBool : {
			struct X3D_MetadataMFBool *tmp;
			tmp = (struct X3D_MetadataMFBool *) node;
			spacer fprintf (fp,"\tvalue (MFBool):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFColor : {
			struct X3D_MetadataMFColor *tmp;
			tmp = (struct X3D_MetadataMFColor *) node;
			spacer fprintf (fp,"\tvalue (MFColor):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2]); }
		    break;
		}
		case NODE_MetadataMFColorRGBA : {
			struct X3D_MetadataMFColorRGBA *tmp;
			tmp = (struct X3D_MetadataMFColorRGBA *) node;
			spacer fprintf (fp,"\tvalue (MFColorRGBA):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3]); }
		    break;
		}
		case NODE_MetadataMFDouble : {
			struct X3D_MetadataMFDouble *tmp;
			tmp = (struct X3D_MetadataMFDouble *) node;
			spacer fprintf (fp,"\tvalue (MFDouble):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFFloat : {
			struct X3D_MetadataMFFloat *tmp;
			tmp = (struct X3D_MetadataMFFloat *) node;
			spacer fprintf (fp,"\tvalue (MFFloat):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFInt32 : {
			struct X3D_MetadataMFInt32 *tmp;
			tmp = (struct X3D_MetadataMFInt32 *) node;
			spacer fprintf (fp,"\tvalue (MFInt32):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFMatrix3d : {
			struct X3D_MetadataMFMatrix3d *tmp;
			tmp = (struct X3D_MetadataMFMatrix3d *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix3d):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8]); }
		    break;
		}
		case NODE_MetadataMFMatrix3f : {
			struct X3D_MetadataMFMatrix3f *tmp;
			tmp = (struct X3D_MetadataMFMatrix3f *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix3f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8]); }
		    break;
		}
		case NODE_MetadataMFMatrix4d : {
			struct X3D_MetadataMFMatrix4d *tmp;
			tmp = (struct X3D_MetadataMFMatrix4d *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix4d):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f, %4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8],(tmp->value.p[i]).c[9],(tmp->value.p[i]).c[10],(tmp->value.p[i]).c[11],(tmp->value.p[i]).c[12],(tmp->value.p[i]).c[13],(tmp->value.p[i]).c[14],(tmp->value.p[i]).c[15]); }
		    break;
		}
		case NODE_MetadataMFMatrix4f : {
			struct X3D_MetadataMFMatrix4f *tmp;
			tmp = (struct X3D_MetadataMFMatrix4f *) node;
			spacer fprintf (fp,"\tvalue (MFMatrix4f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f,  %4.3f,  %4.3f, %4.3f, %4.3f, %4.3f, %4.3f, %4.3f,  %4.3f,  %4.3f ]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3],(tmp->value.p[i]).c[4],(tmp->value.p[i]).c[5],(tmp->value.p[i]).c[6],(tmp->value.p[i]).c[7],(tmp->value.p[i]).c[8],(tmp->value.p[i]).c[9],(tmp->value.p[i]).c[10],(tmp->value.p[i]).c[11],(tmp->value.p[i]).c[12],(tmp->value.p[i]).c[13],(tmp->value.p[i]).c[14],(tmp->value.p[i]).c[15]); }
		    break;
		}
		case NODE_MetadataMFNode : {
			struct X3D_MetadataMFNode *tmp;
			tmp = (struct X3D_MetadataMFNode *) node;
			spacer fprintf (fp,"\tvalue (MFNode):\n");
			for (i=0; i<tmp->value.n; i++) { dump_scene(fp,level+1,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFRotation : {
			struct X3D_MetadataMFRotation *tmp;
			tmp = (struct X3D_MetadataMFRotation *) node;
			spacer fprintf (fp,"\tvalue (MFRotation):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3]); }
		    break;
		}
		case NODE_MetadataMFString : {
			struct X3D_MetadataMFString *tmp;
			tmp = (struct X3D_MetadataMFString *) node;
			spacer fprintf (fp,"\tvalue (MFString): \n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->value.p[i]->strptr); }
		    break;
		}
		case NODE_MetadataMFTime : {
			struct X3D_MetadataMFTime *tmp;
			tmp = (struct X3D_MetadataMFTime *) node;
			spacer fprintf (fp,"\tvalue (MFTime):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->value.p[i]); }
		    break;
		}
		case NODE_MetadataMFVec2d : {
			struct X3D_MetadataMFVec2d *tmp;
			tmp = (struct X3D_MetadataMFVec2d *) node;
			spacer fprintf (fp,"\tvalue (MFVec2d):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1]); }
		    break;
		}
		case NODE_MetadataMFVec2f : {
			struct X3D_MetadataMFVec2f *tmp;
			tmp = (struct X3D_MetadataMFVec2f *) node;
			spacer fprintf (fp,"\tvalue (MFVec2f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1]); }
		    break;
		}
		case NODE_MetadataMFVec3d : {
			struct X3D_MetadataMFVec3d *tmp;
			tmp = (struct X3D_MetadataMFVec3d *) node;
			spacer fprintf (fp,"\tvalue (MFVec3d):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2]); }
		    break;
		}
		case NODE_MetadataMFVec3f : {
			struct X3D_MetadataMFVec3f *tmp;
			tmp = (struct X3D_MetadataMFVec3f *) node;
			spacer fprintf (fp,"\tvalue (MFVec3f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2]); }
		    break;
		}
		case NODE_MetadataMFVec4d : {
			struct X3D_MetadataMFVec4d *tmp;
			tmp = (struct X3D_MetadataMFVec4d *) node;
			spacer fprintf (fp,"\tvalue (MFVec4d):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3]); }
		    break;
		}
		case NODE_MetadataMFVec4f : {
			struct X3D_MetadataMFVec4f *tmp;
			tmp = (struct X3D_MetadataMFVec4f *) node;
			spacer fprintf (fp,"\tvalue (MFVec4f):\n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->value.p[i]).c[0], (tmp->value.p[i]).c[1],(tmp->value.p[i]).c[2],(tmp->value.p[i]).c[3]); }
		    break;
		}
		case NODE_MetadataSFBool : {
			struct X3D_MetadataSFBool *tmp;
			tmp = (struct X3D_MetadataSFBool *) node;
			spacer fprintf (fp,"\tvalue (SFBool) \t%d\n",tmp->value);
		    break;
		}
		case NODE_MetadataSFColor : {
			struct X3D_MetadataSFColor *tmp;
			tmp = (struct X3D_MetadataSFColor *) node;
			spacer fprintf (fp,"\tvalue (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFColorRGBA : {
			struct X3D_MetadataSFColorRGBA *tmp;
			tmp = (struct X3D_MetadataSFColorRGBA *) node;
			spacer fprintf (fp,"\tvalue (SFColorRGBA): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFDouble : {
			struct X3D_MetadataSFDouble *tmp;
			tmp = (struct X3D_MetadataSFDouble *) node;
			spacer fprintf (fp,"\tvalue (SFDouble) \t%4.3f\n",tmp->value);
		    break;
		}
		case NODE_MetadataSFFloat : {
			struct X3D_MetadataSFFloat *tmp;
			tmp = (struct X3D_MetadataSFFloat *) node;
			spacer fprintf (fp,"\tvalue (SFFloat) \t%4.3f\n",tmp->value);
		    break;
		}
		case NODE_MetadataSFImage : {
			struct X3D_MetadataSFImage *tmp;
			tmp = (struct X3D_MetadataSFImage *) node;
			spacer fprintf (fp,"\tvalue (SFImage): (not dumped)\t");
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFInt32 : {
			struct X3D_MetadataSFInt32 *tmp;
			tmp = (struct X3D_MetadataSFInt32 *) node;
			spacer fprintf (fp,"\tvalue (SFInt32) \t%d\n",tmp->value);
		    break;
		}
		case NODE_MetadataSFMatrix3d : {
			struct X3D_MetadataSFMatrix3d *tmp;
			tmp = (struct X3D_MetadataSFMatrix3d *) node;
			spacer fprintf (fp,"\tvalue (SFMatrix3d): \t");
			for (i=0; i<9; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFMatrix3f : {
			struct X3D_MetadataSFMatrix3f *tmp;
			tmp = (struct X3D_MetadataSFMatrix3f *) node;
			spacer fprintf (fp,"\tvalue (SFMatrix3f): \t");
			for (i=0; i<9; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFMatrix4d : {
			struct X3D_MetadataSFMatrix4d *tmp;
			tmp = (struct X3D_MetadataSFMatrix4d *) node;
			spacer fprintf (fp,"\tvalue (SFMatrix4d): \t");
			for (i=0; i<16; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFMatrix4f : {
			struct X3D_MetadataSFMatrix4f *tmp;
			tmp = (struct X3D_MetadataSFMatrix4f *) node;
			spacer fprintf (fp,"\tvalue (SFMatrix4f): \t");
			for (i=0; i<16; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFNode : {
			struct X3D_MetadataSFNode *tmp;
			tmp = (struct X3D_MetadataSFNode *) node;
			spacer fprintf (fp,"\tvalue (SFNode):\n"); dump_scene(fp,level+1,tmp->value); 
		    break;
		}
		case NODE_MetadataSFRotation : {
			struct X3D_MetadataSFRotation *tmp;
			tmp = (struct X3D_MetadataSFRotation *) node;
			spacer fprintf (fp,"\tvalue (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFString : {
			struct X3D_MetadataSFString *tmp;
			tmp = (struct X3D_MetadataSFString *) node;
			spacer fprintf (fp,"\tvalue (SFString) \t%s\n",tmp->value->strptr);
		    break;
		}
		case NODE_MetadataSFTime : {
			struct X3D_MetadataSFTime *tmp;
			tmp = (struct X3D_MetadataSFTime *) node;
			spacer fprintf (fp,"\tvalue (SFTime) \t%4.3f\n",tmp->value);
		    break;
		}
		case NODE_MetadataSFVec2d : {
			struct X3D_MetadataSFVec2d *tmp;
			tmp = (struct X3D_MetadataSFVec2d *) node;
			spacer fprintf (fp,"\tvalue (SFVec2d): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFVec2f : {
			struct X3D_MetadataSFVec2f *tmp;
			tmp = (struct X3D_MetadataSFVec2f *) node;
			spacer fprintf (fp,"\tvalue (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFVec3d : {
			struct X3D_MetadataSFVec3d *tmp;
			tmp = (struct X3D_MetadataSFVec3d *) node;
			spacer fprintf (fp,"\tvalue (SFVec3d): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFVec3f : {
			struct X3D_MetadataSFVec3f *tmp;
			tmp = (struct X3D_MetadataSFVec3f *) node;
			spacer fprintf (fp,"\tvalue (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFVec4d : {
			struct X3D_MetadataSFVec4d *tmp;
			tmp = (struct X3D_MetadataSFVec4d *) node;
			spacer fprintf (fp,"\tvalue (SFVec4d): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSFVec4f : {
			struct X3D_MetadataSFVec4f *tmp;
			tmp = (struct X3D_MetadataSFVec4f *) node;
			spacer fprintf (fp,"\tvalue (SFVec4f): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_MetadataSet : {
			struct X3D_MetadataSet *tmp;
			tmp = (struct X3D_MetadataSet *) node;
			spacer fprintf (fp,"\tvalue (MFNode):\n");
			for (i=0; i<tmp->value.n; i++) { dump_scene(fp,level+1,tmp->value.p[i]); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MetadataString : {
			struct X3D_MetadataString *tmp;
			tmp = (struct X3D_MetadataString *) node;
			spacer fprintf (fp,"\tvalue (MFString): \n");
			for (i=0; i<tmp->value.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->value.p[i]->strptr); }
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_MovieTexture : {
			struct X3D_MovieTexture *tmp;
			tmp = (struct X3D_MovieTexture *) node;
			spacer fprintf (fp,"\tloop (SFBool) \t%d\n",tmp->loop);
			spacer fprintf (fp,"\tresumeTime (SFTime) \t%4.3f\n",tmp->resumeTime);
			spacer fprintf (fp,"\tpauseTime (SFTime) \t%4.3f\n",tmp->pauseTime);
			spacer fprintf (fp,"\tspeed (SFFloat) \t%4.3f\n",tmp->speed);
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
			spacer fprintf (fp,"\tstartTime (SFTime) \t%4.3f\n",tmp->startTime);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tstopTime (SFTime) \t%4.3f\n",tmp->stopTime);
		    break;
		}
		case NODE_MultiTexture : {
			struct X3D_MultiTexture *tmp;
			tmp = (struct X3D_MultiTexture *) node;
			spacer fprintf (fp,"\tsource (MFString): \n");
			for (i=0; i<tmp->source.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->source.p[i]->strptr); }
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\talpha (SFFloat) \t%4.3f\n",tmp->alpha);
			spacer fprintf (fp,"\tfunction (MFString): \n");
			for (i=0; i<tmp->function.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->function.p[i]->strptr); }
			spacer fprintf (fp,"\tmode (MFString): \n");
			for (i=0; i<tmp->mode.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->mode.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttexture (MFNode):\n");
			for (i=0; i<tmp->texture.n; i++) { dump_scene(fp,level+1,tmp->texture.p[i]); }
		    break;
		}
		case NODE_MultiTextureCoordinate : {
			struct X3D_MultiTextureCoordinate *tmp;
			tmp = (struct X3D_MultiTextureCoordinate *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttexCoord (MFNode):\n");
			for (i=0; i<tmp->texCoord.n; i++) { dump_scene(fp,level+1,tmp->texCoord.p[i]); }
		    break;
		}
		case NODE_MultiTextureTransform : {
			struct X3D_MultiTextureTransform *tmp;
			tmp = (struct X3D_MultiTextureTransform *) node;
			spacer fprintf (fp,"\ttextureTransform (MFNode):\n");
			for (i=0; i<tmp->textureTransform.n; i++) { dump_scene(fp,level+1,tmp->textureTransform.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NavigationInfo : {
			struct X3D_NavigationInfo *tmp;
			tmp = (struct X3D_NavigationInfo *) node;
			spacer fprintf (fp,"\ttransitionTime (SFTime) \t%4.3f\n",tmp->transitionTime);
			spacer fprintf (fp,"\theadlight (SFBool) \t%d\n",tmp->headlight);
			spacer fprintf (fp,"\tspeed (SFFloat) \t%4.3f\n",tmp->speed);
			spacer fprintf (fp,"\ttransitionType (MFString): \n");
			for (i=0; i<tmp->transitionType.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->transitionType.p[i]->strptr); }
			spacer fprintf (fp,"\ttype (MFString): \n");
			for (i=0; i<tmp->type.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->type.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tvisibilityLimit (SFFloat) \t%4.3f\n",tmp->visibilityLimit);
			spacer fprintf (fp,"\tavatarSize (MFFloat):\n");
			for (i=0; i<tmp->avatarSize.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->avatarSize.p[i]); }
		    break;
		}
		case NODE_Normal : {
			struct X3D_Normal *tmp;
			tmp = (struct X3D_Normal *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tvector (MFVec3f):\n");
			for (i=0; i<tmp->vector.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->vector.p[i]).c[0], (tmp->vector.p[i]).c[1],(tmp->vector.p[i]).c[2]); }
		    break;
		}
		case NODE_NormalInterpolator : {
			struct X3D_NormalInterpolator *tmp;
			tmp = (struct X3D_NormalInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec3f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_NurbsCurve : {
			struct X3D_NurbsCurve *tmp;
			tmp = (struct X3D_NurbsCurve *) node;
			spacer fprintf (fp,"\ttessellation (SFInt32) \t%d\n",tmp->tessellation);
			spacer fprintf (fp,"\torder (SFInt32) \t%d\n",tmp->order);
			spacer fprintf (fp,"\tweight (MFFloat):\n");
			for (i=0; i<tmp->weight.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->weight.p[i]); }
			spacer fprintf (fp,"\tcontrolPoint (MFVec3f):\n");
			for (i=0; i<tmp->controlPoint.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->controlPoint.p[i]).c[0], (tmp->controlPoint.p[i]).c[1],(tmp->controlPoint.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NurbsCurve2D : {
			struct X3D_NurbsCurve2D *tmp;
			tmp = (struct X3D_NurbsCurve2D *) node;
			spacer fprintf (fp,"\ttessellation (SFInt32) \t%d\n",tmp->tessellation);
			spacer fprintf (fp,"\torder (SFInt32) \t%d\n",tmp->order);
			spacer fprintf (fp,"\tweight (MFFloat):\n");
			for (i=0; i<tmp->weight.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->weight.p[i]); }
			spacer fprintf (fp,"\tcontrolPoint (MFVec2f):\n");
			for (i=0; i<tmp->controlPoint.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->controlPoint.p[i]).c[0], (tmp->controlPoint.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NurbsGroup : {
			struct X3D_NurbsGroup *tmp;
			tmp = (struct X3D_NurbsGroup *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttessellationScale (SFFloat) \t%4.3f\n",tmp->tessellationScale);
		    break;
		}
		case NODE_NurbsPositionInterpolator : {
			struct X3D_NurbsPositionInterpolator *tmp;
			tmp = (struct X3D_NurbsPositionInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec3f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
			spacer fprintf (fp,"\tkeyWeight (MFFloat):\n");
			for (i=0; i<tmp->keyWeight.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->keyWeight.p[i]); }
			spacer fprintf (fp,"\tdimension (SFInt32) \t%d\n",tmp->dimension);
			spacer fprintf (fp,"\torder (SFInt32) \t%d\n",tmp->order);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NurbsSurface : {
			struct X3D_NurbsSurface *tmp;
			tmp = (struct X3D_NurbsSurface *) node;
			spacer fprintf (fp,"\tvTessellation (SFInt32) \t%d\n",tmp->vTessellation);
			spacer fprintf (fp,"\tcontrolPoint (MFVec3f):\n");
			for (i=0; i<tmp->controlPoint.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->controlPoint.p[i]).c[0], (tmp->controlPoint.p[i]).c[1],(tmp->controlPoint.p[i]).c[2]); }
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tuTessellation (SFInt32) \t%d\n",tmp->uTessellation);
			spacer fprintf (fp,"\torder (SFInt32) \t%d\n",tmp->order);
			spacer fprintf (fp,"\tweight (MFFloat):\n");
			for (i=0; i<tmp->weight.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->weight.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NurbsTextureSurface : {
			struct X3D_NurbsTextureSurface *tmp;
			tmp = (struct X3D_NurbsTextureSurface *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_NurbsTrimmedSurface : {
			struct X3D_NurbsTrimmedSurface *tmp;
			tmp = (struct X3D_NurbsTrimmedSurface *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_OSC_Sensor : {
			struct X3D_OSC_Sensor *tmp;
			tmp = (struct X3D_OSC_Sensor *) node;
			spacer fprintf (fp,"\tprotocol (SFString) \t%s\n",tmp->protocol->strptr);
			spacer fprintf (fp,"\tlistenfor (SFString) \t%s\n",tmp->listenfor->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_talkToNodes (MFNode):\n");
			for (i=0; i<tmp->_talkToNodes.n; i++) { dump_scene(fp,level+1,tmp->_talkToNodes.p[i]); }
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t_status (SFInt32) \t%d\n",tmp->_status);
		    }
			spacer fprintf (fp,"\ttalksTo (MFString): \n");
			for (i=0; i<tmp->talksTo.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->talksTo.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\tfilter (SFString) \t%s\n",tmp->filter->strptr);
			spacer fprintf (fp,"\tFIFOsize (SFInt32) \t%d\n",tmp->FIFOsize);
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\tgotEvents (SFInt32) \t%d\n",tmp->gotEvents);
			spacer fprintf (fp,"\thandler (SFString) \t%s\n",tmp->handler->strptr);
			spacer fprintf (fp,"\tstringInp (SFString) \t%s\n",tmp->stringInp->strptr);
			spacer fprintf (fp,"\tfloatInp (SFFloat) \t%4.3f\n",tmp->floatInp);
		    if(allFields) {
			spacer fprintf (fp,"\t__oldmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->__oldmetadata); 
		    }
			spacer fprintf (fp,"\tint32Inp (SFInt32) \t%d\n",tmp->int32Inp);
		    break;
		}
		case NODE_OrientationInterpolator : {
			struct X3D_OrientationInterpolator *tmp;
			tmp = (struct X3D_OrientationInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFRotation):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2],(tmp->keyValue.p[i]).c[3]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_OrthoViewpoint : {
			struct X3D_OrthoViewpoint *tmp;
			tmp = (struct X3D_OrthoViewpoint *) node;
			spacer fprintf (fp,"\torientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->orientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tposition (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->position.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tjump (SFBool) \t%d\n",tmp->jump);
			spacer fprintf (fp,"\tretainUserOffsets (SFBool) \t%d\n",tmp->retainUserOffsets);
			spacer fprintf (fp,"\tcenterOfRotation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->centerOfRotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tfieldOfView (MFFloat):\n");
			for (i=0; i<tmp->fieldOfView.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->fieldOfView.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_PackagedShader : {
			struct X3D_PackagedShader *tmp;
			tmp = (struct X3D_PackagedShader *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_PickableGroup : {
			struct X3D_PickableGroup *tmp;
			tmp = (struct X3D_PickableGroup *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tpickable (SFBool) \t%d\n",tmp->pickable);
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\tFreeWRL_PROTOInterfaceNodes (MFNode):\n");
			for (i=0; i<tmp->FreeWRL_PROTOInterfaceNodes.n; i++) { dump_scene(fp,level+1,tmp->FreeWRL_PROTOInterfaceNodes.p[i]); }
			spacer fprintf (fp,"\tobjectType (MFString): \n");
			for (i=0; i<tmp->objectType.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->objectType.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_PixelTexture : {
			struct X3D_PixelTexture *tmp;
			tmp = (struct X3D_PixelTexture *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\timage (SFImage): (not dumped)\t");
			fprintf (fp,"\n");
		    break;
		}
		case NODE_PlaneSensor : {
			struct X3D_PlaneSensor *tmp;
			tmp = (struct X3D_PlaneSensor *) node;
			spacer fprintf (fp,"\tminPosition (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->minPosition.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tautoOffset (SFBool) \t%d\n",tmp->autoOffset);
			spacer fprintf (fp,"\tmaxPosition (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->maxPosition.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\toffset (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->offset.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_PointLight : {
			struct X3D_PointLight *tmp;
			tmp = (struct X3D_PointLight *) node;
			spacer fprintf (fp,"\tglobal (SFBool) \t%d\n",tmp->global);
			spacer fprintf (fp,"\tlocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->location.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
			spacer fprintf (fp,"\tambientIntensity (SFFloat) \t%4.3f\n",tmp->ambientIntensity);
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tattenuation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->attenuation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    break;
		}
		case NODE_PointPickSensor : {
			struct X3D_PointPickSensor *tmp;
			tmp = (struct X3D_PointPickSensor *) node;
			spacer fprintf (fp,"\t_nparents (int) %d\n",vector_size(tmp->_parentVector)); /* DJTRACK_PICKSENSORS */
			for (i=0; i<vector_size(tmp->_parentVector); i++) { spacer fprintf (fp,"    %d: %p\n",i, vector_get(struct X3D_Node *, tmp->_parentVector,i)); }
			spacer fprintf (fp,"\tobjectType (MFString): \n");
			for (i=0; i<tmp->objectType.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->objectType.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\tpickTarget (MFNode):\n");
			for (i=0; i<tmp->pickTarget.n; i++) { dump_scene(fp,level+1,tmp->pickTarget.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_oldpickTarget (MFNode):\n");
			for (i=0; i<tmp->_oldpickTarget.n; i++) { dump_scene(fp,level+1,tmp->_oldpickTarget.p[i]); }
		    }
			spacer fprintf (fp,"\tpickingGeometry (SFNode):\n"); dump_scene(fp,level+1,tmp->pickingGeometry); 
		    break;
		}
		case NODE_PointSet : {
			struct X3D_PointSet *tmp;
			tmp = (struct X3D_PointSet *) node;
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Polyline2D : {
			struct X3D_Polyline2D *tmp;
			tmp = (struct X3D_Polyline2D *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_Polypoint2D : {
			struct X3D_Polypoint2D *tmp;
			tmp = (struct X3D_Polypoint2D *) node;
			spacer fprintf (fp,"\tpoint (MFVec2f):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_PositionInterpolator : {
			struct X3D_PositionInterpolator *tmp;
			tmp = (struct X3D_PositionInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec3f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_PositionInterpolator2D : {
			struct X3D_PositionInterpolator2D *tmp;
			tmp = (struct X3D_PositionInterpolator2D *) node;
			spacer fprintf (fp,"\tkeyValue (MFVec2f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_ProgramShader : {
			struct X3D_ProgramShader *tmp;
			tmp = (struct X3D_ProgramShader *) node;
			spacer fprintf (fp,"\tprograms (MFNode):\n");
			for (i=0; i<tmp->programs.n; i++) { dump_scene(fp,level+1,tmp->programs.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ProximitySensor : {
			struct X3D_ProximitySensor *tmp;
			tmp = (struct X3D_ProximitySensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tsize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__t2 (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->__t2.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__hit (SFInt32) \t%d\n",tmp->__hit);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__t1 (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->__t1.c[i]); }
			fprintf (fp,"\n");
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_ReceiverPdu : {
			struct X3D_ReceiverPdu *tmp;
			tmp = (struct X3D_ReceiverPdu *) node;
			spacer fprintf (fp,"\treceiverState (SFInt32) \t%d\n",tmp->receiverState);
			spacer fprintf (fp,"\ttransmitterApplicationID (SFInt32) \t%d\n",tmp->transmitterApplicationID);
			spacer fprintf (fp,"\tsiteID (SFInt32) \t%d\n",tmp->siteID);
			spacer fprintf (fp,"\treceivedPower (SFFloat) \t%4.3f\n",tmp->receivedPower);
			spacer fprintf (fp,"\ttransmitterRadioID (SFInt32) \t%d\n",tmp->transmitterRadioID);
			spacer fprintf (fp,"\ttransmitterSiteID (SFInt32) \t%d\n",tmp->transmitterSiteID);
			spacer fprintf (fp,"\trtpHeaderExpected (SFBool) \t%d\n",tmp->rtpHeaderExpected);
			spacer fprintf (fp,"\tnetworkMode (SFString) \t%s\n",tmp->networkMode->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\taddress (SFString) \t%s\n",tmp->address->strptr);
			spacer fprintf (fp,"\tmulticastRelayPort (SFInt32) \t%d\n",tmp->multicastRelayPort);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\treadInterval (SFFloat) \t%4.3f\n",tmp->readInterval);
			spacer fprintf (fp,"\tapplicationID (SFInt32) \t%d\n",tmp->applicationID);
			spacer fprintf (fp,"\tradioID (SFInt32) \t%d\n",tmp->radioID);
			spacer fprintf (fp,"\ttransmitterEntityID (SFInt32) \t%d\n",tmp->transmitterEntityID);
			spacer fprintf (fp,"\tmulticastRelayHost (SFString) \t%s\n",tmp->multicastRelayHost->strptr);
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\twhichGeometry (SFInt32) \t%d\n",tmp->whichGeometry);
			spacer fprintf (fp,"\twriteInterval (SFFloat) \t%4.3f\n",tmp->writeInterval);
			spacer fprintf (fp,"\tentityID (SFInt32) \t%d\n",tmp->entityID);
		    break;
		}
		case NODE_Rectangle2D : {
			struct X3D_Rectangle2D *tmp;
			tmp = (struct X3D_Rectangle2D *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tsize (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_ScalarInterpolator : {
			struct X3D_ScalarInterpolator *tmp;
			tmp = (struct X3D_ScalarInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFFloat):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->keyValue.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_Script : {
			struct X3D_Script *tmp;
			tmp = (struct X3D_Script *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ShaderPart : {
			struct X3D_ShaderPart *tmp;
			tmp = (struct X3D_ShaderPart *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttype (SFString) \t%s\n",tmp->type->strptr);
		    break;
		}
		case NODE_ShaderProgram : {
			struct X3D_ShaderProgram *tmp;
			tmp = (struct X3D_ShaderProgram *) node;
			spacer fprintf (fp,"\turl (MFString): \n");
			for (i=0; i<tmp->url.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->url.p[i]->strptr); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttype (SFString) \t%s\n",tmp->type->strptr);
		    break;
		}
		case NODE_Shape : {
			struct X3D_Shape *tmp;
			tmp = (struct X3D_Shape *) node;
			spacer fprintf (fp,"\tappearance (SFNode):\n"); dump_scene(fp,level+1,tmp->appearance); 
			spacer fprintf (fp,"\tgeometry (SFNode):\n"); dump_scene(fp,level+1,tmp->geometry); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_SignalPdu : {
			struct X3D_SignalPdu *tmp;
			tmp = (struct X3D_SignalPdu *) node;
			spacer fprintf (fp,"\tsiteID (SFInt32) \t%d\n",tmp->siteID);
			spacer fprintf (fp,"\trtpHeaderExpected (SFBool) \t%d\n",tmp->rtpHeaderExpected);
			spacer fprintf (fp,"\tnetworkMode (SFString) \t%s\n",tmp->networkMode->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\taddress (SFString) \t%s\n",tmp->address->strptr);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\tmulticastRelayPort (SFInt32) \t%d\n",tmp->multicastRelayPort);
			spacer fprintf (fp,"\treadInterval (SFFloat) \t%4.3f\n",tmp->readInterval);
			spacer fprintf (fp,"\tapplicationID (SFInt32) \t%d\n",tmp->applicationID);
			spacer fprintf (fp,"\tsampleRate (SFInt32) \t%d\n",tmp->sampleRate);
			spacer fprintf (fp,"\tradioID (SFInt32) \t%d\n",tmp->radioID);
			spacer fprintf (fp,"\tencodingScheme (SFInt32) \t%d\n",tmp->encodingScheme);
			spacer fprintf (fp,"\ttdlType (SFInt32) \t%d\n",tmp->tdlType);
			spacer fprintf (fp,"\tmulticastRelayHost (SFString) \t%s\n",tmp->multicastRelayHost->strptr);
			spacer fprintf (fp,"\tdataLength (SFInt32) \t%d\n",tmp->dataLength);
			spacer fprintf (fp,"\tdata (MFInt32):\n");
			for (i=0; i<tmp->data.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->data.p[i]); }
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\tsamples (SFInt32) \t%d\n",tmp->samples);
			spacer fprintf (fp,"\twhichGeometry (SFInt32) \t%d\n",tmp->whichGeometry);
			spacer fprintf (fp,"\twriteInterval (SFFloat) \t%4.3f\n",tmp->writeInterval);
			spacer fprintf (fp,"\tentityID (SFInt32) \t%d\n",tmp->entityID);
		    break;
		}
		case NODE_Sound : {
			struct X3D_Sound *tmp;
			tmp = (struct X3D_Sound *) node;
			spacer fprintf (fp,"\tpriority (SFFloat) \t%4.3f\n",tmp->priority);
			spacer fprintf (fp,"\tsource (SFNode):\n"); dump_scene(fp,level+1,tmp->source); 
			spacer fprintf (fp,"\tminFront (SFFloat) \t%4.3f\n",tmp->minFront);
			spacer fprintf (fp,"\tlocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->location.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdirection (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->direction.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tmaxFront (SFFloat) \t%4.3f\n",tmp->maxFront);
			spacer fprintf (fp,"\tminBack (SFFloat) \t%4.3f\n",tmp->minBack);
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tmaxBack (SFFloat) \t%4.3f\n",tmp->maxBack);
		    break;
		}
		case NODE_Sphere : {
			struct X3D_Sphere *tmp;
			tmp = (struct X3D_Sphere *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_SphereSensor : {
			struct X3D_SphereSensor *tmp;
			tmp = (struct X3D_SphereSensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tautoOffset (SFBool) \t%d\n",tmp->autoOffset);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\toffset (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->offset.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_SplinePositionInterpolator : {
			struct X3D_SplinePositionInterpolator *tmp;
			tmp = (struct X3D_SplinePositionInterpolator *) node;
			spacer fprintf (fp,"\tclosed (SFBool) \t%d\n",tmp->closed);
			spacer fprintf (fp,"\tkeyValue (MFVec3f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2]); }
			spacer fprintf (fp,"\tkeyVelocity (MFVec3f):\n");
			for (i=0; i<tmp->keyVelocity.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->keyVelocity.p[i]).c[0], (tmp->keyVelocity.p[i]).c[1],(tmp->keyVelocity.p[i]).c[2]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tnormalizeVelocity (SFBool) \t%d\n",tmp->normalizeVelocity);
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_SplinePositionInterpolator2D : {
			struct X3D_SplinePositionInterpolator2D *tmp;
			tmp = (struct X3D_SplinePositionInterpolator2D *) node;
			spacer fprintf (fp,"\tclosed (SFBool) \t%d\n",tmp->closed);
			spacer fprintf (fp,"\tkeyValue (MFVec2f):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1]); }
			spacer fprintf (fp,"\tkeyVelocity (MFVec2f):\n");
			for (i=0; i<tmp->keyVelocity.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->keyVelocity.p[i]).c[0], (tmp->keyVelocity.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tnormalizeVelocity (SFBool) \t%d\n",tmp->normalizeVelocity);
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_SplineScalarInterpolator : {
			struct X3D_SplineScalarInterpolator *tmp;
			tmp = (struct X3D_SplineScalarInterpolator *) node;
			spacer fprintf (fp,"\tclosed (SFBool) \t%d\n",tmp->closed);
			spacer fprintf (fp,"\tkeyValue (MFFloat):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->keyValue.p[i]); }
			spacer fprintf (fp,"\tkeyVelocity (MFFloat):\n");
			for (i=0; i<tmp->keyVelocity.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->keyVelocity.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tnormalizeVelocity (SFBool) \t%d\n",tmp->normalizeVelocity);
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_SpotLight : {
			struct X3D_SpotLight *tmp;
			tmp = (struct X3D_SpotLight *) node;
			spacer fprintf (fp,"\tbeamWidth (SFFloat) \t%4.3f\n",tmp->beamWidth);
			spacer fprintf (fp,"\tglobal (SFBool) \t%d\n",tmp->global);
			spacer fprintf (fp,"\tlocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->location.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
			spacer fprintf (fp,"\tambientIntensity (SFFloat) \t%4.3f\n",tmp->ambientIntensity);
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tdirection (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->direction.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcutOffAngle (SFFloat) \t%4.3f\n",tmp->cutOffAngle);
			spacer fprintf (fp,"\tattenuation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->attenuation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_SquadOrientationInterpolator : {
			struct X3D_SquadOrientationInterpolator *tmp;
			tmp = (struct X3D_SquadOrientationInterpolator *) node;
			spacer fprintf (fp,"\tkeyValue (MFRotation):\n");
			for (i=0; i<tmp->keyValue.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f, %4.3f]\n",i,(tmp->keyValue.p[i]).c[0], (tmp->keyValue.p[i]).c[1],(tmp->keyValue.p[i]).c[2],(tmp->keyValue.p[i]).c[3]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tnormalizeVelocity (SFBool) \t%d\n",tmp->normalizeVelocity);
			spacer fprintf (fp,"\tkey (MFFloat):\n");
			for (i=0; i<tmp->key.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->key.p[i]); }
		    break;
		}
		case NODE_StaticGroup : {
			struct X3D_StaticGroup *tmp;
			tmp = (struct X3D_StaticGroup *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
		    break;
		}
		case NODE_StringSensor : {
			struct X3D_StringSensor *tmp;
			tmp = (struct X3D_StringSensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tdeletionAllowed (SFBool) \t%d\n",tmp->deletionAllowed);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_Switch : {
			struct X3D_Switch *tmp;
			tmp = (struct X3D_Switch *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\twhichChoice (SFInt32) \t%d\n",tmp->whichChoice);
			spacer fprintf (fp,"\tchoice (MFNode):\n");
			for (i=0; i<tmp->choice.n; i++) { dump_scene(fp,level+1,tmp->choice.p[i]); }
		    break;
		}
		case NODE_Text : {
			struct X3D_Text *tmp;
			tmp = (struct X3D_Text *) node;
			spacer fprintf (fp,"\tfontStyle (SFNode):\n"); dump_scene(fp,level+1,tmp->fontStyle); 
		    if(allFields) {
			spacer fprintf (fp,"\t__rendersub (SFInt32) \t%d\n",tmp->__rendersub);
		    }
			spacer fprintf (fp,"\tstring (MFString): \n");
			for (i=0; i<tmp->string.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->string.p[i]->strptr); }
			spacer fprintf (fp,"\tlength (MFFloat):\n");
			for (i=0; i<tmp->length.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->length.p[i]); }
			spacer fprintf (fp,"\tmaxExtent (SFFloat) \t%4.3f\n",tmp->maxExtent);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TextureBackground : {
			struct X3D_TextureBackground *tmp;
			tmp = (struct X3D_TextureBackground *) node;
			spacer fprintf (fp,"\ttopTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->topTexture); 
			spacer fprintf (fp,"\tgroundColor (MFColor):\n");
			for (i=0; i<tmp->groundColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->groundColor.p[i]).c[0], (tmp->groundColor.p[i]).c[1],(tmp->groundColor.p[i]).c[2]); }
			spacer fprintf (fp,"\trightTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->rightTexture); 
			spacer fprintf (fp,"\tfrontTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->frontTexture); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tbottomTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->bottomTexture); 
			spacer fprintf (fp,"\ttransparency (MFFloat):\n");
			for (i=0; i<tmp->transparency.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->transparency.p[i]); }
			spacer fprintf (fp,"\tleftTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->leftTexture); 
			spacer fprintf (fp,"\tskyAngle (MFFloat):\n");
			for (i=0; i<tmp->skyAngle.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->skyAngle.p[i]); }
			spacer fprintf (fp,"\tbackTexture (SFNode):\n"); dump_scene(fp,level+1,tmp->backTexture); 
			spacer fprintf (fp,"\tskyColor (MFColor):\n");
			for (i=0; i<tmp->skyColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->skyColor.p[i]).c[0], (tmp->skyColor.p[i]).c[1],(tmp->skyColor.p[i]).c[2]); }
			spacer fprintf (fp,"\tgroundAngle (MFFloat):\n");
			for (i=0; i<tmp->groundAngle.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->groundAngle.p[i]); }
		    break;
		}
		case NODE_TextureCoordinate : {
			struct X3D_TextureCoordinate *tmp;
			tmp = (struct X3D_TextureCoordinate *) node;
			spacer fprintf (fp,"\tpoint (MFVec2f):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TextureCoordinateGenerator : {
			struct X3D_TextureCoordinateGenerator *tmp;
			tmp = (struct X3D_TextureCoordinateGenerator *) node;
			spacer fprintf (fp,"\tparameter (MFFloat):\n");
			for (i=0; i<tmp->parameter.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->parameter.p[i]); }
			spacer fprintf (fp,"\tmode (SFString) \t%s\n",tmp->mode->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TextureProperties : {
			struct X3D_TextureProperties *tmp;
			tmp = (struct X3D_TextureProperties *) node;
			spacer fprintf (fp,"\tborderColor (SFColorRGBA): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->borderColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tboundaryModeS (SFString) \t%s\n",tmp->boundaryModeS->strptr);
			spacer fprintf (fp,"\tmagnificationFilter (SFString) \t%s\n",tmp->magnificationFilter->strptr);
			spacer fprintf (fp,"\ttexturePriority (SFFloat) \t%4.3f\n",tmp->texturePriority);
			spacer fprintf (fp,"\tboundaryModeT (SFString) \t%s\n",tmp->boundaryModeT->strptr);
			spacer fprintf (fp,"\tboundaryModeR (SFString) \t%s\n",tmp->boundaryModeR->strptr);
			spacer fprintf (fp,"\tanisotropicDegree (SFFloat) \t%4.3f\n",tmp->anisotropicDegree);
			spacer fprintf (fp,"\tborderWidth (SFInt32) \t%d\n",tmp->borderWidth);
			spacer fprintf (fp,"\tminificationFilter (SFString) \t%s\n",tmp->minificationFilter->strptr);
			spacer fprintf (fp,"\ttextureCompression (SFString) \t%s\n",tmp->textureCompression->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TextureTransform : {
			struct X3D_TextureTransform *tmp;
			tmp = (struct X3D_TextureTransform *) node;
			spacer fprintf (fp,"\trotation (SFFloat) \t%4.3f\n",tmp->rotation);
			spacer fprintf (fp,"\tscale (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\ttranslation (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcenter (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_TimeSensor : {
			struct X3D_TimeSensor *tmp;
			tmp = (struct X3D_TimeSensor *) node;
			spacer fprintf (fp,"\tloop (SFBool) \t%d\n",tmp->loop);
			spacer fprintf (fp,"\tresumeTime (SFTime) \t%4.3f\n",tmp->resumeTime);
			spacer fprintf (fp,"\tcycleInterval (SFTime) \t%4.3f\n",tmp->cycleInterval);
			spacer fprintf (fp,"\tpauseTime (SFTime) \t%4.3f\n",tmp->pauseTime);
			spacer fprintf (fp,"\tstartTime (SFTime) \t%4.3f\n",tmp->startTime);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    if(allFields) {
			spacer fprintf (fp,"\t__ctflag (SFTime) \t%4.3f\n",tmp->__ctflag);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tstopTime (SFTime) \t%4.3f\n",tmp->stopTime);
		    break;
		}
		case NODE_TimeTrigger : {
			struct X3D_TimeTrigger *tmp;
			tmp = (struct X3D_TimeTrigger *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TouchSensor : {
			struct X3D_TouchSensor *tmp;
			tmp = (struct X3D_TouchSensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_Transform : {
			struct X3D_Transform *tmp;
			tmp = (struct X3D_Transform *) node;
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
			spacer fprintf (fp,"\tscale (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scale.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_TransmitterPdu : {
			struct X3D_TransmitterPdu *tmp;
			tmp = (struct X3D_TransmitterPdu *) node;
			spacer fprintf (fp,"\tantennaPatternType (SFInt32) \t%d\n",tmp->antennaPatternType);
			spacer fprintf (fp,"\tfrequency (SFInt32) \t%d\n",tmp->frequency);
			spacer fprintf (fp,"\trtpHeaderExpected (SFBool) \t%d\n",tmp->rtpHeaderExpected);
			spacer fprintf (fp,"\tradioEntityTypeKind (SFInt32) \t%d\n",tmp->radioEntityTypeKind);
			spacer fprintf (fp,"\tpower (SFFloat) \t%4.3f\n",tmp->power);
			spacer fprintf (fp,"\taddress (SFString) \t%s\n",tmp->address->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tmodulationTypeMajor (SFInt32) \t%d\n",tmp->modulationTypeMajor);
			spacer fprintf (fp,"\tmodulationTypeDetail (SFInt32) \t%d\n",tmp->modulationTypeDetail);
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
			spacer fprintf (fp,"\tmulticastRelayPort (SFInt32) \t%d\n",tmp->multicastRelayPort);
			spacer fprintf (fp,"\trelativeAntennaLocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->relativeAntennaLocation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttransmitFrequencyBandwidth (SFFloat) \t%4.3f\n",tmp->transmitFrequencyBandwidth);
			spacer fprintf (fp,"\tmulticastRelayHost (SFString) \t%s\n",tmp->multicastRelayHost->strptr);
			spacer fprintf (fp,"\tport (SFInt32) \t%d\n",tmp->port);
			spacer fprintf (fp,"\tradioEntityTypeCategory (SFInt32) \t%d\n",tmp->radioEntityTypeCategory);
			spacer fprintf (fp,"\twhichGeometry (SFInt32) \t%d\n",tmp->whichGeometry);
			spacer fprintf (fp,"\twriteInterval (SFFloat) \t%4.3f\n",tmp->writeInterval);
			spacer fprintf (fp,"\tradioEntityTypeCountry (SFInt32) \t%d\n",tmp->radioEntityTypeCountry);
			spacer fprintf (fp,"\tentityID (SFInt32) \t%d\n",tmp->entityID);
			spacer fprintf (fp,"\tsiteID (SFInt32) \t%d\n",tmp->siteID);
			spacer fprintf (fp,"\tantennaLocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->antennaLocation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tnetworkMode (SFString) \t%s\n",tmp->networkMode->strptr);
			spacer fprintf (fp,"\tradioEntityTypeNomenclature (SFInt32) \t%d\n",tmp->radioEntityTypeNomenclature);
			spacer fprintf (fp,"\ttransmitState (SFInt32) \t%d\n",tmp->transmitState);
			spacer fprintf (fp,"\treadInterval (SFFloat) \t%4.3f\n",tmp->readInterval);
			spacer fprintf (fp,"\tapplicationID (SFInt32) \t%d\n",tmp->applicationID);
			spacer fprintf (fp,"\tradioID (SFInt32) \t%d\n",tmp->radioID);
			spacer fprintf (fp,"\tmodulationTypeSpreadSpectrum (SFInt32) \t%d\n",tmp->modulationTypeSpreadSpectrum);
			spacer fprintf (fp,"\tlengthOfModulationParameters (SFInt32) \t%d\n",tmp->lengthOfModulationParameters);
			spacer fprintf (fp,"\tradioEntityTypeDomain (SFInt32) \t%d\n",tmp->radioEntityTypeDomain);
			spacer fprintf (fp,"\tcryptoSystem (SFInt32) \t%d\n",tmp->cryptoSystem);
			spacer fprintf (fp,"\tcryptoKeyID (SFInt32) \t%d\n",tmp->cryptoKeyID);
			spacer fprintf (fp,"\tmodulationTypeSystem (SFInt32) \t%d\n",tmp->modulationTypeSystem);
			spacer fprintf (fp,"\tradioEntityTypeNomenclatureVersion (SFInt32) \t%d\n",tmp->radioEntityTypeNomenclatureVersion);
			spacer fprintf (fp,"\tinputSource (SFInt32) \t%d\n",tmp->inputSource);
			spacer fprintf (fp,"\tantennaPatternLength (SFInt32) \t%d\n",tmp->antennaPatternLength);
		    break;
		}
		case NODE_TriangleFanSet : {
			struct X3D_TriangleFanSet *tmp;
			tmp = (struct X3D_TriangleFanSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TriangleSet : {
			struct X3D_TriangleSet *tmp;
			tmp = (struct X3D_TriangleSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TriangleSet2D : {
			struct X3D_TriangleSet2D *tmp;
			tmp = (struct X3D_TriangleSet2D *) node;
			spacer fprintf (fp,"\tvertices (MFVec2f):\n");
			for (i=0; i<tmp->vertices.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->vertices.p[i]).c[0], (tmp->vertices.p[i]).c[1]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TriangleStripSet : {
			struct X3D_TriangleStripSet *tmp;
			tmp = (struct X3D_TriangleStripSet *) node;
			spacer fprintf (fp,"\tnormal (SFNode):\n"); dump_scene(fp,level+1,tmp->normal); 
			spacer fprintf (fp,"\ttexCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->texCoord); 
			spacer fprintf (fp,"\tcolor (SFNode):\n"); dump_scene(fp,level+1,tmp->color); 
			spacer fprintf (fp,"\tfogCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->fogCoord); 
			spacer fprintf (fp,"\tcoord (SFNode):\n"); dump_scene(fp,level+1,tmp->coord); 
			spacer fprintf (fp,"\tattrib (MFNode):\n");
			for (i=0; i<tmp->attrib.n; i++) { dump_scene(fp,level+1,tmp->attrib.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_TwoSidedMaterial : {
			struct X3D_TwoSidedMaterial *tmp;
			tmp = (struct X3D_TwoSidedMaterial *) node;
			spacer fprintf (fp,"\tspecularColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->specularColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tbackAmbientIntensity (SFFloat) \t%4.3f\n",tmp->backAmbientIntensity);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tbackEmissiveColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->backEmissiveColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tbackDiffuseColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->backDiffuseColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttransparency (SFFloat) \t%4.3f\n",tmp->transparency);
			spacer fprintf (fp,"\tseparateBackColor (SFBool) \t%d\n",tmp->separateBackColor);
			spacer fprintf (fp,"\tshininess (SFFloat) \t%4.3f\n",tmp->shininess);
			spacer fprintf (fp,"\tdiffuseColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->diffuseColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tambientIntensity (SFFloat) \t%4.3f\n",tmp->ambientIntensity);
			spacer fprintf (fp,"\tbackSpecularColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->backSpecularColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tbackTransparency (SFFloat) \t%4.3f\n",tmp->backTransparency);
			spacer fprintf (fp,"\temissiveColor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->emissiveColor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tbackShininess (SFFloat) \t%4.3f\n",tmp->backShininess);
		    break;
		}
		case NODE_VRML1_AsciiText : {
			struct X3D_VRML1_AsciiText *tmp;
			tmp = (struct X3D_VRML1_AsciiText *) node;
			spacer fprintf (fp,"\twidth (MFFloat):\n");
			for (i=0; i<tmp->width.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->width.p[i]); }
			spacer fprintf (fp,"\tjustification (SFString) \t%s\n",tmp->justification->strptr);
			spacer fprintf (fp,"\tstring (MFString): \n");
			for (i=0; i<tmp->string.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->string.p[i]->strptr); }
			spacer fprintf (fp,"\tspacing (SFFloat) \t%4.3f\n",tmp->spacing);
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_Cone : {
			struct X3D_VRML1_Cone *tmp;
			tmp = (struct X3D_VRML1_Cone *) node;
			spacer fprintf (fp,"\tparts (SFString) \t%s\n",tmp->parts->strptr);
			spacer fprintf (fp,"\tbottomRadius (SFFloat) \t%4.3f\n",tmp->bottomRadius);
			spacer fprintf (fp,"\theight (SFFloat) \t%4.3f\n",tmp->height);
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_Coordinate3 : {
			struct X3D_VRML1_Coordinate3 *tmp;
			tmp = (struct X3D_VRML1_Coordinate3 *) node;
			spacer fprintf (fp,"\tpoint (MFVec3f):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1],(tmp->point.p[i]).c[2]); }
		    break;
		}
		case NODE_VRML1_Cube : {
			struct X3D_VRML1_Cube *tmp;
			tmp = (struct X3D_VRML1_Cube *) node;
			spacer fprintf (fp,"\twidth (SFFloat) \t%4.3f\n",tmp->width);
			spacer fprintf (fp,"\theight (SFFloat) \t%4.3f\n",tmp->height);
			spacer fprintf (fp,"\tdepth (SFFloat) \t%4.3f\n",tmp->depth);
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_Cylinder : {
			struct X3D_VRML1_Cylinder *tmp;
			tmp = (struct X3D_VRML1_Cylinder *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
			spacer fprintf (fp,"\tparts (SFString) \t%s\n",tmp->parts->strptr);
			spacer fprintf (fp,"\theight (SFFloat) \t%4.3f\n",tmp->height);
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_DirectionalLight : {
			struct X3D_VRML1_DirectionalLight *tmp;
			tmp = (struct X3D_VRML1_DirectionalLight *) node;
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tdirection (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->direction.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    break;
		}
		case NODE_VRML1_FontStyle : {
			struct X3D_VRML1_FontStyle *tmp;
			tmp = (struct X3D_VRML1_FontStyle *) node;
			spacer fprintf (fp,"\tstyle (SFString) \t%s\n",tmp->style->strptr);
			spacer fprintf (fp,"\tsize (SFFloat) \t%4.3f\n",tmp->size);
			spacer fprintf (fp,"\tfamily (SFString) \t%s\n",tmp->family->strptr);
		    break;
		}
		case NODE_VRML1_IndexedFaceSet : {
			struct X3D_VRML1_IndexedFaceSet *tmp;
			tmp = (struct X3D_VRML1_IndexedFaceSet *) node;
			spacer fprintf (fp,"\tnormalIndex (MFInt32):\n");
			for (i=0; i<tmp->normalIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->normalIndex.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_normal (SFNode):\n"); dump_scene(fp,level+1,tmp->_normal); 
		    }
			spacer fprintf (fp,"\tmaterialIndex (MFInt32):\n");
			for (i=0; i<tmp->materialIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->materialIndex.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_color (SFNode):\n"); dump_scene(fp,level+1,tmp->_color); 
		    }
			spacer fprintf (fp,"\tcoordIndex (MFInt32):\n");
			for (i=0; i<tmp->coordIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->coordIndex.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_texCoord (SFNode):\n"); dump_scene(fp,level+1,tmp->_texCoord); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t_coord (SFNode):\n"); dump_scene(fp,level+1,tmp->_coord); 
		    }
			spacer fprintf (fp,"\ttextureCoordIndex (MFInt32):\n");
			for (i=0; i<tmp->textureCoordIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->textureCoordIndex.p[i]); }
		    break;
		}
		case NODE_VRML1_IndexedLineSet : {
			struct X3D_VRML1_IndexedLineSet *tmp;
			tmp = (struct X3D_VRML1_IndexedLineSet *) node;
			spacer fprintf (fp,"\tnormalIndex (MFInt32):\n");
			for (i=0; i<tmp->normalIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->normalIndex.p[i]); }
			spacer fprintf (fp,"\tcoordIndex (MFInt32):\n");
			for (i=0; i<tmp->coordIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->coordIndex.p[i]); }
			spacer fprintf (fp,"\tmaterialIndex (MFInt32):\n");
			for (i=0; i<tmp->materialIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->materialIndex.p[i]); }
			spacer fprintf (fp,"\ttextureCoordIndex (MFInt32):\n");
			for (i=0; i<tmp->textureCoordIndex.n; i++) { spacer fprintf (fp,"			%d: \t%d\n",i,tmp->textureCoordIndex.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_Info : {
			struct X3D_VRML1_Info *tmp;
			tmp = (struct X3D_VRML1_Info *) node;
			spacer fprintf (fp,"\tstring (SFString) \t%s\n",tmp->string->strptr);
		    break;
		}
		case NODE_VRML1_LOD : {
			struct X3D_VRML1_LOD *tmp;
			tmp = (struct X3D_VRML1_LOD *) node;
			spacer fprintf (fp,"\trange (MFFloat):\n");
			for (i=0; i<tmp->range.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->range.p[i]); }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_Material : {
			struct X3D_VRML1_Material *tmp;
			tmp = (struct X3D_VRML1_Material *) node;
			spacer fprintf (fp,"\ttransparency (MFFloat):\n");
			for (i=0; i<tmp->transparency.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->transparency.p[i]); }
			spacer fprintf (fp,"\tspecularColor (MFColor):\n");
			for (i=0; i<tmp->specularColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->specularColor.p[i]).c[0], (tmp->specularColor.p[i]).c[1],(tmp->specularColor.p[i]).c[2]); }
			spacer fprintf (fp,"\temissiveColor (MFColor):\n");
			for (i=0; i<tmp->emissiveColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->emissiveColor.p[i]).c[0], (tmp->emissiveColor.p[i]).c[1],(tmp->emissiveColor.p[i]).c[2]); }
			spacer fprintf (fp,"\tshininess (MFFloat):\n");
			for (i=0; i<tmp->shininess.n; i++) { spacer fprintf (fp,"			%d: \t%4.3f\n",i,tmp->shininess.p[i]); }
			spacer fprintf (fp,"\tdiffuseColor (MFColor):\n");
			for (i=0; i<tmp->diffuseColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->diffuseColor.p[i]).c[0], (tmp->diffuseColor.p[i]).c[1],(tmp->diffuseColor.p[i]).c[2]); }
			spacer fprintf (fp,"\tambientColor (MFColor):\n");
			for (i=0; i<tmp->ambientColor.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->ambientColor.p[i]).c[0], (tmp->ambientColor.p[i]).c[1],(tmp->ambientColor.p[i]).c[2]); }
		    break;
		}
		case NODE_VRML1_MaterialBinding : {
			struct X3D_VRML1_MaterialBinding *tmp;
			tmp = (struct X3D_VRML1_MaterialBinding *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t_initialized (SFInt32) \t%d\n",tmp->_initialized);
		    }
			spacer fprintf (fp,"\tvalue (SFString) \t%s\n",tmp->value->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_Value (SFInt32) \t%d\n",tmp->_Value);
		    }
		    break;
		}
		case NODE_VRML1_MatrixTransform : {
			struct X3D_VRML1_MatrixTransform *tmp;
			tmp = (struct X3D_VRML1_MatrixTransform *) node;
			spacer fprintf (fp,"\tvalue (SFMatrix4f): \t");
			for (i=0; i<16; i++) { fprintf (fp,"%4.3f  ",tmp->value.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_Normal : {
			struct X3D_VRML1_Normal *tmp;
			tmp = (struct X3D_VRML1_Normal *) node;
			spacer fprintf (fp,"\tvector (MFVec3f):\n");
			for (i=0; i<tmp->vector.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f, %4.3f]\n",i,(tmp->vector.p[i]).c[0], (tmp->vector.p[i]).c[1],(tmp->vector.p[i]).c[2]); }
		    break;
		}
		case NODE_VRML1_NormalBinding : {
			struct X3D_VRML1_NormalBinding *tmp;
			tmp = (struct X3D_VRML1_NormalBinding *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t_initialized (SFInt32) \t%d\n",tmp->_initialized);
		    }
			spacer fprintf (fp,"\tvalue (SFString) \t%s\n",tmp->value->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_Value (SFInt32) \t%d\n",tmp->_Value);
		    }
		    break;
		}
		case NODE_VRML1_OrthographicCamera : {
			struct X3D_VRML1_OrthographicCamera *tmp;
			tmp = (struct X3D_VRML1_OrthographicCamera *) node;
			spacer fprintf (fp,"\tposition (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->position.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\torientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->orientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tfocalDistance (SFFloat) \t%4.3f\n",tmp->focalDistance);
			spacer fprintf (fp,"\theight (SFFloat) \t%4.3f\n",tmp->height);
		    break;
		}
		case NODE_VRML1_PerspectiveCamera : {
			struct X3D_VRML1_PerspectiveCamera *tmp;
			tmp = (struct X3D_VRML1_PerspectiveCamera *) node;
			spacer fprintf (fp,"\theightAngle (SFFloat) \t%4.3f\n",tmp->heightAngle);
			spacer fprintf (fp,"\tposition (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->position.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\torientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->orientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tfocalDistance (SFFloat) \t%4.3f\n",tmp->focalDistance);
		    break;
		}
		case NODE_VRML1_PointLight : {
			struct X3D_VRML1_PointLight *tmp;
			tmp = (struct X3D_VRML1_PointLight *) node;
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tlocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->location.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    break;
		}
		case NODE_VRML1_PointSet : {
			struct X3D_VRML1_PointSet *tmp;
			tmp = (struct X3D_VRML1_PointSet *) node;
			spacer fprintf (fp,"\tstartIndex (SFInt32) \t%d\n",tmp->startIndex);
			spacer fprintf (fp,"\tnumPoints (SFInt32) \t%d\n",tmp->numPoints);
		    break;
		}
		case NODE_VRML1_Rotation : {
			struct X3D_VRML1_Rotation *tmp;
			tmp = (struct X3D_VRML1_Rotation *) node;
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_Scale : {
			struct X3D_VRML1_Scale *tmp;
			tmp = (struct X3D_VRML1_Scale *) node;
			spacer fprintf (fp,"\tscaleFactor (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scaleFactor.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_Separator : {
			struct X3D_VRML1_Separator *tmp;
			tmp = (struct X3D_VRML1_Separator *) node;
			spacer fprintf (fp,"\trenderCulling (SFString) \t%s\n",tmp->renderCulling->strptr);
			spacer fprintf (fp,"\tVRML1children (MFNode):\n");
			for (i=0; i<tmp->VRML1children.n; i++) { dump_scene(fp,level+1,tmp->VRML1children.p[i]); }
		    if(allFields) {
			spacer fprintf (fp,"\t_sortedChildren (MFNode):\n");
			for (i=0; i<tmp->_sortedChildren.n; i++) { dump_scene(fp,level+1,tmp->_sortedChildren.p[i]); }
		    }
		    break;
		}
		case NODE_VRML1_ShapeHints : {
			struct X3D_VRML1_ShapeHints *tmp;
			tmp = (struct X3D_VRML1_ShapeHints *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t_faceValue (SFInt32) \t%d\n",tmp->_faceValue);
		    }
			spacer fprintf (fp,"\tfaceType (SFString) \t%s\n",tmp->faceType->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_initialized (SFInt32) \t%d\n",tmp->_initialized);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t_typeValue (SFInt32) \t%d\n",tmp->_typeValue);
		    }
			spacer fprintf (fp,"\tvertexOrdering (SFString) \t%s\n",tmp->vertexOrdering->strptr);
			spacer fprintf (fp,"\tshapeType (SFString) \t%s\n",tmp->shapeType->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_vertValue (SFInt32) \t%d\n",tmp->_vertValue);
		    }
		    break;
		}
		case NODE_VRML1_Sphere : {
			struct X3D_VRML1_Sphere *tmp;
			tmp = (struct X3D_VRML1_Sphere *) node;
			spacer fprintf (fp,"\tradius (SFFloat) \t%4.3f\n",tmp->radius);
		    if(allFields) {
			spacer fprintf (fp,"\t_ILS (SFNode):\n"); dump_scene(fp,level+1,tmp->_ILS); 
		    }
		    break;
		}
		case NODE_VRML1_SpotLight : {
			struct X3D_VRML1_SpotLight *tmp;
			tmp = (struct X3D_VRML1_SpotLight *) node;
			spacer fprintf (fp,"\ton (SFBool) \t%d\n",tmp->on);
			spacer fprintf (fp,"\tdirection (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->direction.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcolor (SFColor): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->color.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcutOffAngle (SFFloat) \t%4.3f\n",tmp->cutOffAngle);
			spacer fprintf (fp,"\tlocation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->location.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdropOffRate (SFFloat) \t%4.3f\n",tmp->dropOffRate);
			spacer fprintf (fp,"\tintensity (SFFloat) \t%4.3f\n",tmp->intensity);
		    break;
		}
		case NODE_VRML1_Switch : {
			struct X3D_VRML1_Switch *tmp;
			tmp = (struct X3D_VRML1_Switch *) node;
			spacer fprintf (fp,"\twhichChild (SFInt32) \t%d\n",tmp->whichChild);
		    break;
		}
		case NODE_VRML1_Texture2 : {
			struct X3D_VRML1_Texture2 *tmp;
			tmp = (struct X3D_VRML1_Texture2 *) node;
			spacer fprintf (fp,"\twrapS (SFString) \t%s\n",tmp->wrapS->strptr);
			spacer fprintf (fp,"\timage (SFImage): (not dumped)\t");
			fprintf (fp,"\n");
			spacer fprintf (fp,"\twrapT (SFString) \t%s\n",tmp->wrapT->strptr);
		    if(allFields) {
			spacer fprintf (fp,"\t_initialized (SFInt32) \t%d\n",tmp->_initialized);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t_wrapS (SFInt32) \t%d\n",tmp->_wrapS);
		    }
		    if(allFields) {
			spacer fprintf (fp,"\t_wrapT (SFInt32) \t%d\n",tmp->_wrapT);
		    }
			spacer fprintf (fp,"\tfilename (MFString): \n");
			for (i=0; i<tmp->filename.n; i++) { spacer fprintf (fp,"			%d: \t%s\n",i,tmp->filename.p[i]->strptr); }
		    break;
		}
		case NODE_VRML1_Texture2Transform : {
			struct X3D_VRML1_Texture2Transform *tmp;
			tmp = (struct X3D_VRML1_Texture2Transform *) node;
			spacer fprintf (fp,"\trotation (SFFloat) \t%4.3f\n",tmp->rotation);
			spacer fprintf (fp,"\tscaleFactor (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->scaleFactor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttranslation (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcenter (SFVec2f): \t");
			for (i=0; i<2; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_TextureCoordinate2 : {
			struct X3D_VRML1_TextureCoordinate2 *tmp;
			tmp = (struct X3D_VRML1_TextureCoordinate2 *) node;
			spacer fprintf (fp,"\tpoint (MFVec2f):\n");
			for (i=0; i<tmp->point.n; i++) { spacer fprintf (fp,"			%d: \t[%4.3f, %4.3f]\n",i,(tmp->point.p[i]).c[0], (tmp->point.p[i]).c[1]); }
		    break;
		}
		case NODE_VRML1_Transform : {
			struct X3D_VRML1_Transform *tmp;
			tmp = (struct X3D_VRML1_Transform *) node;
			spacer fprintf (fp,"\trotation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->rotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tscaleOrientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->scaleOrientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tscaleFactor (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->scaleFactor.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_Translation : {
			struct X3D_VRML1_Translation *tmp;
			tmp = (struct X3D_VRML1_Translation *) node;
			spacer fprintf (fp,"\ttranslation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->translation.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_VRML1_WWWAnchor : {
			struct X3D_VRML1_WWWAnchor *tmp;
			tmp = (struct X3D_VRML1_WWWAnchor *) node;
			spacer fprintf (fp,"\tmap (SFString) \t%s\n",tmp->map->strptr);
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
		    break;
		}
		case NODE_VRML1_WWWInline : {
			struct X3D_VRML1_WWWInline *tmp;
			tmp = (struct X3D_VRML1_WWWInline *) node;
			spacer fprintf (fp,"\tbboxCenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->bboxCenter.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tname (SFString) \t%s\n",tmp->name->strptr);
			spacer fprintf (fp,"\tbboxSize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->bboxSize.c[i]); }
			fprintf (fp,"\n");
		    break;
		}
		case NODE_Viewpoint : {
			struct X3D_Viewpoint *tmp;
			tmp = (struct X3D_Viewpoint *) node;
			spacer fprintf (fp,"\torientation (SFRotation): \t");
			for (i=0; i<4; i++) { fprintf (fp,"%4.3f  ",tmp->orientation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tposition (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->position.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tjump (SFBool) \t%d\n",tmp->jump);
			spacer fprintf (fp,"\tretainUserOffsets (SFBool) \t%d\n",tmp->retainUserOffsets);
			spacer fprintf (fp,"\tcenterOfRotation (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->centerOfRotation.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tfieldOfView (SFFloat) \t%4.3f\n",tmp->fieldOfView);
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_ViewpointGroup : {
			struct X3D_ViewpointGroup *tmp;
			tmp = (struct X3D_ViewpointGroup *) node;
			spacer fprintf (fp,"\tdisplayed (SFBool) \t%d\n",tmp->displayed);
			spacer fprintf (fp,"\tchildren (MFNode):\n");
			for (i=0; i<tmp->children.n; i++) { dump_scene(fp,level+1,tmp->children.p[i]); }
			spacer fprintf (fp,"\tretainUserOffsets (SFBool) \t%d\n",tmp->retainUserOffsets);
			spacer fprintf (fp,"\tdescription (SFString) \t%s\n",tmp->description->strptr);
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tsize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\t__proxNode (SFNode):\n"); dump_scene(fp,level+1,tmp->__proxNode); 
		    }
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		case NODE_VisibilitySensor : {
			struct X3D_VisibilitySensor *tmp;
			tmp = (struct X3D_VisibilitySensor *) node;
		    if(allFields) {
			spacer fprintf (fp,"\t__oldEnabled (SFBool) \t%d\n",tmp->__oldEnabled);
		    }
			spacer fprintf (fp,"\tcenter (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->center.c[i]); }
			fprintf (fp,"\n");
			spacer fprintf (fp,"\tsize (SFVec3f): \t");
			for (i=0; i<3; i++) { fprintf (fp,"%4.3f  ",tmp->size.c[i]); }
			fprintf (fp,"\n");
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
			spacer fprintf (fp,"\tenabled (SFBool) \t%d\n",tmp->enabled);
		    break;
		}
		case NODE_WorldInfo : {
			struct X3D_WorldInfo *tmp;
			tmp = (struct X3D_WorldInfo *) node;
		    if(allFields) {
			spacer fprintf (fp,"\tmetadata (SFNode):\n"); dump_scene(fp,level+1,tmp->metadata); 
		    }
		    break;
		}
		default: {}
 }
 fflush(fp) ;
 spacer fprintf (fp,"L%d end\n",level);
 if (level == 0) fprintf (fp,"ending dump_scene\n");
}

int getSAI_X3DNodeType (int FreeWRLNodeType) {
	switch (FreeWRLNodeType) {
	case NODE_Anchor: return X3DGroupingNode; break;
	case NODE_Appearance: return X3DAppearanceNode; break;
	case NODE_Arc2D: return X3DGeometryNode; break;
	case NODE_ArcClose2D: return X3DGeometryNode; break;
	case NODE_AudioClip: return X3DSoundSourceNode; break;
	case NODE_Background: return X3DBackgroundNode; break;
	case NODE_Billboard: return X3DGroupingNode; break;
	case NODE_BooleanFilter: return X3DChildNode; break;
	case NODE_BooleanSequencer: return X3DSequencerNode; break;
	case NODE_BooleanToggle: return X3DChildNode; break;
	case NODE_BooleanTrigger: return X3DTriggerNode; break;
	case NODE_Box: return X3DGeometryNode; break;
	case NODE_Circle2D: return X3DGeometryNode; break;
	case NODE_ClipPlane: return X3DChildNode; break;
	case NODE_Collision: return X3DEnvironmentalSensorNode; break;
	case NODE_Color: return X3DColorNode; break;
	case NODE_ColorInterpolator: return X3DInterpolatorNode; break;
	case NODE_ColorRGBA: return X3DColorNode; break;
	case NODE_ComposedCubeMapTexture: return X3DEnvironmentTextureNode; break;
	case NODE_ComposedShader: return X3DShaderNode; break;
	case NODE_Cone: return X3DGeometryNode; break;
	case NODE_Contour2D: return X3DParametricGeometryNode; break;
	case NODE_ContourPolyLine2D: return X3DParametricGeometryNode; break;
	case NODE_Coordinate: return X3DCoordinateNode; break;
	case NODE_CoordinateInterpolator: return X3DInterpolatorNode; break;
	case NODE_CoordinateInterpolator2D: return X3DInterpolatorNode; break;
	case NODE_Cylinder: return X3DGeometryNode; break;
	case NODE_CylinderSensor: return X3DPointingDeviceSensorNode; break;
	case NODE_DISEntityManager: return X3DChildNode; break;
	case NODE_DISEntityTypeMapping: return X3DInfoNode; break;
	case NODE_DirectionalLight: return X3DLightNode; break;
	case NODE_Disk2D: return X3DGeometryNode; break;
	case NODE_EaseInEaseOut: return X3DInterpolatorNode; break;
	case NODE_ElevationGrid: return X3DGeometryNode; break;
	case NODE_EspduTransform: return X3DGroupingNode; break;
	case NODE_Extrusion: return X3DGeometryNode; break;
	case NODE_FillProperties: return X3DAppearanceChildNode; break;
	case NODE_FloatVertexAttribute: return X3DVertexAttributeNode; break;
	case NODE_Fog: return X3DBindableNode; break;
	case NODE_FogCoordinate: return X3DGeometricPropertyNode; break;
	case NODE_FontStyle: return X3DFontStyleNode; break;
	case NODE_GeneratedCubeMapTexture: return X3DEnvironmentTextureNode; break;
	case NODE_GeoCoordinate: return X3DCoordinateNode; break;
	case NODE_GeoElevationGrid: return X3DGeometryNode; break;
	case NODE_GeoLOD: return X3DGroupingNode; break;
	case NODE_GeoLocation: return X3DGroupingNode; break;
	case NODE_GeoMetadata: return X3DChildNode; break;
	case NODE_GeoOrigin: return X3DChildNode; break;
	case NODE_GeoPositionInterpolator: return X3DInterpolatorNode; break;
	case NODE_GeoProximitySensor: return X3DEnvironmentalSensorNode; break;
	case NODE_GeoTouchSensor: return X3DPointingDeviceSensorNode; break;
	case NODE_GeoTransform: return X3DGroupingNode; break;
	case NODE_GeoViewpoint: return X3DBindableNode; break;
	case NODE_Group: return X3DGroupingNode; break;
	case NODE_HAnimDisplacer: return X3DGeometricPropertyNode; break;
	case NODE_HAnimHumanoid: return X3DChildNode; break;
	case NODE_HAnimJoint: return X3DChildNode; break;
	case NODE_HAnimSegment: return X3DChildNode; break;
	case NODE_HAnimSite: return X3DGroupingNode; break;
	case NODE_ImageCubeMapTexture: return X3DEnvironmentTextureNode; break;
	case NODE_ImageTexture: return X3DTextureNode; break;
	case NODE_IndexedFaceSet: return X3DGeometryNode; break;
	case NODE_IndexedLineSet: return X3DGeometryNode; break;
	case NODE_IndexedTriangleFanSet: return X3DGeometryNode; break;
	case NODE_IndexedTriangleSet: return X3DGeometryNode; break;
	case NODE_IndexedTriangleStripSet: return X3DGeometryNode; break;
	case NODE_Inline: return X3DNetworkSensorNode; break;
	case NODE_IntegerSequencer: return X3DSequencerNode; break;
	case NODE_IntegerTrigger: return X3DTriggerNode; break;
	case NODE_KeySensor: return X3DKeyDeviceSensorNode; break;
	case NODE_LOD: return X3DGroupingNode; break;
	case NODE_LineProperties: return X3DAppearanceChildNode; break;
	case NODE_LineSet: return X3DGeometryNode; break;
	case NODE_LoadSensor: return X3DNetworkSensorNode; break;
	case NODE_LocalFog: return X3DChildNode; break;
	case NODE_Material: return X3DMaterialNode; break;
	case NODE_Matrix3VertexAttribute: return X3DVertexAttributeNode; break;
	case NODE_Matrix4VertexAttribute: return X3DVertexAttributeNode; break;
	case NODE_MetadataDouble: return X3DChildNode; break;
	case NODE_MetadataFloat: return X3DChildNode; break;
	case NODE_MetadataInteger: return X3DChildNode; break;
	case NODE_MetadataMFBool: return X3DChildNode; break;
	case NODE_MetadataMFColor: return X3DChildNode; break;
	case NODE_MetadataMFColorRGBA: return X3DChildNode; break;
	case NODE_MetadataMFDouble: return X3DChildNode; break;
	case NODE_MetadataMFFloat: return X3DChildNode; break;
	case NODE_MetadataMFInt32: return X3DChildNode; break;
	case NODE_MetadataMFMatrix3d: return X3DChildNode; break;
	case NODE_MetadataMFMatrix3f: return X3DChildNode; break;
	case NODE_MetadataMFMatrix4d: return X3DChildNode; break;
	case NODE_MetadataMFMatrix4f: return X3DChildNode; break;
	case NODE_MetadataMFNode: return X3DChildNode; break;
	case NODE_MetadataMFRotation: return X3DChildNode; break;
	case NODE_MetadataMFString: return X3DChildNode; break;
	case NODE_MetadataMFTime: return X3DChildNode; break;
	case NODE_MetadataMFVec2d: return X3DChildNode; break;
	case NODE_MetadataMFVec2f: return X3DChildNode; break;
	case NODE_MetadataMFVec3d: return X3DChildNode; break;
	case NODE_MetadataMFVec3f: return X3DChildNode; break;
	case NODE_MetadataMFVec4d: return X3DChildNode; break;
	case NODE_MetadataMFVec4f: return X3DChildNode; break;
	case NODE_MetadataSFBool: return X3DChildNode; break;
	case NODE_MetadataSFColor: return X3DChildNode; break;
	case NODE_MetadataSFColorRGBA: return X3DChildNode; break;
	case NODE_MetadataSFDouble: return X3DChildNode; break;
	case NODE_MetadataSFFloat: return X3DChildNode; break;
	case NODE_MetadataSFImage: return X3DChildNode; break;
	case NODE_MetadataSFInt32: return X3DChildNode; break;
	case NODE_MetadataSFMatrix3d: return X3DChildNode; break;
	case NODE_MetadataSFMatrix3f: return X3DChildNode; break;
	case NODE_MetadataSFMatrix4d: return X3DChildNode; break;
	case NODE_MetadataSFMatrix4f: return X3DChildNode; break;
	case NODE_MetadataSFNode: return X3DChildNode; break;
	case NODE_MetadataSFRotation: return X3DChildNode; break;
	case NODE_MetadataSFString: return X3DChildNode; break;
	case NODE_MetadataSFTime: return X3DChildNode; break;
	case NODE_MetadataSFVec2d: return X3DChildNode; break;
	case NODE_MetadataSFVec2f: return X3DChildNode; break;
	case NODE_MetadataSFVec3d: return X3DChildNode; break;
	case NODE_MetadataSFVec3f: return X3DChildNode; break;
	case NODE_MetadataSFVec4d: return X3DChildNode; break;
	case NODE_MetadataSFVec4f: return X3DChildNode; break;
	case NODE_MetadataSet: return X3DChildNode; break;
	case NODE_MetadataString: return X3DChildNode; break;
	case NODE_MovieTexture: return X3DTextureNode; break;
	case NODE_MultiTexture: return X3DTextureNode; break;
	case NODE_MultiTextureCoordinate: return X3DTextureCoordinateNode; break;
	case NODE_MultiTextureTransform: return X3DTextureTransformNode; break;
	case NODE_NavigationInfo: return X3DBindableNode; break;
	case NODE_Normal: return X3DNormalNode; break;
	case NODE_NormalInterpolator: return X3DInterpolatorNode; break;
	case NODE_NurbsCurve: return X3DParametricGeometryNode; break;
	case NODE_NurbsCurve2D: return X3DParametricGeometryNode; break;
	case NODE_NurbsGroup: return X3DGroupingNode; break;
	case NODE_NurbsPositionInterpolator: return X3DInterpolatorNode; break;
	case NODE_NurbsSurface: return X3DParametricGeometryNode; break;
	case NODE_NurbsTextureSurface: return X3DParametricGeometryNode; break;
	case NODE_NurbsTrimmedSurface: return X3DParametricGeometryNode; break;
	case NODE_OSC_Sensor: return X3DNetworkSensorNode; break;
	case NODE_OrientationInterpolator: return X3DInterpolatorNode; break;
	case NODE_OrthoViewpoint: return X3DBindableNode; break;
	case NODE_PackagedShader: return X3DProgrammableShaderObject; break;
	case NODE_PickableGroup: return X3DGroupingNode; break;
	case NODE_PixelTexture: return X3DTextureNode; break;
	case NODE_PlaneSensor: return X3DPointingDeviceSensorNode; break;
	case NODE_PointLight: return X3DLightNode; break;
	case NODE_PointPickSensor: return X3DSensorNode; break;
	case NODE_PointSet: return X3DGeometryNode; break;
	case NODE_Polyline2D: return X3DGeometryNode; break;
	case NODE_Polypoint2D: return X3DGeometryNode; break;
	case NODE_PositionInterpolator: return X3DInterpolatorNode; break;
	case NODE_PositionInterpolator2D: return X3DInterpolatorNode; break;
	case NODE_ProgramShader: return X3DProgrammableShaderObject; break;
	case NODE_ProximitySensor: return X3DEnvironmentalSensorNode; break;
	case NODE_ReceiverPdu: return X3DChildNode; break;
	case NODE_Rectangle2D: return X3DGeometryNode; break;
	case NODE_ScalarInterpolator: return X3DInterpolatorNode; break;
	case NODE_Script: return X3DScriptNode; break;
	case NODE_ShaderPart: return X3DUrlObject; break;
	case NODE_ShaderProgram: return X3DUrlObject; break;
	case NODE_Shape: return X3DBoundedObject; break;
	case NODE_SignalPdu: return X3DChildNode; break;
	case NODE_Sound: return X3DSoundSourceNode; break;
	case NODE_Sphere: return X3DGeometryNode; break;
	case NODE_SphereSensor: return X3DPointingDeviceSensorNode; break;
	case NODE_SplinePositionInterpolator: return X3DInterpolatorNode; break;
	case NODE_SplinePositionInterpolator2D: return X3DInterpolatorNode; break;
	case NODE_SplineScalarInterpolator: return X3DInterpolatorNode; break;
	case NODE_SpotLight: return X3DLightNode; break;
	case NODE_SquadOrientationInterpolator: return X3DInterpolatorNode; break;
	case NODE_StaticGroup: return X3DGroupingNode; break;
	case NODE_StringSensor: return X3DKeyDeviceSensorNode; break;
	case NODE_Switch: return X3DGroupingNode; break;
	case NODE_Text: return X3DTextNode; break;
	case NODE_TextureBackground: return X3DBackgroundNode; break;
	case NODE_TextureCoordinate: return X3DTextureCoordinateNode; break;
	case NODE_TextureCoordinateGenerator: return X3DTextureCoordinateNode; break;
	case NODE_TextureProperties: return X3DSFNode; break;
	case NODE_TextureTransform: return X3DTextureTransformNode; break;
	case NODE_TimeSensor: return X3DSensorNode; break;
	case NODE_TimeTrigger: return X3DTriggerNode; break;
	case NODE_TouchSensor: return X3DPointingDeviceSensorNode; break;
	case NODE_Transform: return X3DGroupingNode; break;
	case NODE_TransmitterPdu: return X3DChildNode; break;
	case NODE_TriangleFanSet: return X3DGeometryNode; break;
	case NODE_TriangleSet: return X3DGeometryNode; break;
	case NODE_TriangleSet2D: return X3DGeometryNode; break;
	case NODE_TriangleStripSet: return X3DGeometryNode; break;
	case NODE_TwoSidedMaterial: return X3DMaterialNode; break;
	case NODE_VRML1_AsciiText: return X3DChildNode; break;
	case NODE_VRML1_Cone: return X3DChildNode; break;
	case NODE_VRML1_Coordinate3: return X3DChildNode; break;
	case NODE_VRML1_Cube: return X3DChildNode; break;
	case NODE_VRML1_Cylinder: return X3DChildNode; break;
	case NODE_VRML1_DirectionalLight: return X3DChildNode; break;
	case NODE_VRML1_FontStyle: return X3DChildNode; break;
	case NODE_VRML1_IndexedFaceSet: return X3DChildNode; break;
	case NODE_VRML1_IndexedLineSet: return X3DChildNode; break;
	case NODE_VRML1_Info: return X3DChildNode; break;
	case NODE_VRML1_LOD: return X3DChildNode; break;
	case NODE_VRML1_Material: return X3DChildNode; break;
	case NODE_VRML1_MaterialBinding: return X3DChildNode; break;
	case NODE_VRML1_MatrixTransform: return X3DChildNode; break;
	case NODE_VRML1_Normal: return X3DChildNode; break;
	case NODE_VRML1_NormalBinding: return X3DChildNode; break;
	case NODE_VRML1_OrthographicCamera: return X3DChildNode; break;
	case NODE_VRML1_PerspectiveCamera: return X3DChildNode; break;
	case NODE_VRML1_PointLight: return X3DChildNode; break;
	case NODE_VRML1_PointSet: return X3DChildNode; break;
	case NODE_VRML1_Rotation: return X3DChildNode; break;
	case NODE_VRML1_Scale: return X3DChildNode; break;
	case NODE_VRML1_Separator: return X3DChildNode; break;
	case NODE_VRML1_ShapeHints: return X3DChildNode; break;
	case NODE_VRML1_Sphere: return X3DChildNode; break;
	case NODE_VRML1_SpotLight: return X3DChildNode; break;
	case NODE_VRML1_Switch: return X3DChildNode; break;
	case NODE_VRML1_Texture2: return X3DChildNode; break;
	case NODE_VRML1_Texture2Transform: return X3DChildNode; break;
	case NODE_VRML1_TextureCoordinate2: return X3DChildNode; break;
	case NODE_VRML1_Transform: return X3DChildNode; break;
	case NODE_VRML1_Translation: return X3DChildNode; break;
	case NODE_VRML1_WWWAnchor: return X3DChildNode; break;
	case NODE_VRML1_WWWInline: return X3DChildNode; break;
	case NODE_Viewpoint: return X3DBindableNode; break;
	case NODE_ViewpointGroup: return X3DGroupingNode; break;
	case NODE_VisibilitySensor: return X3DEnvironmentalSensorNode; break;
	case NODE_WorldInfo: return X3DChildNode; break;
	default:return -1;
	}
}
