vers l'index général de l'aide
Vérifier si un identificateur a été déclaré, pas déclaré ou détruire un identificateur
POV-Ray 3.0 +sup.
MegaPOV (pour les tableaux)
#ifdef (identificateur) ... #end #ifndef (identificateur) ... #end #undef (identificateur)
#ifdef (Mon_Objet) : les instructions situées entre #ifdef et #end sont exécutées si Mon_Objet a été précédemment déclaré, POV-Ray "sort" après #end.
#ifndef (Mon_Objet) : les instructions situées entre #ifndef et #end sont exécutées si Mon_Objet n'a pas été précédemment déclaré, POV-Ray "sort" après #end.
#undef (Mon_Objet) : en principe, les identificateurs crées avec #declare persistent jusqu'à la fin de l'analyse du script. L'instruction #undef permet de détruire l'identificateur. Si Mon_Objet à été précédemment déclaré, après #undef (Mon_Objet), l'identificateur n'existe plus.
#declare Ma_Sphere = sphere {0,1} #ifdef (Ma_Sphere) //puisque Ma_Sphere est déjà déclaré // Pov-Ray exécute la ligne suivante object {Ma_Sphere pigment {Red} translate <2,5,0> } // #end
#ifdef (Ma_Sphere) // Ma_Sphere n' existe pas Pov-Ray va à #else object {Ma_Sphere pigment {Red} translate <2,5,0> } #else // Pov-Ray exécute la ligne suivante #declare Ma_Sphere= sphere {0,1 pigment {Green} translate <2,5,0> } #end
#ifndef (Ma_Sphere) // Ma_Sphere n' existe pas alors Pov-Ray exécute la ligne suivante #declare Ma_Sphere= sphere {0,1 pigment {Green} translate <2,5,0> } #end
#declare Ma_Sphere= sphere {0,1 pigment {YellowGreen} } // Ma_Sphere est déclarée ..... ..... #undef (Ma_Sphere) // Ma_Sphere n' existe plus
Ces instructions sont généralement utilisées dans des fichiers "include" permettant de prédéfinir des identificateurs, laissant ainsi le choix à l'utilisateur de créer ou pas les siens.
Avec MegaPOV, on peut aussi utiliser #ifdef avec les tableaux :
#ifdef (MonTableau[Position])
Rédacteur: Martial Rameaux