Sommaire | Page precedente | Page suivante | page 21 |
Cette annexe est un extrait des specifications du vrml et decrit la syntaxe generale des fields et events.Les types definis dans cette annexe sont utilises pour les champs et evenement.
Il y a deux classes generales de champs et evenements; 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 ecrites comme une serie de valeurs entre crochets et separees 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 etre homis. Par exemple, toutes ces ecritures sont valides pour une valeur multiple MFInt32:
foo 1
foo [1,]
foo [ 1 ]
Un champ ou evenement contenant une seule valeur booleenne.SFBool peut etre 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 specifie une couleur RGB, et MFColor zero ou plus couleurs RGB. Chaque couleur est ecrite 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 ecrits 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 evenement SFImage contient une image a deux dimensions noncompressee. SFImage est ecrit comme une suite de trois entiers representant la largeur, la hauteur et le nombre de composants de l'image suivit par largeur*hauteur valeur hexadecimales separes par des espaces representant les pixels de l'image. Par exemple:
fooImage <largeur> <hauteur> <nb composantsgt; <pixels>
fooImage 1 2 1 0xFF 0x00
Pour avoir des precisions sur ces valeurs consulter la page 10 sur les textures.
La valeur par defaut d'un eventOut SFImage est (0 0 0).
Le champ ou evenement SFInt32 est un entier 32 bits,et MFInt32 est zero ou plusieurs entier 32 bits.Ils s'ecrivent sous forme decimale ou hexadecimale (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 evenement 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 CUBEUSE 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 evenement SFRotation designe une rotation sur trois axe,MFRotation en designe zero ou plus.SFRotation et MFRotation sont ecrits comme une suite de quatres virgules flottantes separes par des espaces.Les trois premieres valeurs sont les axes X Y Z et la derniere 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 evenements SFString et MFString contiennent des caracteres formates selon le jeu de caracteres universels UTF-8.SFString contient une chaine de caracteres, MFstring en contient zero ou plus.Une chaine de caracteres est une sequence d'octets UTF-8 entre guillemets.
Des caracteres (saut de ligne et #) peuvent apparaitre.Pour inclure des guillemets dans une chaine,faites les preceder d'un backslash \.Por inclure un backslash dans une chaine tappez en deux.Par exemple:
fooString [ "Un, Deux, Trois", "Il dit, \"Immel fait le!\"" ]
est un eventOut MFString avec deux chaines valides.
La valeur par defaut d'un eventOut SFString est quot;quot;. La valeur par defaut d'un eventOut MFString est [ ].
Le champ ou evenement SFTime est une valeur temps,MFTime en represente zero ou plus.Les valeurs temps sont une valeur double precision a virgule flottante Typiquement, SFTime represente 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 evenement SFVec2f designe un vecteur a deux dimensions,un MFVec2f en designe zero ou plusieurs.Ils sont ecrits comme une paire de valeurs a virgule flottante separes 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 evenement SFvec3f est un vecteur tri-dimensionnel,un MFvec3f en designe zero ou plusieurs.Ils sont ecrits comme trois valeurs a virgules flottantes separes 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 [ ].