Классы узлов (node types)
Существует предопределенный (первичный, стандартный) набор классов объектов с предопределенной же семантикой.
VRML файл может содержать любое количество объектов любого существующего класса. Объект может представлять очень разные сущности - 3D геометрию, звук, JPEG файл, преобразование координат и т.д.
Каждый класс имеет следующие характеристики:
Sphere { radius 3 }
Sphere { radius 5.6}
Каждое поле имеет значение по умолчанию (определено в стандарте), использующееся при отсутствии поля в описании объекта. Так что можно писать
Sphere { } # будет создана сфера с радиусом по
# умолчанию 1.
Существует 2 вида полей: просто поле (field) и общедоступное (публичное) поле (exposedField). Поле (т.е. field) определяет начальное значение параметра объекта, которое не может быть впоследствии изменено извне (private). exposedField
также определяет начальное значение параметра объекта, но такое поле общедоступно и может быть впоследствии изменено извне. Например, radius является приватным полем класса Sphere, что означает, что размер сферы не может быть изменен другим объектом. (Note: Размер сферы все же можно изменить путем масштабирования ее локальной системы координат - но это уже другой разговор; смотрите описание класса Transform).