#ifndef _GF_X3D_NODES_H
#define _GF_X3D_NODES_H
#ifdef __cplusplus
extern "C" {
#endif
#include <gpac/scenegraph_vrml.h>
#ifndef GPAC_DISABLE_X3D
enum {
TAG_X3D_Anchor = GF_NODE_RANGE_FIRST_X3D,
TAG_X3D_Appearance,
TAG_X3D_Arc2D,
TAG_X3D_ArcClose2D,
TAG_X3D_AudioClip,
TAG_X3D_Background,
TAG_X3D_Billboard,
TAG_X3D_BooleanFilter,
TAG_X3D_BooleanSequencer,
TAG_X3D_BooleanToggle,
TAG_X3D_BooleanTrigger,
TAG_X3D_Box,
TAG_X3D_Circle2D,
TAG_X3D_Collision,
TAG_X3D_Color,
TAG_X3D_ColorInterpolator,
TAG_X3D_ColorRGBA,
TAG_X3D_Cone,
TAG_X3D_Contour2D,
TAG_X3D_ContourPolyline2D,
TAG_X3D_Coordinate,
TAG_X3D_CoordinateDouble,
TAG_X3D_Coordinate2D,
TAG_X3D_CoordinateInterpolator,
TAG_X3D_CoordinateInterpolator2D,
TAG_X3D_Cylinder,
TAG_X3D_CylinderSensor,
TAG_X3D_DirectionalLight,
TAG_X3D_Disk2D,
TAG_X3D_ElevationGrid,
TAG_X3D_EspduTransform,
TAG_X3D_Extrusion,
TAG_X3D_FillProperties,
TAG_X3D_Fog,
TAG_X3D_FontStyle,
TAG_X3D_GeoCoordinate,
TAG_X3D_GeoElevationGrid,
TAG_X3D_GeoLocation,
TAG_X3D_GeoLOD,
TAG_X3D_GeoMetadata,
TAG_X3D_GeoOrigin,
TAG_X3D_GeoPositionInterpolator,
TAG_X3D_GeoTouchSensor,
TAG_X3D_GeoViewpoint,
TAG_X3D_Group,
TAG_X3D_HAnimDisplacer,
TAG_X3D_HAnimHumanoid,
TAG_X3D_HAnimJoint,
TAG_X3D_HAnimSegment,
TAG_X3D_HAnimSite,
TAG_X3D_ImageTexture,
TAG_X3D_IndexedFaceSet,
TAG_X3D_IndexedLineSet,
TAG_X3D_IndexedTriangleFanSet,
TAG_X3D_IndexedTriangleSet,
TAG_X3D_IndexedTriangleStripSet,
TAG_X3D_Inline,
TAG_X3D_IntegerSequencer,
TAG_X3D_IntegerTrigger,
TAG_X3D_KeySensor,
TAG_X3D_LineProperties,
TAG_X3D_LineSet,
TAG_X3D_LoadSensor,
TAG_X3D_LOD,
TAG_X3D_Material,
TAG_X3D_MetadataDouble,
TAG_X3D_MetadataFloat,
TAG_X3D_MetadataInteger,
TAG_X3D_MetadataSet,
TAG_X3D_MetadataString,
TAG_X3D_MovieTexture,
TAG_X3D_MultiTexture,
TAG_X3D_MultiTextureCoordinate,
TAG_X3D_MultiTextureTransform,
TAG_X3D_NavigationInfo,
TAG_X3D_Normal,
TAG_X3D_NormalInterpolator,
TAG_X3D_NurbsCurve,
TAG_X3D_NurbsCurve2D,
TAG_X3D_NurbsOrientationInterpolator,
TAG_X3D_NurbsPatchSurface,
TAG_X3D_NurbsPositionInterpolator,
TAG_X3D_NurbsSet,
TAG_X3D_NurbsSurfaceInterpolator,
TAG_X3D_NurbsSweptSurface,
TAG_X3D_NurbsSwungSurface,
TAG_X3D_NurbsTextureCoordinate,
TAG_X3D_NurbsTrimmedSurface,
TAG_X3D_OrientationInterpolator,
TAG_X3D_PixelTexture,
TAG_X3D_PlaneSensor,
TAG_X3D_PointLight,
TAG_X3D_PointSet,
TAG_X3D_Polyline2D,
TAG_X3D_Polypoint2D,
TAG_X3D_PositionInterpolator,
TAG_X3D_PositionInterpolator2D,
TAG_X3D_ProximitySensor,
TAG_X3D_ReceiverPdu,
TAG_X3D_Rectangle2D,
TAG_X3D_ScalarInterpolator,
TAG_X3D_Script,
TAG_X3D_Shape,
TAG_X3D_SignalPdu,
TAG_X3D_Sound,
TAG_X3D_Sphere,
TAG_X3D_SphereSensor,
TAG_X3D_SpotLight,
TAG_X3D_StaticGroup,
TAG_X3D_StringSensor,
TAG_X3D_Switch,
TAG_X3D_Text,
TAG_X3D_TextureBackground,
TAG_X3D_TextureCoordinate,
TAG_X3D_TextureCoordinateGenerator,
TAG_X3D_TextureTransform,
TAG_X3D_TimeSensor,
TAG_X3D_TimeTrigger,
TAG_X3D_TouchSensor,
TAG_X3D_Transform,
TAG_X3D_TransmitterPdu,
TAG_X3D_TriangleFanSet,
TAG_X3D_TriangleSet,
TAG_X3D_TriangleSet2D,
TAG_X3D_TriangleStripSet,
TAG_X3D_Viewpoint,
TAG_X3D_VisibilitySensor,
TAG_X3D_WorldInfo,
TAG_LastImplementedX3D
};
typedef struct _tagX3DAnchor
{
BASE_NODE
VRML_CHILDREN
SFString description;
MFString parameter;
MFURL url;
GF_Node *metadata;
} X_Anchor;
typedef struct _tagX3DAppearance
{
BASE_NODE
GF_Node *material;
GF_Node *texture;
GF_Node *textureTransform;
GF_Node *fillProperties;
GF_Node *lineProperties;
GF_Node *metadata;
} X_Appearance;
typedef struct _tagX3DArc2D
{
BASE_NODE
SFFloat endAngle;
SFFloat radius;
SFFloat startAngle;
GF_Node *metadata;
} X_Arc2D;
typedef struct _tagX3DArcClose2D
{
BASE_NODE
SFString closureType;
SFFloat endAngle;
SFFloat radius;
SFFloat startAngle;
GF_Node *metadata;
} X_ArcClose2D;
typedef struct _tagX3DAudioClip
{
BASE_NODE
SFString description;
SFBool loop;
SFFloat pitch;
SFTime startTime;
SFTime stopTime;
MFURL url;
SFTime duration_changed;
SFBool isActive;
GF_Node *metadata;
SFTime pauseTime;
SFTime resumeTime;
SFTime elapsedTime;
SFBool isPaused;
} X_AudioClip;
typedef struct _tagX3DBackground
{
BASE_NODE
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
MFFloat groundAngle;
MFColor groundColor;
MFURL backUrl;
MFURL bottomUrl;
MFURL frontUrl;
MFURL leftUrl;
MFURL rightUrl;
MFURL topUrl;
MFFloat skyAngle;
MFColor skyColor;
SFBool isBound;
GF_Node *metadata;
SFTime bindTime;
} X_Background;
typedef struct _tagX3DBillboard
{
BASE_NODE
VRML_CHILDREN
SFVec3f axisOfRotation;
GF_Node *metadata;
} X_Billboard;
typedef struct _tagX3DBooleanFilter
{
BASE_NODE
SFBool set_boolean;
void (*on_set_boolean)(GF_Node *pThis, struct _route *route);
SFBool inputFalse;
SFBool inputNegate;
SFBool inputTrue;
GF_Node *metadata;
} X_BooleanFilter;
typedef struct _tagX3DBooleanSequencer
{
BASE_NODE
SFBool next;
void (*on_next)(GF_Node *pThis, struct _route *route);
SFBool previous;
void (*on_previous)(GF_Node *pThis, struct _route *route);
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFBool keyValue;
SFBool value_changed;
GF_Node *metadata;
} X_BooleanSequencer;
typedef struct _tagX3DBooleanToggle
{
BASE_NODE
SFBool set_boolean;
void (*on_set_boolean)(GF_Node *pThis, struct _route *route);
SFBool toggle;
GF_Node *metadata;
} X_BooleanToggle;
typedef struct _tagX3DBooleanTrigger
{
BASE_NODE
SFTime set_triggerTime;
void (*on_set_triggerTime)(GF_Node *pThis, struct _route *route);
SFBool triggerTrue;
GF_Node *metadata;
} X_BooleanTrigger;
typedef struct _tagX3DBox
{
BASE_NODE
SFVec3f size;
GF_Node *metadata;
} X_Box;
typedef struct _tagX3DCircle2D
{
BASE_NODE
SFFloat radius;
GF_Node *metadata;
} X_Circle2D;
typedef struct _tagX3DCollision
{
BASE_NODE
VRML_CHILDREN
SFBool enabled;
GF_Node *proxy;
SFTime collideTime;
SFBool isActive;
GF_Node *metadata;
} X_Collision;
typedef struct _tagX3DColor
{
BASE_NODE
MFColor color;
GF_Node *metadata;
} X_Color;
typedef struct _tagX3DColorInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFColor keyValue;
SFColor value_changed;
GF_Node *metadata;
} X_ColorInterpolator;
typedef struct _tagX3DColorRGBA
{
BASE_NODE
MFColorRGBA color;
GF_Node *metadata;
} X_ColorRGBA;
typedef struct _tagX3DCone
{
BASE_NODE
SFFloat bottomRadius;
SFFloat height;
SFBool side;
SFBool bottom;
GF_Node *metadata;
} X_Cone;
typedef struct _tagX3DContour2D
{
BASE_NODE
VRML_CHILDREN
GF_Node *metadata;
} X_Contour2D;
typedef struct _tagX3DContourPolyline2D
{
BASE_NODE
MFVec2f point;
GF_Node *metadata;
} X_ContourPolyline2D;
typedef struct _tagX3DCoordinate
{
BASE_NODE
MFVec3f point;
GF_Node *metadata;
} X_Coordinate;
typedef struct _tagX3DCoordinateDouble
{
BASE_NODE
MFVec3d point;
GF_Node *metadata;
} X_CoordinateDouble;
typedef struct _tagX3DCoordinate2D
{
BASE_NODE
MFVec2f point;
GF_Node *metadata;
} X_Coordinate2D;
typedef struct _tagX3DCoordinateInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec3f keyValue;
MFVec3f value_changed;
GF_Node *metadata;
} X_CoordinateInterpolator;
typedef struct _tagX3DCoordinateInterpolator2D
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec2f keyValue;
MFVec2f value_changed;
GF_Node *metadata;
} X_CoordinateInterpolator2D;
typedef struct _tagX3DCylinder
{
BASE_NODE
SFBool bottom;
SFFloat height;
SFFloat radius;
SFBool side;
SFBool top;
GF_Node *metadata;
} X_Cylinder;
typedef struct _tagX3DCylinderSensor
{
BASE_NODE
SFBool autoOffset;
SFFloat diskAngle;
SFBool enabled;
SFFloat maxAngle;
SFFloat minAngle;
SFFloat offset;
SFBool isActive;
SFRotation rotation_changed;
SFVec3f trackPoint_changed;
GF_Node *metadata;
SFString description;
SFBool isOver;
} X_CylinderSensor;
typedef struct _tagX3DDirectionalLight
{
BASE_NODE
SFFloat ambientIntensity;
SFColor color;
SFVec3f direction;
SFFloat intensity;
SFBool on;
GF_Node *metadata;
} X_DirectionalLight;
typedef struct _tagX3DDisk2D
{
BASE_NODE
SFFloat innerRadius;
SFFloat outerRadius;
GF_Node *metadata;
} X_Disk2D;
typedef struct _tagX3DElevationGrid
{
BASE_NODE
MFFloat set_height;
void (*on_set_height)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *normal;
GF_Node *texCoord;
MFFloat height;
SFBool ccw;
SFBool colorPerVertex;
SFFloat creaseAngle;
SFBool normalPerVertex;
SFBool solid;
SFInt32 xDimension;
SFFloat xSpacing;
SFInt32 zDimension;
SFFloat zSpacing;
GF_Node *metadata;
} X_ElevationGrid;
typedef struct _tagX3DEspduTransform
{
BASE_NODE
VRML_CHILDREN
SFFloat set_articulationParameterValue0;
void (*on_set_articulationParameterValue0)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue1;
void (*on_set_articulationParameterValue1)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue2;
void (*on_set_articulationParameterValue2)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue3;
void (*on_set_articulationParameterValue3)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue4;
void (*on_set_articulationParameterValue4)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue5;
void (*on_set_articulationParameterValue5)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue6;
void (*on_set_articulationParameterValue6)(GF_Node *pThis, struct _route *route);
SFFloat set_articulationParameterValue7;
void (*on_set_articulationParameterValue7)(GF_Node *pThis, struct _route *route);
SFString address;
SFInt32 applicationID;
SFInt32 articulationParameterCount;
MFInt32 articulationParameterDesignatorArray;
MFInt32 articulationParameterChangeIndicatorArray;
MFInt32 articulationParameterIdPartAttachedToArray;
MFInt32 articulationParameterTypeArray;
MFFloat articulationParameterArray;
SFVec3f center;
SFInt32 collisionType;
SFInt32 deadReckoning;
SFVec3f detonationLocation;
SFVec3f detonationRelativeLocation;
SFInt32 detonationResult;
SFInt32 entityCategory;
SFInt32 entityCountry;
SFInt32 entityDomain;
SFInt32 entityExtra;
SFInt32 entityID;
SFInt32 entityKind;
SFInt32 entitySpecific;
SFInt32 entitySubCategory;
SFInt32 eventApplicationID;
SFInt32 eventEntityID;
SFInt32 eventNumber;
SFInt32 eventSiteID;
SFBool fired1;
SFBool fired2;
SFInt32 fireMissionIndex;
SFFloat firingRange;
SFInt32 firingRate;
SFInt32 forceID;
SFInt32 fuse;
SFVec3f linearVelocity;
SFVec3f linearAcceleration;
SFString marking;
SFString multicastRelayHost;
SFInt32 multicastRelayPort;
SFInt32 munitionApplicationID;
SFVec3f munitionEndPoint;
SFInt32 munitionEntityID;
SFInt32 munitionQuantity;
SFInt32 munitionSiteID;
SFVec3f munitionStartPoint;
SFString networkMode;
SFInt32 port;
SFTime readInterval;
SFRotation rotation;
SFVec3f scale;
SFRotation scaleOrientation;
SFInt32 siteID;
SFVec3f translation;
SFInt32 warhead;
SFTime writeInterval;
SFBool rtpHeaderExpected;
SFFloat articulationParameterValue0_changed;
SFFloat articulationParameterValue1_changed;
SFFloat articulationParameterValue2_changed;
SFFloat articulationParameterValue3_changed;
SFFloat articulationParameterValue4_changed;
SFFloat articulationParameterValue5_changed;
SFFloat articulationParameterValue6_changed;
SFFloat articulationParameterValue7_changed;
SFTime collideTime;
SFTime detonateTime;
SFTime firedTime;
SFBool isActive;
SFBool isCollided;
SFBool isDetonated;
SFBool isNetworkReader;
SFBool isNetworkWriter;
SFBool isRtpHeaderHeard;
SFBool isStandAlone;
SFTime timestamp;
GF_Node *metadata;
} X_EspduTransform;
typedef struct _tagX3DExtrusion
{
BASE_NODE
MFVec2f set_crossSection;
void (*on_set_crossSection)(GF_Node *pThis, struct _route *route);
MFRotation set_orientation;
void (*on_set_orientation)(GF_Node *pThis, struct _route *route);
MFVec2f set_scale;
void (*on_set_scale)(GF_Node *pThis, struct _route *route);
MFVec3f set_spine;
void (*on_set_spine)(GF_Node *pThis, struct _route *route);
SFBool beginCap;
SFBool ccw;
SFBool convex;
SFFloat creaseAngle;
MFVec2f crossSection;
SFBool endCap;
MFRotation orientation;
MFVec2f scale;
SFBool solid;
MFVec3f spine;
GF_Node *metadata;
} X_Extrusion;
typedef struct _tagX3DFillProperties
{
BASE_NODE
SFBool filled;
SFColor hatchColor;
SFBool hatched;
SFInt32 hatchStyle;
} X_FillProperties;
typedef struct _tagX3DFog
{
BASE_NODE
SFColor color;
SFString fogType;
SFFloat visibilityRange;
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
SFBool isBound;
GF_Node *metadata;
SFTime bindTime;
} X_Fog;
typedef struct _tagX3DFontStyle
{
BASE_NODE
MFString family;
SFBool horizontal;
MFString justify;
SFString language;
SFBool leftToRight;
SFFloat size;
SFFloat spacing;
SFString style;
SFBool topToBottom;
GF_Node *metadata;
} X_FontStyle;
typedef struct _tagX3DGeoCoordinate
{
BASE_NODE
MFVec3d point;
GF_Node *geoOrigin;
MFString geoSystem;
GF_Node *metadata;
} X_GeoCoordinate;
typedef struct _tagX3DGeoElevationGrid
{
BASE_NODE
MFDouble set_height;
void (*on_set_height)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *normal;
GF_Node *texCoord;
SFFloat yScale;
SFBool ccw;
SFBool colorPerVertex;
SFFloat creaseAngle;
SFString geoGridOrigin;
GF_Node *geoOrigin;
MFString geoSystem;
MFDouble height;
SFBool normalPerVertex;
SFBool solid;
SFInt32 xDimension;
SFDouble xSpacing;
SFInt32 zDimension;
SFDouble zSpacing;
GF_Node *metadata;
} X_GeoElevationGrid;
typedef struct _tagX3DGeoLocation
{
BASE_NODE
VRML_CHILDREN
SFVec3d geoCoords;
GF_Node *geoOrigin;
MFString geoSystem;
GF_Node *metadata;
} X_GeoLocation;
typedef struct _tagX3DGeoLOD
{
BASE_NODE
SFVec3d center;
MFURL child1Url;
MFURL child2Url;
MFURL child3Url;
MFURL child4Url;
GF_Node *geoOrigin;
MFString geoSystem;
SFFloat range;
MFURL rootUrl;
GF_ChildNodeItem *rootNode;
GF_ChildNodeItem *children;
GF_Node *metadata;
} X_GeoLOD;
typedef struct _tagX3DGeoMetadata
{
BASE_NODE
GF_ChildNodeItem *data;
MFString summary;
MFURL url;
GF_Node *metadata;
} X_GeoMetadata;
typedef struct _tagX3DGeoOrigin
{
BASE_NODE
SFVec3d geoCoords;
MFString geoSystem;
SFBool rotateYUp;
GF_Node *metadata;
} X_GeoOrigin;
typedef struct _tagX3DGeoPositionInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec3d keyValue;
GF_Node *geoOrigin;
MFString geoSystem;
SFVec3d geovalue_changed;
SFVec3f value_changed;
GF_Node *metadata;
} X_GeoPositionInterpolator;
typedef struct _tagX3DGeoTouchSensor
{
BASE_NODE
SFBool enabled;
GF_Node *geoOrigin;
MFString geoSystem;
SFVec3f hitNormal_changed;
SFVec3f hitPoint_changed;
SFVec2f hitTexCoord_changed;
SFVec3d hitGeoCoord_changed;
SFBool isActive;
SFBool isOver;
SFTime touchTime;
GF_Node *metadata;
} X_GeoTouchSensor;
typedef struct _tagX3DGeoViewpoint
{
BASE_NODE
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
SFString set_orientation;
void (*on_set_orientation)(GF_Node *pThis, struct _route *route);
SFString set_position;
void (*on_set_position)(GF_Node *pThis, struct _route *route);
SFString description;
SFFloat fieldOfView;
SFBool headlight;
SFBool jump;
MFString navType;
SFTime bindTime;
SFBool isBound;
GF_Node *geoOrigin;
MFString geoSystem;
SFRotation orientation;
SFVec3d position;
SFFloat speedFactor;
GF_Node *metadata;
} X_GeoViewpoint;
typedef struct _tagX3DGroup
{
BASE_NODE
VRML_CHILDREN
GF_Node *metadata;
} X_Group;
typedef struct _tagX3DHAnimDisplacer
{
BASE_NODE
MFInt32 coordIndex;
MFVec3f displacements;
SFString name;
SFFloat weight;
GF_Node *metadata;
} X_HAnimDisplacer;
typedef struct _tagX3DHAnimHumanoid
{
BASE_NODE
SFVec3f center;
MFString info;
GF_ChildNodeItem *joints;
SFString name;
SFRotation rotation;
SFVec3f scale;
SFRotation scaleOrientation;
GF_ChildNodeItem *segments;
GF_ChildNodeItem *sites;
GF_ChildNodeItem *skeleton;
GF_ChildNodeItem *skin;
GF_Node *skinCoord;
GF_Node *skinNormal;
SFVec3f translation;
SFString version;
GF_ChildNodeItem *viewpoints;
GF_Node *metadata;
} X_HAnimHumanoid;
typedef struct _tagX3DHAnimJoint
{
BASE_NODE
VRML_CHILDREN
SFVec3f center;
GF_ChildNodeItem *displacers;
SFRotation limitOrientation;
MFFloat llimit;
SFString name;
SFRotation rotation;
SFVec3f scale;
SFRotation scaleOrientation;
MFInt32 skinCoordIndex;
MFFloat skinCoordWeight;
MFFloat stiffness;
SFVec3f translation;
MFFloat ulimit;
GF_Node *metadata;
} X_HAnimJoint;
typedef struct _tagX3DHAnimSegment
{
BASE_NODE
VRML_CHILDREN
SFVec3f centerOfMass;
GF_Node *coord;
GF_ChildNodeItem *displacers;
SFFloat mass;
MFFloat momentsOfInertia;
SFString name;
GF_Node *metadata;
} X_HAnimSegment;
typedef struct _tagX3DHAnimSite
{
BASE_NODE
VRML_CHILDREN
SFVec3f center;
SFString name;
SFRotation rotation;
SFVec3f scale;
SFRotation scaleOrientation;
SFVec3f translation;
GF_Node *metadata;
} X_HAnimSite;
typedef struct _tagX3DImageTexture
{
BASE_NODE
MFURL url;
SFBool repeatS;
SFBool repeatT;
GF_Node *metadata;
} X_ImageTexture;
typedef struct _tagX3DIndexedFaceSet
{
BASE_NODE
MFInt32 set_colorIndex;
void (*on_set_colorIndex)(GF_Node *pThis, struct _route *route);
MFInt32 set_coordIndex;
void (*on_set_coordIndex)(GF_Node *pThis, struct _route *route);
MFInt32 set_normalIndex;
void (*on_set_normalIndex)(GF_Node *pThis, struct _route *route);
MFInt32 set_texCoordIndex;
void (*on_set_texCoordIndex)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *coord;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
MFInt32 colorIndex;
SFBool colorPerVertex;
SFBool convex;
MFInt32 coordIndex;
SFFloat creaseAngle;
MFInt32 normalIndex;
SFBool normalPerVertex;
SFBool solid;
MFInt32 texCoordIndex;
GF_Node *metadata;
} X_IndexedFaceSet;
typedef struct _tagX3DIndexedLineSet
{
BASE_NODE
MFInt32 set_colorIndex;
void (*on_set_colorIndex)(GF_Node *pThis, struct _route *route);
MFInt32 set_coordIndex;
void (*on_set_coordIndex)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *coord;
MFInt32 colorIndex;
SFBool colorPerVertex;
MFInt32 coordIndex;
GF_Node *metadata;
} X_IndexedLineSet;
typedef struct _tagX3DIndexedTriangleFanSet
{
BASE_NODE
MFInt32 set_index;
void (*on_set_index)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *coord;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
SFBool colorPerVertex;
SFBool normalPerVertex;
SFBool solid;
MFInt32 index;
GF_Node *metadata;
} X_IndexedTriangleFanSet;
typedef struct _tagX3DIndexedTriangleSet
{
BASE_NODE
MFInt32 set_index;
void (*on_set_index)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *coord;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
SFBool colorPerVertex;
SFBool normalPerVertex;
SFBool solid;
MFInt32 index;
GF_Node *metadata;
} X_IndexedTriangleSet;
typedef struct _tagX3DIndexedTriangleStripSet
{
BASE_NODE
MFInt32 set_index;
void (*on_set_index)(GF_Node *pThis, struct _route *route);
GF_Node *color;
GF_Node *coord;
SFFloat creaseAngle;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
SFBool normalPerVertex;
SFBool solid;
MFInt32 index;
GF_Node *metadata;
} X_IndexedTriangleStripSet;
typedef struct _tagX3DInline
{
BASE_NODE
MFURL url;
GF_Node *metadata;
SFBool load;
} X_Inline;
typedef struct _tagX3DIntegerSequencer
{
BASE_NODE
SFBool next;
void (*on_next)(GF_Node *pThis, struct _route *route);
SFBool previous;
void (*on_previous)(GF_Node *pThis, struct _route *route);
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFInt32 keyValue;
SFInt32 value_changed;
GF_Node *metadata;
} X_IntegerSequencer;
typedef struct _tagX3DIntegerTrigger
{
BASE_NODE
SFBool set_boolean;
void (*on_set_boolean)(GF_Node *pThis, struct _route *route);
SFInt32 integerKey;
SFInt32 triggerValue;
GF_Node *metadata;
} X_IntegerTrigger;
typedef struct _tagX3DKeySensor
{
BASE_NODE
SFBool enabled;
SFInt32 actionKeyPress;
SFInt32 actionKeyRelease;
SFBool altKey;
SFBool controlKey;
SFBool isActive;
SFString keyPress;
SFString keyRelease;
SFBool shiftKey;
GF_Node *metadata;
} X_KeySensor;
typedef struct _tagX3DLineProperties
{
BASE_NODE
SFBool applied;
SFInt32 linetype;
SFFloat linewidthScaleFactor;
GF_Node *metadata;
} X_LineProperties;
typedef struct _tagX3DLineSet
{
BASE_NODE
GF_Node *color;
GF_Node *coord;
MFInt32 vertexCount;
GF_Node *metadata;
} X_LineSet;
typedef struct _tagX3DLoadSensor
{
BASE_NODE
SFBool enabled;
SFTime timeOut;
GF_ChildNodeItem *watchList;
SFBool isActive;
SFBool isLoaded;
SFTime loadTime;
SFFloat progress;
GF_Node *metadata;
} X_LoadSensor;
typedef struct _tagX3DLOD
{
BASE_NODE
VRML_CHILDREN
SFVec3f center;
MFFloat range;
GF_Node *metadata;
} X_LOD;
typedef struct _tagX3DMaterial
{
BASE_NODE
SFFloat ambientIntensity;
SFColor diffuseColor;
SFColor emissiveColor;
SFFloat shininess;
SFColor specularColor;
SFFloat transparency;
GF_Node *metadata;
} X_Material;
typedef struct _tagX3DMetadataDouble
{
BASE_NODE
SFString name;
SFString reference;
MFDouble value;
GF_Node *metadata;
} X_MetadataDouble;
typedef struct _tagX3DMetadataFloat
{
BASE_NODE
SFString name;
SFString reference;
MFFloat value;
GF_Node *metadata;
} X_MetadataFloat;
typedef struct _tagX3DMetadataInteger
{
BASE_NODE
SFString name;
SFString reference;
MFInt32 value;
GF_Node *metadata;
} X_MetadataInteger;
typedef struct _tagX3DMetadataSet
{
BASE_NODE
SFString name;
SFString reference;
GF_ChildNodeItem *value;
GF_Node *metadata;
} X_MetadataSet;
typedef struct _tagX3DMetadataString
{
BASE_NODE
SFString name;
SFString reference;
MFString value;
GF_Node *metadata;
} X_MetadataString;
typedef struct _tagX3DMovieTexture
{
BASE_NODE
SFBool loop;
SFFloat speed;
SFTime startTime;
SFTime stopTime;
MFURL url;
SFBool repeatS;
SFBool repeatT;
SFTime duration_changed;
SFBool isActive;
GF_Node *metadata;
SFTime resumeTime;
SFTime pauseTime;
SFTime elapsedTime;
SFBool isPaused;
} X_MovieTexture;
typedef struct _tagX3DMultiTexture
{
BASE_NODE
SFFloat alpha;
SFColor color;
MFString function;
MFString mode;
MFString source;
GF_ChildNodeItem *texture;
GF_Node *metadata;
} X_MultiTexture;
typedef struct _tagX3DMultiTextureCoordinate
{
BASE_NODE
GF_ChildNodeItem *texCoord;
GF_Node *metadata;
} X_MultiTextureCoordinate;
typedef struct _tagX3DMultiTextureTransform
{
BASE_NODE
GF_ChildNodeItem *textureTransform;
GF_Node *metadata;
} X_MultiTextureTransform;
typedef struct _tagX3DNavigationInfo
{
BASE_NODE
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
MFFloat avatarSize;
SFBool headlight;
SFFloat speed;
MFString type;
SFFloat visibilityLimit;
SFBool isBound;
GF_Node *metadata;
MFString transitionType;
SFTime bindTime;
} X_NavigationInfo;
typedef struct _tagX3DNormal
{
BASE_NODE
MFVec3f vector;
GF_Node *metadata;
} X_Normal;
typedef struct _tagX3DNormalInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec3f keyValue;
MFVec3f value_changed;
GF_Node *metadata;
} X_NormalInterpolator;
typedef struct _tagX3DNurbsCurve
{
BASE_NODE
MFVec3f controlPoint;
SFInt32 tessellation;
MFDouble weight;
SFBool closed;
MFFloat knot;
SFInt32 order;
GF_Node *metadata;
} X_NurbsCurve;
typedef struct _tagX3DNurbsCurve2D
{
BASE_NODE
MFVec2f controlPoint;
SFInt32 tessellation;
MFFloat weight;
MFFloat knot;
SFInt32 order;
SFBool closed;
GF_Node *metadata;
} X_NurbsCurve2D;
typedef struct _tagX3DNurbsOrientationInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
GF_Node *controlPoints;
MFDouble knot;
SFInt32 order;
MFDouble weight;
SFRotation value_changed;
GF_Node *metadata;
} X_NurbsOrientationInterpolator;
typedef struct _tagX3DNurbsPatchSurface
{
BASE_NODE
GF_Node *controlPoint;
GF_Node *texCoord;
SFInt32 uTessellation;
SFInt32 vTessellation;
MFDouble weight;
SFBool solid;
SFBool uClosed;
SFInt32 uDimension;
MFDouble uKnot;
SFInt32 uOrder;
SFBool vClosed;
SFInt32 vDimension;
MFDouble vKnot;
SFInt32 vOrder;
GF_Node *metadata;
} X_NurbsPatchSurface;
typedef struct _tagX3DNurbsPositionInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
GF_Node *controlPoints;
MFDouble knot;
SFInt32 order;
MFDouble weight;
SFVec3f value_changed;
GF_Node *metadata;
} X_NurbsPositionInterpolator;
typedef struct _tagX3DNurbsSet
{
BASE_NODE
GF_ChildNodeItem *addGeometry;
void (*on_addGeometry)(GF_Node *pThis, struct _route *route);
GF_ChildNodeItem *removeGeometry;
void (*on_removeGeometry)(GF_Node *pThis, struct _route *route);
GF_ChildNodeItem *geometry;
SFFloat tessellationScale;
GF_Node *metadata;
} X_NurbsSet;
typedef struct _tagX3DNurbsSurfaceInterpolator
{
BASE_NODE
SFVec2f set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
GF_Node *controlPoints;
MFDouble weight;
SFVec3f position_changed;
SFVec3f normal_changed;
SFInt32 uDimension;
MFDouble uKnot;
SFInt32 uOrder;
SFInt32 vDimension;
MFDouble vKnot;
SFInt32 vOrder;
GF_Node *metadata;
} X_NurbsSurfaceInterpolator;
typedef struct _tagX3DNurbsSweptSurface
{
BASE_NODE
GF_Node *crossSectionCurve;
GF_Node *trajectoryCurve;
SFBool ccw;
SFBool solid;
GF_Node *metadata;
} X_NurbsSweptSurface;
typedef struct _tagX3DNurbsSwungSurface
{
BASE_NODE
GF_Node *profileCurve;
GF_Node *trajectoryCurve;
SFBool ccw;
SFBool solid;
GF_Node *metadata;
} X_NurbsSwungSurface;
typedef struct _tagX3DNurbsTextureCoordinate
{
BASE_NODE
MFVec2f controlPoint;
MFFloat weight;
SFInt32 uDimension;
MFDouble uKnot;
SFInt32 uOrder;
SFInt32 vDimension;
MFDouble vKnot;
SFInt32 vOrder;
GF_Node *metadata;
} X_NurbsTextureCoordinate;
typedef struct _tagX3DNurbsTrimmedSurface
{
BASE_NODE
GF_ChildNodeItem *addTrimmingContour;
void (*on_addTrimmingContour)(GF_Node *pThis, struct _route *route);
GF_ChildNodeItem *removeTrimmingContour;
void (*on_removeTrimmingContour)(GF_Node *pThis, struct _route *route);
GF_ChildNodeItem *trimmingContour;
GF_Node *controlPoint;
GF_Node *texCoord;
SFInt32 uTessellation;
SFInt32 vTessellation;
MFDouble weight;
SFBool solid;
SFBool uClosed;
SFInt32 uDimension;
MFDouble uKnot;
SFInt32 uOrder;
SFBool vClosed;
SFInt32 vDimension;
MFDouble vKnot;
SFInt32 vOrder;
GF_Node *metadata;
} X_NurbsTrimmedSurface;
typedef struct _tagX3DOrientationInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFRotation keyValue;
SFRotation value_changed;
GF_Node *metadata;
} X_OrientationInterpolator;
typedef struct _tagX3DPixelTexture
{
BASE_NODE
SFImage image;
SFBool repeatS;
SFBool repeatT;
GF_Node *metadata;
} X_PixelTexture;
typedef struct _tagX3DPlaneSensor
{
BASE_NODE
SFBool autoOffset;
SFBool enabled;
SFVec2f maxPosition;
SFVec2f minPosition;
SFVec3f offset;
SFBool isActive;
SFVec3f trackPoint_changed;
SFVec3f translation_changed;
GF_Node *metadata;
SFString description;
SFBool isOver;
} X_PlaneSensor;
typedef struct _tagX3DPointLight
{
BASE_NODE
SFFloat ambientIntensity;
SFVec3f attenuation;
SFColor color;
SFFloat intensity;
SFVec3f location;
SFBool on;
SFFloat radius;
GF_Node *metadata;
} X_PointLight;
typedef struct _tagX3DPointSet
{
BASE_NODE
GF_Node *color;
GF_Node *coord;
GF_Node *metadata;
} X_PointSet;
typedef struct _tagX3DPolyline2D
{
BASE_NODE
MFVec2f lineSegments;
GF_Node *metadata;
} X_Polyline2D;
typedef struct _tagX3DPolypoint2D
{
BASE_NODE
MFVec2f point;
GF_Node *metadata;
} X_Polypoint2D;
typedef struct _tagX3DPositionInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec3f keyValue;
SFVec3f value_changed;
GF_Node *metadata;
} X_PositionInterpolator;
typedef struct _tagX3DPositionInterpolator2D
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFVec2f keyValue;
SFVec2f value_changed;
GF_Node *metadata;
} X_PositionInterpolator2D;
typedef struct _tagX3DProximitySensor
{
BASE_NODE
SFVec3f center;
SFVec3f size;
SFBool enabled;
SFBool isActive;
SFVec3f position_changed;
SFRotation orientation_changed;
SFTime enterTime;
SFTime exitTime;
GF_Node *metadata;
SFVec3f centerOfRotation_changed;
} X_ProximitySensor;
typedef struct _tagX3DReceiverPdu
{
BASE_NODE
SFString address;
SFInt32 applicationID;
SFInt32 entityID;
SFString multicastRelayHost;
SFInt32 multicastRelayPort;
SFString networkMode;
SFInt32 port;
SFInt32 radioID;
SFFloat readInterval;
SFFloat receivedPower;
SFInt32 receiverState;
SFBool rtpHeaderExpected;
SFInt32 siteID;
SFInt32 transmitterApplicationID;
SFInt32 transmitterEntityID;
SFInt32 transmitterRadioID;
SFInt32 transmitterSiteID;
SFInt32 whichGeometry;
SFFloat writeInterval;
SFBool isActive;
SFBool isNetworkReader;
SFBool isNetworkWriter;
SFBool isRtpHeaderHeard;
SFBool isStandAlone;
SFTime timestamp;
GF_Node *metadata;
} X_ReceiverPdu;
typedef struct _tagX3DRectangle2D
{
BASE_NODE
SFVec2f size;
GF_Node *metadata;
} X_Rectangle2D;
typedef struct _tagX3DScalarInterpolator
{
BASE_NODE
SFFloat set_fraction;
void (*on_set_fraction)(GF_Node *pThis, struct _route *route);
MFFloat key;
MFFloat keyValue;
SFFloat value_changed;
GF_Node *metadata;
} X_ScalarInterpolator;
typedef struct _tagX3DScript
{
BASE_NODE
MFScript url;
SFBool directOutput;
SFBool mustEvaluate;
GF_Node *metadata;
} X_Script;
typedef struct _tagX3DShape
{
BASE_NODE
GF_Node *appearance;
GF_Node *geometry;
GF_Node *metadata;
} X_Shape;
typedef struct _tagX3DSignalPdu
{
BASE_NODE
SFString address;
SFInt32 applicationID;
MFInt32 data;
SFInt32 dataLength;
SFInt32 encodingScheme;
SFInt32 entityID;
SFString multicastRelayHost;
SFInt32 multicastRelayPort;
SFString networkMode;
SFInt32 port;
SFInt32 radioID;
SFFloat readInterval;
SFBool rtpHeaderExpected;
SFInt32 sampleRate;
SFInt32 samples;
SFInt32 siteID;
SFInt32 tdlType;
SFInt32 whichGeometry;
SFFloat writeInterval;
SFBool isActive;
SFBool isNetworkReader;
SFBool isNetworkWriter;
SFBool isRtpHeaderHeard;
SFBool isStandAlone;
SFTime timestamp;
GF_Node *metadata;
} X_SignalPdu;
typedef struct _tagX3DSound
{
BASE_NODE
SFVec3f direction;
SFFloat intensity;
SFVec3f location;
SFFloat maxBack;
SFFloat maxFront;
SFFloat minBack;
SFFloat minFront;
SFFloat priority;
GF_Node *source;
SFBool spatialize;
GF_Node *metadata;
} X_Sound;
typedef struct _tagX3DSphere
{
BASE_NODE
SFFloat radius;
GF_Node *metadata;
} X_Sphere;
typedef struct _tagX3DSphereSensor
{
BASE_NODE
SFBool autoOffset;
SFBool enabled;
SFRotation offset;
SFBool isActive;
SFRotation rotation_changed;
SFVec3f trackPoint_changed;
GF_Node *metadata;
SFString description;
SFBool isOver;
} X_SphereSensor;
typedef struct _tagX3DSpotLight
{
BASE_NODE
SFFloat ambientIntensity;
SFVec3f attenuation;
SFFloat beamWidth;
SFColor color;
SFFloat cutOffAngle;
SFVec3f direction;
SFFloat intensity;
SFVec3f location;
SFBool on;
SFFloat radius;
GF_Node *metadata;
} X_SpotLight;
typedef struct _tagX3DStaticGroup
{
BASE_NODE
VRML_CHILDREN
GF_Node *metadata;
} X_StaticGroup;
typedef struct _tagX3DStringSensor
{
BASE_NODE
SFBool deletionAllowed;
SFBool enabled;
SFString enteredText;
SFString finalText;
SFBool isActive;
GF_Node *metadata;
} X_StringSensor;
typedef struct _tagX3DSwitch
{
BASE_NODE
VRML_CHILDREN
SFInt32 whichChoice;
GF_Node *metadata;
} X_Switch;
typedef struct _tagX3DText
{
BASE_NODE
MFString string;
MFFloat length;
GF_Node *fontStyle;
SFFloat maxExtent;
GF_Node *metadata;
} X_Text;
typedef struct _tagX3DTextureBackground
{
BASE_NODE
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
MFFloat groundAngle;
MFColor groundColor;
GF_Node *backTexture;
GF_Node *bottomTexture;
GF_Node *frontTexture;
GF_Node *leftTexture;
GF_Node *rightTexture;
GF_Node *topTexture;
MFFloat skyAngle;
MFColor skyColor;
MFFloat transparency;
SFTime bindTime;
SFBool isBound;
GF_Node *metadata;
} X_TextureBackground;
typedef struct _tagX3DTextureCoordinate
{
BASE_NODE
MFVec2f point;
GF_Node *metadata;
} X_TextureCoordinate;
typedef struct _tagX3DTextureCoordinateGenerator
{
BASE_NODE
SFString mode;
MFFloat parameter;
GF_Node *metadata;
} X_TextureCoordinateGenerator;
typedef struct _tagX3DTextureTransform
{
BASE_NODE
SFVec2f center;
SFFloat rotation;
SFVec2f scale;
SFVec2f translation;
GF_Node *metadata;
} X_TextureTransform;
typedef struct _tagX3DTimeSensor
{
BASE_NODE
SFTime cycleInterval;
SFBool enabled;
SFBool loop;
SFTime startTime;
SFTime stopTime;
SFTime cycleTime;
SFFloat fraction_changed;
SFBool isActive;
SFTime time;
GF_Node *metadata;
SFTime pauseTime;
SFTime resumeTime;
SFTime elapsedTime;
SFBool isPaused;
} X_TimeSensor;
typedef struct _tagX3DTimeTrigger
{
BASE_NODE
SFBool set_boolean;
void (*on_set_boolean)(GF_Node *pThis, struct _route *route);
SFTime triggerTime;
GF_Node *metadata;
} X_TimeTrigger;
typedef struct _tagX3DTouchSensor
{
BASE_NODE
SFBool enabled;
SFVec3f hitNormal_changed;
SFVec3f hitPoint_changed;
SFVec2f hitTexCoord_changed;
SFBool isActive;
SFBool isOver;
SFTime touchTime;
GF_Node *metadata;
SFString description;
} X_TouchSensor;
typedef struct _tagX3DTransform
{
BASE_NODE
VRML_CHILDREN
SFVec3f center;
SFRotation rotation;
SFVec3f scale;
SFRotation scaleOrientation;
SFVec3f translation;
GF_Node *metadata;
} X_Transform;
typedef struct _tagX3DTransmitterPdu
{
BASE_NODE
SFString address;
SFVec3f antennaLocation;
SFInt32 antennaPatternLength;
SFInt32 antennaPatternType;
SFInt32 applicationID;
SFInt32 cryptoKeyID;
SFInt32 cryptoSystem;
SFInt32 entityID;
SFInt32 frequency;
SFInt32 inputSource;
SFInt32 lengthOfModulationParameters;
SFInt32 modulationTypeDetail;
SFInt32 modulationTypeMajor;
SFInt32 modulationTypeSpreadSpectrum;
SFInt32 modulationTypeSystem;
SFString multicastRelayHost;
SFInt32 multicastRelayPort;
SFString networkMode;
SFInt32 port;
SFFloat power;
SFInt32 radioEntityTypeCategory;
SFInt32 radioEntityTypeCountry;
SFInt32 radioEntityTypeDomain;
SFInt32 radioEntityTypeKind;
SFInt32 radioEntityTypeNomenclature;
SFInt32 radioEntityTypeNomenclatureVersion;
SFInt32 radioID;
SFFloat readInterval;
SFVec3f relativeAntennaLocation;
SFBool rtpHeaderExpected;
SFInt32 siteID;
SFFloat transmitFrequencyBandwidth;
SFInt32 transmitState;
SFInt32 whichGeometry;
SFFloat writeInterval;
SFBool isActive;
SFBool isNetworkReader;
SFBool isNetworkWriter;
SFBool isRtpHeaderHeard;
SFBool isStandAlone;
SFTime timestamp;
GF_Node *metadata;
} X_TransmitterPdu;
typedef struct _tagX3DTriangleFanSet
{
BASE_NODE
GF_Node *color;
GF_Node *coord;
MFInt32 fanCount;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
SFBool colorPerVertex;
SFBool normalPerVertex;
SFBool solid;
GF_Node *metadata;
} X_TriangleFanSet;
typedef struct _tagX3DTriangleSet
{
BASE_NODE
GF_Node *color;
GF_Node *coord;
GF_Node *normal;
GF_Node *texCoord;
SFBool ccw;
SFBool colorPerVertex;
SFBool normalPerVertex;
SFBool solid;
GF_Node *metadata;
} X_TriangleSet;
typedef struct _tagX3DTriangleSet2D
{
BASE_NODE
MFVec2f vertices;
GF_Node *metadata;
} X_TriangleSet2D;
typedef struct _tagX3DTriangleStripSet
{
BASE_NODE
GF_Node *color;
GF_Node *coord;
GF_Node *normal;
MFInt32 stripCount;
GF_Node *texCoord;
SFBool ccw;
SFBool colorPerVertex;
SFBool normalPerVertex;
SFBool solid;
GF_Node *metadata;
} X_TriangleStripSet;
typedef struct _tagX3DViewpoint
{
BASE_NODE
SFBool set_bind;
void (*on_set_bind)(GF_Node *pThis, struct _route *route);
SFFloat fieldOfView;
SFBool jump;
SFRotation orientation;
SFVec3f position;
SFString description;
SFTime bindTime;
SFBool isBound;
GF_Node *metadata;
SFVec3f centerOfRotation;
} X_Viewpoint;
typedef struct _tagX3DVisibilitySensor
{
BASE_NODE
SFVec3f center;
SFBool enabled;
SFVec3f size;
SFTime enterTime;
SFTime exitTime;
SFBool isActive;
GF_Node *metadata;
} X_VisibilitySensor;
typedef struct _tagX3DWorldInfo
{
BASE_NODE
MFString info;
SFString title;
GF_Node *metadata;
} X_WorldInfo;
#endif
#ifdef __cplusplus
}
#endif
#endif