VRML
: Liste des champs et des événements
A quoi servent les champs (fields)
Les types contiennent des données. Ces données sont utilisées pour
décrire la scène 3D, les objets, les propriétés etc. Ces types sont
réutilisés dans la spécification des
noeuds VRML.
A quoi servent les événements (events)
Certains noeuds VRML génère des événements en réponse à des changements
dans l'environnement de la scène ou à des actions de l'utilisateur.
Les événements sont identifiés par les mêmes types que les champs car un
événements transporte toujours une ou plusieurs données. Par exemple, le
clique sur un objet comportera le moment (en seconde) où l'objet a été
cliqué, le déplacement d'un objet comportera ses nouvelles coordonnées.
Les événements générés par des noeuds sont les eventOut. Par
défaut, ils ont une source (l'objet émetteur) mais pas de destination. Les
événements entrant des noeuds (eventIn) permettent de recevoir les eventOut.
Les chemins des événements sont décrits par le noeud ROUTE.
Les deux types d'événements/champs
Il y a deux classes générales de champs et événements; ceux qui contiennent
une seule valeur (cette valeur peut etre un chifre un vecteur 3D ou une image..)
et ceux qui contiennent de multiples valeurs.
Le nom des valeurs simple commence par SF
Le nom des valeurs multiples commence par MF
Les valeurs multiples sont écrites comme une série de valeurs entre crochets
et séparées par des espaces . Quand il n'y a aucune valeur, il y a seulement les
crochets. Lorsqu'il n'y a qu'une valeur, les crochets peuvent être omis. Par
exemple, toutes ces écritures sont valides pour une valeur multiple MFInt32:
foo 1
foo [1,]
foo [ 1 ]
Listes des champs / événements
Ce document est un extrait des specifications du vrml et decrit la syntaxe
generale des fields et events.Les types définis dans cette annexe
sont utilisés pour les champs et événement.
Un champ ou événement contenant une seule valeur booléenne. SFBool peut être
soit TRUE soit FALSE.
fooBool FALSE
est un champ SFBool, fooBool, qui a pour valeur FALSE.
La valeur par defaut d'un eventOut SFBool est FALSE
SFColor spécifie une couleur RGB, et MFColor zéro ou plus couleurs RGB.
Chaque couleur est écrite comme un triplet de valeurs a virgules flottantes dans
le format ANSI C comprise entre 0 et 1.Par exemple:
fooColor [ 1.0 0. 0.0, 0 1 0, 0 0 1 ]
est un champ MFColor, fooColor, contenant les trois couleurs
primaires.
La valeur par defaut d'un eventOut SFColor est (0 0 0). La valeur par defaut
d'un eventOut MFColor est [ ].
SFFloat est une valeur unique a virgule flottante, et MFFloat est zero ou
plusieurs valeurs a virgule flottante. SFFloat et MFFloat sont écrits dans le
format ANSI C.Par exemple:
fooFloat [ 3.1415926, 12.5e-3, .0001 ]
est un champ MFFloat fooFloat, contenant trois valeurs a virgule
flottantes.
La valeur par defaut d'un SFFloat est 0.0.La valeur par defaut d'un MFFloat
est [ ].
Le champ ou événement SFImage contient une image a deux dimensions non
compressée. SFImage est écrit comme une suite de trois entiers représentant
la largeur, la hauteur et le nombre de composants de l'image suivit par
largeur*hauteur valeur hexadécimales séparés par des espaces représentant les
pixels de l'image. Par exemple:
fooImage <largeur> <hauteur> <nb composantsgt; <pixels>
fooImage 1 2 1 0xFF 0x00
Pour avoir des précisions sur ces valeurs consulter la page 10 sur les
textures.
La valeur par défaut d'un eventOut SFImage est (0 0 0).
Le champ ou événement SFInt32 est un entier 32 bits, et MFInt32 est zéro ou
plusieurs entier 32 bits. Ils s'écrivent sous forme décimale ou hexadécimale
(commencant
par 0x).Par exemple:
fooInt32 [ 17, -0xE20, -518820 ]
est un champ MFInt32 comtenant trois valeurs.
La valeur par defaut d'un eventOut SFInt32 est 0. La valeur par defaut d'un
eventOut MFInt32 est [ ].
Le champ ou événement SFNode est un noeud vrml,et MFNode est un ou plusieurs
noeuds vrml. L'exemple suivant donne la syntaxe exacte pour un MFNode contenant
quatre noeuds.
fooNode [ Transform { translation 1 0 0 }
DEF CUBE Box { }
USE CUBE
USE AUTRE_NOEUD ]
SFNode et MFNode peuvent contenir le mot-clef NULL pour indiquer qu'ils sont
vides.
La valeur par defaut d'un eventOut SFNode est NULL. La valeur par defaut d'un
eventOut MFNode est [ ].
Le champ ou événement SFRotation désigne une rotation sur trois axe,
MFRotation en désigne zero ou plus. SFRotation et MFRotation sont écrits
comme une suite de quatre virgules flottantes séparés par des espaces. Les trois
premières valeurs sont les axes X Y Z et la dernière l'angle en radians.
fooRot 0.0 1.0 0.0 3.14159265
La valeur par defaut d'un eventOut SFRotation est (0 0 1 0). La valeur par
defaut d'un evebtOut MFRotation est [ ].
Vous pouvez imprimer cette table, elle est tres pratique.
TABLE DE CONVERTION DEGRES RADIANS
DEGRES RADIANS DEGRES RADIAN DEGRES RADIANS DEGRES RADIANS
0 0 90 1.57 180 3.14 270 4.71
10 0.17 100 1.74 190 3.32 280 4.89
20 0.35 110 1.92 200 3.49 290 5.06
30 0.52 120 2.09 210 3.66 300 5.24
40 0.70 130 2.27 220 3.84 310 5.41
45 0.78 135 2.36 225 3.93 315 5.50
50 0.87 140 2.44 230 4.01 320 5.58
60 1.05 150 2.62 240 4.19 330 5.76
70 1.22 160 2.79 250 4.36 340 5.93
80 1.40 170 2.97 260 4.54 350 6.11
Les champs ou événements SFString et MFString contiennent des caractères
formates selon le jeu de caractères universels UTF-8.SFString contient une chaîne de
caractères, MFstring en contient zéro ou plus. Une chaîne de caractères
est une séquence d'octets UTF-8 entre guillemets.
Des caractères (saut de ligne et #) peuvent apparaitre.Pour inclure des
guillemets dans une chaine,faites les preceder d'un backslash \.Pour inclure un
backslash dans une chaine tapez en deux. Par exemple:
fooString [ "Un, Deux, Trois", "Il dit, \"Immel fait le!\"" ]
est un eventOut MFString avec deux chaînes valides.
La valeur par defaut d'un eventOut SFString est quot;quot;. La valeur par
defaut d'un eventOut MFString est [ ].
Le champ ou événement SFTime est une valeur temps, MFTime en represente zéro
ou plus. Les valeurs temps sont une valeur double précision a virgule flottante
Typiquement, SFTime représente le nombre de secondes depuis le 1 janvier 1970.
La valeur par defaut d'un eventOut SFTime est -1. La valeur par defaut d'un
eventOut MFTime est [ ].
Un champ ou événement SFVec2f désigne un vecteur a deux dimensions, un MFVec2f
en désigne zéro ou plusieurs. Ils sont écrits comme une paire de valeurs a
virgule flottante séparés par un espace. Par exemple
fooVec2f [ 42 66.6, 7.1 94 ]
est un champ MFVec2f avec deux vecteurs valides.
La valeur par defaut d'un eventOut SFVec2f est (0 0). La valeur par defaut
d'un eventOut MFVec2f est [ ].
Un champ ou événement SFvec3f est un vecteur tri-dimensionnel, un MFvec3f en
désigne zéro ou plusieurs. Ils sont écrits comme trois valeurs a virgules
flottantes séparés par des espaces.Par exemple:
fooVec3f [ 1 4.2 666, 7 9.4 0 ]
est un champ MFVec3f avec deux vecteurs valides.
La valeur par defaut d'un eventOut SFVec3f est (0 0 0). La valeur par defaut
d'un eventOut MFVec3f est [ ].
Version 2.0, ISO/IEC WD 14772
La liste des champs a été traduite par Sébastien
Marnier
puis repris par
Web3D-fr pour y ajouter ses exemples et commentaires.
|