GeoCoordinate : X3DCoordinateNode {
  SFNode   [in,out] metadata  NULL        [X3DMetadataObject]
  MFVec3d  [in,out] point     []          (-Inf,Inf)
  SFNode   []       geoOrigin NULL        [GeoOrigin]
  MFString []       geoSystem ["GD","WE"] [see 25.2.3]  
}

GeoElevationGrid : X3DGeometryNode {
  MFDouble [in]     set_height
  SFNode   [in,out] color           NULL        [X3DColorNode]
  SFNode   [in,out] metadata        NULL        [X3DMetadataObject]
  SFNode   [in,out] normal          NULL        [X3DNormalNode]
  SFNode   [in,out] texCoord        NULL        [X3DTextureCoordinateNode]
  SFFloat  [in,out] yScale          1.0         [0,Inf)
  SFBool   []       ccw             TRUE
  SFBool   []       colorPerVertex  TRUE
  SFDouble []       creaseAngle     0           [0,Inf)
  SFVec3d  []       geoGridOrigin   0 0 0       (-Inf,Inf)
  SFNode   []       geoOrigin       NULL        [GeoOrigin]
  MFString []       geoSystem       ["GD","WE"] [see 25.2.3]
  MFDouble []       height          [0 0]       (-Inf,Inf)
  SFBool   []       normalPerVertex TRUE
  SFBool   []       solid           TRUE
  SFInt32  []       xDimension      0           (0,Inf)
  SFDouble []       xSpacing        1.0         [0,Inf)
  SFInt32  []       zDimension      0           (0,Inf)
  SFDouble []       zSpacing        1.0         [0,Inf)
}

GeoLocation : X3DGroupingNode {
  MFNode   [in]     addChildren                [X3DChildNode]
  MFNode   [in]     removeChildren             [X3DChildNode]
  MFNode   [in,out] children       []          [X3DChildNode]
  SFVec3d  [in,out] geoCoords      0 0 0       (-Inf,Inf)
  SFNode   [in,out] metadata       NULL        [X3DMetadataObject]
  SFNode   []       geoOrigin      NULL        [GeoOrigin]
  MFString []       geoSystem      ["GD","WE"] [see 25.2.3]
  SFVec3f  []       bboxCenter     0 0 0       (-Inf,Inf)
  SFVec3f  []       bboxSize       -1 -1 -1    [0,Inf) or -1 -1 -1
}

GeoLOD : X3DChildNode, X3DBoundedObject {
  SFNode   [in,out] metadata       NULL        [X3DMetadataObject]
  MFNode   [out]    children       []          [X3DChildNode]
  SFInt32  [out]    level_changed
  SFVec3d  []       center         0 0 0       (-Inf,Inf)
  MFString []       child1Url      []          [URI]
  MFString []       child2Url      []          [URI]
  MFString []       child3Url      []          [URI]
  MFString []       child4Url      []          [URI]
  SFNode   []       geoOrigin      NULL        [GeoOrigin]
  MFString []       geoSystem      ["GD","WE"] [see 25.2.3]
  SFFloat  []       range          10          [0,Inf)
  MFString []       rootUrl        []          [URI]
  MFNode   []       rootNode       []          [X3DChildNode]
  SFVec3f  []       bboxCenter     0 0 0       (-Inf,Inf)
  SFVec3f  []       bboxSize       -1 -1 -1    [0,Inf) or -1 -1 -1
}

GeoMetadata : X3DInfoNode {
  MFNode   [in,out] data     []   [urn]
  SFNode   [in,out] metadata NULL [X3DMetadataObject]
  MFString [in,out] summary  []
  MFString [in,out] url      []   [URI]
}

GeoOrigin : X3DNode {
  SFVec3d  [in,out] geoCoords 0 0 0       (-Inf,Inf)
  SFNode   [in,out] metadata  NULL        [X3DMetadataObject]
  MFString []       geoSystem ["GD","WE"] [see 25.2.3]
  SFBool   []       rotateYUp FALSE
}

