X3DBackgroundNode : X3DBindableNode { 
  SFBool  [in]     set_bind
  MFFloat [in,out] groundAngle   []      [0,Pi/2]
  MFColor [in,out] groundColor   []      [0,1]
  SFNode  [in,out] metadata      NULL    [X3DMetadataObject]
  MFFloat [in,out] skyAngle      []      [0,Pi]
  MFColor [in,out] skyColor      0 0 0   [0,1]
  SFFloat [in,out] transparency  0       [0,1]
  SFTime  [out]    bindTime
  SFBool  [out]    isBound
}

X3DFogObject {
  SFColor  [in,out] color           1 1 1    [0,1]
  SFString [in,out] fogType         "LINEAR" ["LINEAR"|"EXPONENTIAL"]
  SFFloat  [in,out] visibilityRange 0        [0,-Inf)
}

Background : X3DBackgroundNode {
  SFBool   [in]     set_bind
  MFFloat  [in,out] groundAngle  []    [0,Pi/2]
  MFColor  [in,out] groundColor  []    [0,1]
  MFString [in,out] backUrl      []    [URI]
  MFString [in,out] bottomUrl    []    [URI]
  MFString [in,out] frontUrl     []    [URI]
  MFString [in,out] leftUrl      []    [URI]
  SFNode   [in,out] metadata     NULL  [X3DMetadataObject]
  MFString [in,out] rightUrl     []    [URI]
  MFString [in,out] topUrl       []    [URI]
  MFFloat  [in,out] skyAngle     []    [0,Pi]
  MFColor  [in,out] skyColor     0 0 0 [0,1]
  SFFloat  [in,out] transparency 0     [0,1]
  SFTime   [out]    bindTime
  SFBool   [out]    isBound
}

Fog : X3DBindableNode, X3DFogObject {
  SFBool   [in]     set_bind
  SFColor  [in,out] color           1 1 1    [0,1]
  SFString [in,out] fogType         "LINEAR" ["LINEAR"|"EXPONENTIAL"]
  SFNode   [in,out] metadata        NULL     [X3DMetadataObject]
  SFFloat  [in,out] visibilityRange 0        [0,Inf)
  SFTime   [out]    bindTime
  SFBool   [out]    isBound
}

FogCoordinate : X3DGeometricPropertyNode {
  MFFloat [in,out] depth    []   [0,1]
  SFNode  [in,out] metadata NULL [X3DMetadataObject]
}

LocalFog : X3DChildNode, X3DFogObject {
  SFColor  [in,out] color           1 1 1    [0,1]
  SFBool   [in,out] enabled         TRUE
  SFString [in,out] fogType         "LINEAR" ["LINEAR"|"EXPONENTIAL"]
  SFNode   [in,out] metadata        NULL     [X3DMetadataObject]
  SFFloat  [in,out] visibilityRange 0        [0,-Inf)
}

TextureBackground : X3DBackgroundNode {
  SFBool  [in]     set_bind
  MFFloat [in,out] groundAngle   []    [0,Pi/2]
  MFColor [in,out] groundColor   []    [0,1]
  SFNode  [in,out] backTexture   NULL  [X3DTextureNode]
  SFNode  [in,out] bottomTexture NULL  [X3DTextureNode]
  SFNode  [in,out] frontTexture  NULL  [X3DTextureNode]
  SFNode  [in,out] leftTexture   NULL  [X3DTextureNode]
  SFNode  [in,out] metadata      NULL  [X3DMetadataObject]
  SFNode  [in,out] rightTexture  NULL  [X3DTextureNode]
  SFNode  [in,out] topTexture    NULL  [X3DTextureNode]
  MFFloat [in,out] skyAngle      []    [0,Pi]
  MFColor [in,out] skyColor      0 0 0 [0,1]
  SFFloat [in,out] transparency  0     [0,1]
  SFTime  [out]    bindTime
  SFBool  [out]    isBound
}
