Розробка VRML - документiв. Мова VRML (Virtual Reality Modeling Language). Інструментарій. Основні принципи, страница 6

}          }        geometry Sphere {          radius 3 

#опис таймерів 

DEF Timer_Left TimeSensor {    cycleInterval 2.0 

DEF Timer_Right TimeSensor {    cycleInterval 2.0 

DEF Timer_Up TimeSensor {    cycleInterval 2.0 

DEF Timer_Down TimeSensor {    cycleInterval 2.0 

#опис інтерполяторів 

DEF Move_Left PositionInterpolator {    key [0, 0.25, 0.5, 0.75, 1] 

keyValue [0 0 0, -10 0 0, -20 0 0, -10 0 0, 0 0 0] 

DEF Move_Right PositionInterpolator {    key [0, 0.25, 0.5, 0.75, 1] 

keyValue [0 0 0, 10 0 0, 20 0 0, 10 0 0, 0 0 0] 

DEF Move_Up PositionInterpolator {    key [0, 0.25, 0.5, 0.75, 1] 

keyValue [0 0 0, 0 10 0, 0 20 0, 0 10 0, 0 0 0] 

DEF Move_Down PositionInterpolator {    key [0, 0.25, 0.5, 0.75, 1] 

keyValue [0 0 0, 0 -10 0, 0 -20 0, 0 -10 0, 0 0 0] 

#опис шляхів трансляції подій 

ROUTE Left.touchTime TO Timer_Left.startTime 

ROUTE Timer_Left.fraction_changed TO Move_Left.set_fraction 

ROUTE Move_Left.value_changed TO Ball.translation 

ROUTE Right.touchTime TO Timer_Right.startTime 

ROUTE Timer_Right.fraction_changed TO Move_Right.set_fraction

ROUTE Move_Right.value_changed TO Ball.translation 

ROUTE Up.touchTime TO Timer_Up.startTime 

ROUTE Timer_Up.fraction_changed TO Move_Up.set_fraction 

ROUTE Move_Up.value_changed TO Ball.translation 

ROUTE Down.touchTime TO Timer_Down.startTime 

ROUTE Timer_Down.fraction_changed TO Move_Down.set_fraction 

ROUTE Move_Down.value_changed TO Ball.translation

Додатки


Основнi типи даних

Основнi вузли

z SFBool  z SFColor і MFColor  z SFFloat і MFFloat  z SFInt32 і MFInt32  z SFNode і MFNode  z SFString і MFString  z SFTime і MFTime  z SFVec2f і MFVec2f  z SFVec3f і MFVec3f 

Appearance  z Box  z Color  z ColorInterpolator  z Cone 

CoordinateInterpolator  z Cylinder  z FontStyle  z Group  z ImageTexture  z Material 

OrientationInterpolator 

z PlaneSensor  z PositionInterpolator  z ProximitySensor  z Shape  z Sphere  z SphereSensor  z Text  z TimeSensor  z TouchSensor  z Transform  z Viewpoint 

1. Основнi типи даних

SFBool 


Змінні даного типу є логічними і можуть приймати значення TRUE (істина) і FALSE (неправда). За замовчуванням ініціалізується значенням FALSE.  Приклад: 

fooBool FALSE  SFColor і MFColor 

Даний тип використовується для представлення кольору. Колір визначається за допомогою трьох позитивних раціональних чисел у проміжку від 0 до 1. Числа являють собою значення світності червоного, зеленого і синього кольорів відповідно. SFColor використовується для визначення одного кольору, MFColor визначає масив кольорів. За замовчуванням SFColor ініціалізується значенням (0, 0, 0), MFColor ініціалізується [].  Приклад:    fooColor 1.0 0. 0.0    fooColor [ 1.0 0. 0.0, 0 1 0, 0 0 1 ]  SFFloat і MFFloat 

Даний тип використовується для визначення 32-бітних знакових раціональних чисел. SFFloat представляє одне раціональне значення, MFFloat представляє масив раціональних значень. У представленні чисел може використовуватися експонентний запис раціонального числа. За замовчуванням SFFloat ініціалізується значенням 0.0, MFFloat ініціалізується [].  Приклад:    fooFloat 1.001    fooFloat [ 3.1415926, 12.5e-3, .0001 ]  SFInt32 і MFInt32 

Цей тип визначає 32-бітне знакове ціле. SFInt32 представляє одне ціле значення, MFInt32 представляє масив цілих чисел. Число може бути записане як у десяткової, так і в шестнадцатковій формі. При записі в шестнадцатьковій системі, використовується префікс '0х'. За замовчуванням SFInt32 ініціалізується значенням 0, MFInt32 ініціалізується [].  Приклад:    fooInt32 15    fooInt32 [ 17, -0xE20, -518820 ]  SFNode і MFNode 

Це один з найважливіших типів у мові VRML. Цей тип використовується для представлення вузлів VRML сцени. При цьому SFNode визначає один вузол, MFNode визначає масив вузлів. Значення NULL сигналізує про те, що вузол порожній.