X3DTextureCoordinateNode : X3DGeometricPropertyNode { 
  SFNode [in,out] metadata NULL [X3DMetadataObject]
}

X3DTextureNode : X3DAppearanceChildNode { 
  SFNode [in,out] metadata NULL [X3DMetadataObject]
}

X3DTexture2DNode : X3DTextureNode {
  SFNode [in,out] metadata          NULL [X3DMetadataObject]
  SFBool []       repeatS           TRUE
  SFBool []       repeatT           TRUE
  SFNode []       textureProperties NULL [TextureProperties]
}

X3DTextureTransformNode : X3DAppearanceChildNode { 
  SFNode [in,out] metadata NULL [X3DMetadataObject]
}

ImageTexture : X3DTexture2DNode, X3DUrlObject { 
  SFNode   [in,out] metadata          NULL [X3DMetadataObject]
  MFString [in,out] url               []   [URI]
  SFBool   []       repeatS           TRUE 
  SFBool   []       repeatT           TRUE
  SFNode   []       textureProperties NULL [TextureProperties]
}

MovieTexture : X3DTexture2DNode, X3DSoundSourceNode, X3DUrlObject { 
  SFString [in,out] description       ""
  SFBool   [in,out] loop              FALSE
  SFNode   [in,out] metadata          NULL  [X3DMetadataObject]
  SFTime   [in,out] pauseTime         0     (-Inf,Inf)
  SFTime   [in,out] resumeTime        0     (-Inf,Inf)
  SFFloat  [in,out] speed             1.0   (-Inf,Inf)
  SFTime   [in,out] startTime         0     (-Inf,Inf)
  SFTime   [in,out] stopTime          0     (-Inf,Inf)
  MFString [in,out] url               []    [URI]
  SFTime   [out]    duration_changed
  SFTime   [out]    elapsedTime
  SFBool   [out]    isActive
  SFBool   [out]    isPaused
  SFBool   []       repeatS           TRUE
  SFBool   []       repeatT           TRUE
  SFNode   []       textureProperties NULL [TextureProperties]
}

MultiTexture : X3DTextureNode {
  SFFloat  [in,out] alpha    1     [0,1]
  SFColor  [in,out] color    1 1 1 [0,1] 
  MFString [in,out] function []
  SFNode   [in,out] metadata NULL  [X3DMetadataObject]
  MFString [in,out] mode     []
  MFString [in,out] source   []
  MFNode   [in,out] texture  []    [X3DTextureNode]
}

MultiTextureCoordinate : X3DTextureCoordinateNode {
  SFNode [in,out] metadata NULL [X3DMetadataObject]
  MFNode [in,out] texCoord NULL [X3DTextureCoordinateNode]
}

MultiTextureTransform : X3DTextureTransformNode { 
  SFNode [in,out] metadata         NULL [X3DMetadataObject]
  MFNode [in,out] textureTransform NULL [X3DTextureTransformNode]
}

PixelTexture : X3DTexture2DNode { 
  SFImage [in,out] image             0 0 0
  SFNode  [in,out] metadata          NULL  [X3DMetadataObject]
  SFBool  []       repeatS           TRUE
  SFBool  []       repeatT           TRUE
  SFNode  []       textureProperties NULL  [TextureProperties]
}

TextureCoordinate : X3DTextureCoordinateNode { 
  SFNode  [in,out] metadata NULL [X3DMetadataObject]
  MFVec2f [in,out] point    []   (-Inf,Inf)
}

TextureCoordinateGenerator : X3DTextureCoordinateNode {
  SFNode   [in,out] metadata  NULL     [X3DMetadataObject]
  SFString [in,out] mode      "SPHERE" [see Table 18.6]
  MFFloat  [in,out] parameter []       [see Table 18.6]
}

TextureProperties : X3DNode
  SFFloat     [in,out] anisotropicDegree   1.0       [1,Inf)
  SFColorRGBA [in,out] borderColor         0 0 0 0   [0,1]
  SFInt32     [in,out] borderWidth         0         [0,1]
  SFString    [in,out] boundaryModeS       "REPEAT"  [see Table 18.7]
  SFString    [in,out] boundaryModeT       "REPEAT"  [see Table 18.7]
  SFString    [in,out] boundaryModeR       "REPEAT"  [see Table 18.7]
  SFString    [in,out] magnificationFilter "FASTEST" [see Table 18.8]
  SFNode      [in,out] metadata            NULL      [X3DMetadataObject]
  SFString    [in,out] minificationFilter  "FASTEST" [see Table 18.9]
  SFString    [in,out] textureCompression  "FASTEST" [see Table 18.10]
  SFFloat     [in,out] texturePriority     0         [0,1]
  SFBool      []       generateMipMaps     FALSE
}

TextureTransform : X3DTextureTransformNode { 
  SFVec2f [in,out] center      0 0  (-Inf,Inf)
  SFNode  [in,out] metadata    NULL [X3DMetadataObject]
  SFFloat [in,out] rotation    0    (-Inf,Inf)
  SFVec2f [in,out] scale       1 1  (-Inf,Inf)
  SFVec2f [in,out] translation 0 0  (-Inf,Inf)
}

