5.1, Table 5.1

Replace Table 5.1 with the following:

5.1 Introduction
  5.1.1 Topics
  5.1.2 Description
5.2 SFBool and MFBool
5.3 SFColor and MFColor
5.4 SFColorRGBA and MFColorRGBA
5.5 SFDouble and MFDouble
5.6 SFFloat and MFFloat
5.7 SFImage and MFImage
5.8 SFInt32 and MFInt32
5.9 SFMatrix3d and MFMatrix3d
5.10 SFMatrix3f and MFMatrix3f
5.11 SFMatrix4d and MFMatrix4d
5.12 SFMatrix4f and MFMatrix4f
5.13 SFNode and MFNode
5.14 SFRotation and MFRotation
5.15 SFString and MFString
5.16 SFTime and MFTime
5.17 SFVec2d and MFVec2d
5.18 SFVec2f and MFVec2f
5.19 SFVec3d and MFVec3d
5.20 SFVec3f and MFVec3f
5.21 SFVec4d and MFVec4d
5.22 SFVec4f and MFVec4f

5.8

Insert the following new field types after 5.8 and renumber the remaining subclauses:

cube5.9 SFMatrix3d and MFMatrix3d

The SFMatrix3d field specifies a 3×3 matrix of double-precision floating point numbers. MFMatrix3d specifies zero or more 3×3 matrices of double-precision floating point numbers. Each SFMatrix3d is encoded as nine ISO C double-precision floating point values (see 2.[I9899]) separated by whitespace. The first three double-precision floating point numbers represent the top row of the matrix. The second three double-precision floating point numbers represent second row of the matrix. The last three double-precision floating point numbers represent the bottom row of the matrix.

EXAMPLE

fooMatrix3d [ 1.5968734 0.7658987778666 0 0.4387899877 1 0 0 0 1,
              2.7338246644 0.5 0 4.389222333 2.5 0 0 0 1 ]

cube5.10 SFMatrix3f and MFMatrix3f

The SFMatrix3d field specifies a 3×3 matrix of single-precision floating point numbers. MFMatrix3d specifies zero or more 3×3 matrices of single-precision floating point numbers. Each SFMatrix3d is encoded as nine ISO C single-precision floating point values (see 2.[I9899]) separated by whitespace. The first three single-precision floating point numbers represent the top row of the matrix. The second three single-precision floating point numbers represent second row of the matrix. The last three single-precision floating point numbers represent the bottom row of the matrix.

EXAMPLE

fooMatrix3f [ 3.05 43.89 0 77.89 54.32 0 -3.5 2.78 1,
              89.777 33.486 0 3222.2 1 17.0 4.0 -3.9 0.5 ]

cube5.11 SFMatrix4d and MFMatrix4d

The SFMatrix3d field specifies a 4×4 matrix of double-precision floating point numbers. MFMatrix3d specifies zero or more 4×4 matrices of double-precision floating point numbers. Each SFMatrix3d is encoded as sixteen ISO C double-precision floating point values (see 2.[I9899]) separated by whitespace. The first four double-precision floating point numbers represent the top row of the matrix. The second four double-precision floating point numbers represent second row of the matrix. The third four double-precision floating point numbers represent the third row of the matrix. The last four double-precision floating point numbers represent the bottom row of the matrix.

EXAMPLE

fooMatrix3d [ 1.5968734 0.7658987778666 0 0.4387899877
              1 0 0 0
              36.31896667 0.5 -13.4879906634 0
              0 0 0 1,

              2.7338246644 0.5 0 4.389222333
              2.5 0 0 0
              987.883 -0.5432 3289.77 1
              -43.5 43.5 -10 1]

cube5.12 SFMatrix4f and MFMatrix4f

The SFMatrix3d field specifies a 4×4 matrix of single-precision floating point numbers. MFMatrix3d specifies zero or more 4×4 matrices of single-precision floating point numbers. Each SFMatrix3d is encoded as sixteen ISO C single-precision floating point values (see 2.[I9899]) separated by whitespace. The first four single-precision floating point numbers represent the top row of the matrix. The second four single-precision floating point numbers represent second row of the matrix. The third four single-precision floating point numbers represent the third row of the matrix.  The last four single-precision floating point numbers represent the bottom row of the matrix.

EXAMPLE

fooMatrix3f [ 3.05 43.89 0 77.89
              54.32 0 -3.5 2.78
              14.322210443 -0.00007788666 2.1 1
              -0.5 0.5 2.9987799 13.34,

              89.777 33.486 0 3222.2
              1 17.0 4.0 -3.9
              -33.3333 17.6689 0.5 1
              1 1 -3 1.115 ]

5.16

Append the following new field types as the last two field types:

cube 5.21 SFVec4d and MFVec4d

The SFVec3d field specifies a three-dimensional (3D) high-precision vector. An MFVec3d field specifies zero or more 3D high-precision vectors. SFVec3d's and MFVec3d's are encoded as four ISO C floating point values (see 2.[I9899]) separated by whitespace.

EXAMPLE

fooVec3d [ 1.000000000001 42 666.35357878, 7 94 0.100000000007 ]

cube 5.22 SFVec4f and MFVec4f

The SFVec3f field specifies a three-dimensional (3D) vector. An MFVec3f field specifies zero or more 3D vectors. SFVec3f's and MFVec3f's are encoded as four ISO C floating point values (see 2.[I9899]) separated by whitespace.

EXAMPLE

fooVec3f [ 1 42 666, 7 94 0 ]