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 г. )
|