X3DViewpointNode : X3DBindableNode {
  SFBool     [in]     set_bind
  SFVec3f    [in,out] centerOfRotation  0 0 0     (-Inf,Inf)
  SFString   [in,out] description       ""
  SFBool     [in,out] jump              TRUE
  SFNode     [in,out] metadata          NULL      [X3DMetadataObject]
  SFRotation [in,out] orientation       0 0 1 0   [-1,1],(-Inf,Inf)
  SFVec3f/d  [in,out] position          0 0 10    (-Inf,Inf)
  SFBool     [in,out] retainUserOffsets FALSE
  SFTime     [out]    bindTime
  SFBool     [out]    isBound
}

Billboard : X3DGroupingNode {
  MFNode  [in]     addChildren             [X3DChildNode]
  MFNode  [in]     removeChildren          [X3DChildNode]
  SFVec3f [in,out] axisOfRotation 0 1 0    (-Inf,Inf)
  MFNode  [in,out] children       []       [X3DChildNode]
  SFNode  [in,out] metadata       NULL     [X3DMetadataObject]
  SFVec3f []       bboxCenter     0 0 0    (-Inf,Inf)
  SFVec3f []       bboxSize       -1 -1 -1 [0,Inf) or -1 -1 -1
}

Collision : X3DGroupingNode, X3DSensorNode {
  MFNode  [in]     addChildren             [X3DChildNode]
  MFNode  [in]     removeChildren          [X3DChildNode]
  MFNode  [in,out] children       []       [X3DChildNode]
  SFBool  [in,out] enabled
  SFNode  [in,out] metadata       NULL     [X3DMetadataObject]
  SFTime  [out]    collideTime
  SFBool  [out]    isActive
  SFVec3f []       bboxCenter     0 0 0    (-Inf,Inf)
  SFVec3f []       bboxSize       -1 -1 -1 [0,Inf) or -1 -1 -1
  SFNode  []       proxy          NULL     [X3DChildNode]
}

LOD : X3DGroupingNode {
  MFNode  [in]     addChildren               [X3DChildNode]
  MFNode  [in]     removeChildren            [X3DChildNode]
  MFNode  [in,out] children         []       [X3DChildNode]
  SFNode  [in,out] metadata         NULL     [X3DMetadataObject]
  SFInt32 [out]    level_changed
  SFVec3f []       bboxCenter       0 0 0    (-Inf,Inf)
  SFVec3f []       bboxSize         -1 -1 -1 [0,Inf) or -1 -1 -1
  SFVec3f []       center           0 0 0    (-Inf,Inf)
  SFBool  []       forceTransitions FALSE
  MFFloat []       range            []       [0,Inf) or -1 
}

NavigationInfo : X3DBindableNode {
  SFBool   [in]     set_bind
  MFFloat  [in,out] avatarSize      [0.25 1.6 0.75]   [0,Inf)
  SFBool   [in,out] headlight       TRUE
  SFNode   [in,out] metadata        NULL              [X3DMetadataObject]
  SFFloat  [in,out] speed           1.0               [0,Inf)
  SFTime   [in,out] transitionTime  1.0               [0, Inf)
  MFString [in,out] transitionType  ["LINEAR"]        ["TELEPORT","LINEAR",
                                                       "ANIMATE",...]
  MFString [in,out] type            ["EXAMINE" "ANY"] ["ANY","WALK","EXAMINE",
                                                       "FLY","LOOKAT","NONE",...]
  SFFloat  [in,out] visibilityLimit 0.0               [0,Inf)
  SFTime   [out]    bindTime
  SFBool   [out]    isBound
  SFBool   [out]    transitionComplete
}

OrthoViewpoint : X3DViewpointNode { 
  SFBool     [in]     set_bind
  SFVec3f    [in,out] centerOfRotation  0 0 0         (-Inf,Inf)
  SFString   [in,out] description       ""
  MFFloat    [in,out] fieldOfView       -1, -1, 1, 1  (-Inf,Inf)
  SFBool     [in,out] jump              TRUE
  SFNode     [in,out] metadata          NULL          [X3DMetadataObject]
  SFRotation [in,out] orientation       0 0 1 0       [-1,1],(-Inf,Inf)
  SFVec3f    [in,out] position          0 0 10        (-Inf,Inf)
  SFBool     [in,out] retainUserOffsets FALSE
  SFTime     [out]    bindTime
  SFBool     [out]    isBound
}

Viewpoint : X3DViewpointNode { 
  SFBool     [in]     set_bind
  SFVec3f    [in,out] centerOfRotation  0 0 0   (-Inf,Inf)
  SFString   [in,out] description       ""
  SFFloat    [in,out] fieldOfView       Pi/4     (0,Pi)
  SFBool     [in,out] jump              TRUE
  SFNode     [in,out] metadata          NULL    [X3DMetadataObject]
  SFRotation [in,out] orientation       0 0 1 0 [-1,1],(-Inf,Inf)
  SFVec3f    [in,out] position          0 0 10  (-Inf,Inf)
  SFBool     [in,out] retainUserOffsets FALSE
  SFTime     [out]    bindTime
  SFBool     [out]    isBound
}

ViewpointGroup : X3DChildNode { 
  SFVec3f  [in,out] center            0 0 0 (-Inf,Inf)
  MFNode   [in,out] children          NULL  [X3DViewpointNode | ViewpointGroup]
  SFString [in,out] description       ""
  SFBool   [in,out] displayed         TRUE
  SFNode   [in,out] metadata          NULL  [X3DMetadataObject]
  SFBool   [in,out] retainUserOffsets FALSE
  SFVec3f  [in,out] size              0 0 0 (-Inf,Inf)
}

