В стандарте предусмотрены также поля, задающие поворот вокруг одной из осей. Например, чтобы повернуть сцену вокруг оси Y на 180, необходимо указать:
1 0 3.14159265
Множественные поля содержат несколько (более одного) значений, заключённых в скобки, например, поле MFColors определяет сразу несколько цветовых оттенков – красный, зелёный и синий – через триплеты RGB:
1.0 0.0 0.0, 0 1 0, 0 0 1 ]
Поля с префиксом "MF" используются также для задания векторных значений, например: MFVec2fs – вектор на плоскости, а MFVec3fs – вектор в трёхмерном пространстве.
Узел может быть потомком более чем одной группы, поэтому в стандарте было введено понятие "размножение" или многократное использование одного и того же экземпляра узла в разных структу-рах. Данное понятие аналогично процедуре в универсальных языках программирования: конструкция "DEF" определяет имя размножаемого узла и создает его прототип , а с помощью команды "USE" происходит вызов (размножение) всех ранее созданных экземпляров. В результате выполнения сле-дующего примера будет выведено три сферы: одна большая с именем Jack и две одинаковых по-меньше с именем Kati.
Separator { DEF Jack Sphere { }
Translation { translation 2 0 0 } Separator {
DEF Kati Sphere { radius .2 }
Translation { translation 2 0 0 } } USE Kati #
radius .2 sphere will be used here
}
|