Расширяемость языка
31.12.2007 г.
Расширяемость языка Возможность расширения предусмотрена с целью поддержки работы с автоматически определяемы-ми узлами, которые не являются частью стандарта. Например, если бы в стандарте отсутствовал узел типа "куб", его можно было бы вывести следующим образом: Cube { fields [ SFFloat width, SFPloat height, SFFloat depth ] width 10 height 4 depth 3 } Кроме этого новые типы узлов можно задавать через уже существующие. В этом случае новые узлы определяются путем задания дополнительного параметра 'isA' поля MFStririg. Например, новый тип "Material" под названием "ExtendedMaterial", имеющий особые свойства отражения, может быть опре-делён следующим образом: ExtendedMaterial { fields [ MFString isA, MFFloat indexOfRefraction, MFColor ambientColor, MFColor diffuseColor, MFColor specularColor, MFColor emissiveColor, MFFloat shininess, MFFloat transparency ] isA [ "Material" ] indexOfRefraction .34 diffuseColor .8 .54 1 }
Последнее обновление ( 31.12.2007 г. )