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 float elements. An MFMatrix3d field specifies zero or more 3×3 double precision matrices. Each SFMatrix3d field is encoded as nine ISO C double-precision floating point values (see ISO/IEC 9899) 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

<field name="corners"
       type="MFMatrix3d"
       value="
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 float values. An MFMatrix3d field specifies zero or more 3×3 single precision matrices. Each SFMatrix3d field is encoded as nine ISO C single precision floating point values (see ISO/IEC 9899) 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

<field name="corners"
       type="MFMatrix3f"
       value="
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 float elements. An MFMatrix3d field specifies zero or more 4×4 double precision matrices. Each SFMatrix3d field is encoded as sixteen ISO C double-precision floating point values (see ISO/IEC 9899) 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

<field name="corners"
       type="MFMatrix4d"
       value="
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 float values. An MFMatrix3d field specifies zero or more 4×4 single precision matrices. Each SFMatrix3d field is encoded as sixteen ISO C single precision floating point values (see ISO/IEC 9899) 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

<field name="corners"
       type="MFMatrix4f"
       value="
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 SFVec4d field specifies a four-dimensional (4D) double precision vector (or a three-dimensional homogeneous vector). An MFVec4d field specifies zero or more 4D double precision vectors. SFVec4d's and MFVec4d's are encoded as four ISO C floating point values (see ISO/IEC 9899) separated by whitespace.

EXAMPLE

<field name="point="
       type="MFVec4d"
       value="1.000000000001 42 666.35357878 0.5748998763, 7 94 0.100000000007 1.11111111111"/>

is an MFVec4d field, point, defining a double precision vector value.

cube 5.22 SFVec4f and MFVec4f

The SFVec4f field specifies a four-dimensional (4D) single precision vector (or a three-dimensional homogeneous vector). An MFVec4f field specifies zero or more 4D single precision vectors. SFVec4f's and MFVec4f's are encoded as four ISO C floating point values (see ISO/IEC 9899) separated by whitespace.

EXAMPLE

<field name="point="
       type="MFVec4f"
       value="1 42 666 13.5, 7 -94.7 0 3.678"/>

is an MFVec4d field, point, defining a single precision vector value.