vers l'index général de l'aide

déclarations

Objectif

déclarer des variables de toutes sortes (vecteurs, entiers, tableaux...)

Compatibilité

POV-Ray 3.1+sup.
MegaPov 0.4 (pour les raccourcis)

Syntaxe

#declare

Une simple déclaration de variable, valable dans tout le script, toutes les macros et tous les fichiers .inc appelés après la déclaration. On appelle ces variables des "variables globales". Un point-virgule est requis à la fin de toute déclaration de nombre ou de vecteur.

    #declare Variable1 = 24.83;
    #declare Variable2 = <14,2,74>;
    #declare Variable3 = "bla bla bla"
    ...
    

Une déclaration de variable peut bien entendu faire appel à d'autres variables, à des fonctions, ou à elle-même.

    #declare Variable4 = 63.02;
    #declare Variable4 = sin (Variable4 + Variable1);
    ...
    

#local

#local s'utilise exactement comme #declare, mais la variable n'a pas d'effet en dehors de la "zone" où elle est déclarée, c'est une "variable locale". Une telle variable n'aura, en particulier, pas d'effet en dehors des macros et fichiers .inc à l'intérieur desquels elles sont déclarées. Les paramètres d'une macro (ceux à côté du nom de la macro) sont automatiquement des variables locales.

    #macro (...)
     #local Var1 = ...
     #declare Var1B = ...
    #end
     
     #declare Var2 = Var1 // <- ne marchera pas !  Var1 n'existe pas en
                          // dehors de la macro
     #declare Var2 = Var1B // <- correct, puisque Var1B a été initialisée avec
                           //#declare, et est donc une variable globale            
    

Raccourcis

Pour ceux qui sont pressés (ou paresseux :-), MegaPOV offre la possibilité d'utiliser un raccourci (un peu comme en C/C++) pour #declare et #local, respectivement remplaçables par "$" et "%"

    #declare Variable1 = 63.02;
    #local Variable2 = sin (Variable4 + Variable1);      
    //deviennent
    $Variable1 = 63.02;
    %Variable2 = sin (Variable4 + Variable1);    
    

Attention, il n'y a pas d'espace entre le raccourci et le nom de la variable !

Remarque

Afin d'éviter tout conflit avec des mots clés ou des variables prédéfinies, il est fortement conseillé de toujours faire commencer une nouvelle variable par une majuscule. Les mots clés et variables prédéfinies de POV-Ray étant toujours en pleines minuscules, on a ainsi la certitude d'éviter tout parasitage.

    #declare sphere = object {...} //erreur !  on empiète sur un mot clé
    #declare Sphere = object {...} //voilà, c'est mieux !

auteur : Fabien Mosen