GeoPositionInterpolator : X3DInterpolatorNode {
  SFFloat  [in]     set_fraction                 (-Inf,Inf)
  MFFloat  [in,out] key              []          (-Inf,Inf)
  MFVec3d  [in,out] keyValue         []
  SFNode   [in,out] metadata         NULL        [X3DMetadataObject]
  SFVec3d  [out]    geovalue_changed
  SFVec3f  [out]    value_changed
  SFNode   []       geoOrigin        NULL        [GeoOrigin]
  MFString []       geoSystem        ["GD","WE"] [see 25.2.3]
}

GeoProximitySensor : X3DEnvironmentalSensorNode {
  SFBool     [in,out] enabled                  TRUE
  SFVec3d    [in,out] geoCenter                0 0 0       (-Inf,Inf)
  SFNode     [in,out] metadata                 NULL        [X3DMetadataObject]
  SFVec3f    [in,out] size                     0 0 0       [0,Inf)
  SFVec3f    [out]    centerOfRotation_changed
  SFTime     [out]    enterTime
  SFTime     [out]    exitTime
  SFVec3d    [out]    geoCoord_changed
  SFBool     [out]    isActive
  SFRotation [out]    orientation_changed
  SFVec3f    [out]    position_changed
  SFNode     []       geoOrigin                NULL        [GeoOrigin]
  MFString   []       geoSystem                ["GD","WE"] [see 25.2.3]
}

GeoTouchSensor : X3DTouchSensorNode {
  SFString [in,out] description         ""
  SFBool   [in,out] enabled             TRUE
  SFNode   [in,out] metadata            NULL        [X3DMetadataObject]
  SFVec3f  [out]    hitNormal_changed
  SFVec3f  [out]    hitPoint_changed
  SFVec2f  [out]    hitTexCoord_changed
  SFVec3d  [out]    hitGeoCoord_changed
  SFBool   [out]    isActive
  SFBool   [out]    isOver
  SFTime   [out]    touchTime
  SFNode   []       geoOrigin           NULL        [GeoOrigin]
  MFString []       geoSystem           ["GD","WE"] [see 25.2.3]
}

GeoTransform : X3DGroupingNode {
  MFNode     [in]     addChildren               [X3DChildNode]
  MFNode     [in]     removeChildren            [X3DChildNode]
  MFNode     [in,out] children         []       [X3DChildNode]
  SFVec3d    [in,out] geoCenter        0 0 0    (-Inf,Inf)
  SFNode     [in,out] metadata         NULL     [X3DMetadataObject]
  SFRotation [in,out] rotation         0 0 1 0  [-1,1] or (-Inf,Inf)
  SFVec3f    [in,out] scale            1 1 1    (0,Inf)
  SFRotation [in,out] scaleOrientation 0 0 1 0  [-1,1] or (-Inf,Inf)
  SFVec3f    [in,out] translation      0 0 0    (-Inf,Inf)
  SFVec3f    []       bboxCenter       0 0 0    (-Inf,Inf)
  SFVec3f    []       bboxSize         -1 -1 -1 [0,Inf) or -1 -1 -1
  SFNode     []       geoOrigin                 NULL        [GeoOrigin]
  MFString   []       geoSystem                 ["GD","WE"] [see 25.2.3]
}

GeoViewpoint : X3DViewpointNode {
  SFBool     [in]     set_bind
  SFRotation [in]     set_orientation
  SFVec3d    [in]     set_position
  SFString   [in,out] description     ""
  SFFloat    [in,out] fieldOfView     Pi/4               (0,Pi)
  SFBool     [in,out] headlight       TRUE
  SFBool     [in,out] jump            TRUE
  SFNode     [in,out] metadata        NULL              [X3DMetadataObject]
  MFString   [in,out] navType         ["EXAMINE","ANY"]
  SFTime     [out]    bindTime
  SFBool     [out]    isBound
  SFNode     []       geoOrigin       NULL              [GeoOrigin]
  MFString   []       geoSystem       ["GD","WE"]       [see 25.2.3]
  SFRotation []       orientation     0 0 1 0           (-Inf,Inf) or -1 1
  SFVec3d    []       position        0 0 100000        (-Inf,Inf)
  SFFloat    []       speedFactor     1.0               [0,Inf)
}

