SF:поля,
которые содержат единственное
значение
MF:поля,
которые содержат множество
значений
VRML
имеет два общих класса полей: поля, которые содержат единственное значение,
в качестве которого может выступать число, вектор иди даже образ, и поля,
которые содержат множество значений.
Поля VRML обеспечивают возможность использования документами
чисел, как целых, так и с плавающей точкой, булевых значений, векторов,
строк и т.д. Поля VRML используются для описания в математических терминах
того, как броузер должен выполнять рендеринг трехмерных объектов. Как можно
вспомнить, по соглашению о наименовании имена однозначных полей имеют префиксом
две буквы SF, а имена многозначных полей начинаются с букв MF. Спецификация
VRML 2.0 также добавляет поля, которые поддерживают узлы: это поля для
задания времени, что необходимо для анимации, и т.д. Подробности относительно
типов полей VRML 2.0 вы сможете найти в соответствующей спецификации VRML
2.0.
VRML поддерживает многозначные поля, которые определяют
процесс рендеринга трехмерных объектов. Различия между однозначными и многозначными
полями заключаются в том факте, что многозначные поля могут воздействовать
более чем на один узел, тогда как однозначные поля воздействуют только
на один узел.
ПОЛЕ SFBITMASK |
Поле SFBitMask является однозначным и содержит битовую
маску флагов, которую документы VRML применяют с целью позволить броузеру
пробегать через различные состояния графа сцены, используя занумерованные
имена. Документы VRML применяют этот класс полей для узлов, использующих
мнемонические имена в качестве битовых флагов. |
ПОЛЕ SFBOOL |
Поле SFBool является однозначным. Документы VRML используют
его для записи булевых величин. Численное значение 0 по определению равно
строке "FALSE". Аналогично численное значение 1 равно строке "TRUE". |
ПОЛЕ SFCOLOR |
Поле SFColor является однозначным полем, которое содержит
определение цвета. Документы VRML определяют значение SFColor, используя
стандартное определение цветов RGB (red, green и blue). Например, тройка
(1, 0, 0) представляет собой 100% красного цвета, 0% зеленого и 0% голубого
соответственно. |
ПОЛЕ SFENUM |
Поле SFEnum является однозначным полем, которое содержит
перечисляемый тип, обычно использующийся для определения мнемонического
имени для численного значения. |
ПОЛЕ SFFLOAT |
Поле SFFloat является однозначным и определяет числа
с плавающей точкой единичной точности. Документы VRML присваивают значение
SFFloat, используя научную нотацию, например 0.125. |
ПОЛЕ SFIMAGE |
Поле SFImage является однозначным полем, служащим
для хранения растровых, т.е. битовых образов. Поле SFImage может содержать
несжатый черно-белый или цветной образ. Документы VRML определяют поле
SFImage^ используя три целых числа, которые представляют высоту, ширину
и число компонентов образа;а ними следует число пикселов в рисунке.
Однокомпонентный образ характеризуется также однобайтным
числом в шестнадцатиричной системе, которое представляет собой интенсивность
образа (OxFF соответствует наибольшей интенсивности, а 0х00 - отсутствию
интенсивности). В двухкомпонентном рисунке интенсивность записывается в
первый (верхний) байт, а прозрачность - во второй (нижний) байт. В четырехкомпонентном
рисунке байт прозрачности помещается после значений красного, зеленого
и голубого. |
ПОЛЕ SFLONG |
Поле SFLong является однозначным полем, которое определяет
длинное целое (32 бита). Документы VRML могут присваивать значения полю
SFLong , используя десятичную, шестнадцатиричную или восьмеричную запись
значений. |
ПОЛЕ SFMATRIX |
Поле SFMatrix является однозначным полем, которое
содержит матрицу преобразований. Документы VRML задают матрицу преобразования
в виде шестнадцати чисел с плавающей точкой, записывая их одно за другим
и разделяя пробелами. |
ПОЛЕ SFROTATION |
Поле SFRotation является однозначным полем, которое
определяет вращение. Поле SFRotation задается четырьмя числами с плавающей
точкой, разделенными пробелами. Эти четыре значения задают ось вращения,
а также угол поворота вокруг нее в радианах. |
ПОЛЕ SFSTRING |
Поле SFString является однозначным полем, которое
определяет строку символов ASCII. Документы VRML присваивают значение полю
SFString^ используя последовательность символов ASCII, заключенную в двойные
кавычки. Если строка не содержат пробелов, то кавычки можно опустить. В
кавычках могут быть записаны любые символы, включая знак новой строки.
Для того чтобы включить саму двойную кавычку в качестве символа строки,
перед ней надо написать обратный слэш. |
ПОЛЕ SFVEC2F |
Поле SFVec2f является однозначным и содержит двумерные
вектора. Документы VRML присваивают значения полю SFVec2f используя пару
чисел с плавающей точкой, разделенных пробелом. |
ПОЛЕ SFVEC3F |
Поле SFVec3f является однозначным и содержит трехмерные
вектора. Документы VRML присваивают значения полю SFVec3f , используя три
числа с плавающей точкой, разделенных пробелом. |
ПОЛЕ MFCOLOR |
Поле MFColor является многозначным и содержит произвольное
число цветов, заданных в формате RGB. Документы VRML присваивают полю MFColor
значение, используя одну или больше троек чисел в формате RGB. Для того,
чтобы задать больше одного значения, документ должен заключать эти значения
в квадратные скобки, а сами значения разделяют запятыми. |
ПОЛЕ MFLONG |
Поле MFLong является многозначньш полем, которое содержит
произвольное число длинных целых (32-битных) чисел. Документы VRML присваивают
полю MFLong значение, используя одно или больше число целых значений в
десятичной, шестнадцатиричной или восьмеричной форме. Для того чтобы задать
более одного значения, их необходимо заключить в квадратные скобки и разделить
запятыми. |
ПОЛЕ MFVEC2F |
Поле MFVec2f является многозначным и содержит произвольное
число двумерных векторов. Документы VRML присваивают полю MFVec2F значения,
используя одну или больше пар чисел с плавающей точкой, разделенных пробелами.
Если присваивается больше одного вектора, то значения пары разделяются
запятыми, а весь набор векторов заключается в квадратные скобки. |
ПОЛЕ MFVEC3F |
Поле MFVec3f является многозначным полем, которое
содержит произвольное число трехмерных векторов. Документы VRML присваивают
значения полю MFVec3F , используя одну или больше троек чисел с плавающей
точкой. Если присваивается больше одного вектора, то между собой вектора
разделяются запятыми, а весь их набор заключается в квадратные скобки. |