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

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

GeoLocation : X3DGroupingNode {
  SFVec3d  [in,out] geoCoords      0 0 0
    range: (-Inf,Inf)
  SFNode   []       geoOrigin      NULL
    range: GeoOrigin
  MFString []       geoSystem      ["GD","WE"]
    range: see 25.2.3
}

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

GeoMetadata : X3DInfoNode, X3DUrlObject {
  MFNode   [in,out] data     []
    range: X3DNode
    change: chNone
  MFString [in,out] summary  []
    change: chNone
  MFString [in,out] url      []
    range: [URI]
    change: chNone
}

GeoOrigin : X3DNode {
  default-container-field: geoOrigin
  SFVec3d  [in,out] geoCoords 0 0 0
    range: (-Inf,Inf)
  MFString []       geoSystem ["GD","WE"]
    range: see 25.2.3
  SFBool   []       rotateYUp FALSE
}

GeoPositionInterpolator : X3DInterpolatorNode {
  MFVec3d  [in,out] keyValue         []
  SFVec3d  [out]    geovalue_changed
  SFVec3f  [out]    value_changed
  SFNode   []       geoOrigin        NULL
    range: GeoOrigin
  MFString []       geoSystem        ["GD","WE"]
    range: see 25.2.3
}

GeoProximitySensor : X3DEnvironmentalSensorNode {
  SFVec3d    [in,out] geoCenter                0 0 0
    range: (-Inf,Inf)
  SFVec3f    [out]    centerOfRotation_changed
  SFVec3d    [out]    geoCoord_changed
  SFRotation [out]    orientation_changed
  SFVec3f    [out]    position_changed
  SFNode     []       geoOrigin                NULL
    range: GeoOrigin
  MFString   []       geoSystem                ["GD","WE"]
    range: see 25.2.3
}

GeoTouchSensor : X3DTouchSensorNode {
  SFVec3f  [out]    hitNormal_changed
  SFVec3f  [out]    hitPoint_changed
  SFVec2f  [out]    hitTexCoord_changed
  SFVec3d  [out]    hitGeoCoord_changed
  SFNode   []       geoOrigin           NULL
    range: GeoOrigin
  MFString []       geoSystem           ["GD","WE"]
    range: see 25.2.3
}

GeoTransform : X3DGroupingNode {
  SFVec3d    [in,out] geoCenter        0 0 0
    range: (-Inf,Inf)
  SFRotation [in,out] rotation         0 0 1 0
    range: [-1,1] or (-Inf,Inf)
  SFVec3f    [in,out] scale            1 1 1
    range: (0,Inf)
  SFRotation [in,out] scaleOrientation 0 0 1 0
    range: [-1,1] or (-Inf,Inf)
  SFVec3f    [in,out] translation      0 0 0
    range: (-Inf,Inf)
  SFNode     []       geoOrigin                 NULL
    range: GeoOrigin
  MFString   []       geoSystem                 ["GD","WE"]
    range: see 25.2.3
}

GeoViewpoint : X3DViewpointNode {
  SFRotation [in]     set_orientation
  SFVec3d    [in]     set_position
  SFFloat    [in,out] fieldOfView     Pi/4
    range: (0,Pi)
  SFBool     [in,out] headlight       TRUE
  MFString   [in,out] navType         ["EXAMINE","ANY"]
  SFNode     []       geoOrigin       NULL
    range: GeoOrigin
  MFString   []       geoSystem       ["GD","WE"]
    range: see 25.2.3
  SFVec3d    []       position        0 0 100000
    range: (-Inf,Inf)
  SFFloat    []       speedFactor     1.0
    range: [0,Inf)
}
