6.2.7  Directivas de Mensajes del Usuario

Con la incorporación de las directivas condicionales y de bucle, el lenguaje de POV-Ray es, potencialmente, como cualquier lenguaje de programación real. Ello significa que puede ser necesario el disponer de alguna manera de ver qué está pasando, cuando se trata de depurar un bucle o una instrucción condicional. Para ello hemos añadido la capacidad de imprimir mensajes de texto en la pantalla. Puedes escoger entre cinco salidas de texto distintas, incluyendo la posibilidad de generar un error fatal si lo consideras necesario. Se puede aplicar un formato limitado a las cadenas impresas de esta forma.

6.2.7.1  Salidas para los mensajes de texto

La sintaxis de un mensaje de texto es la siguiente:

DIRECTIVA_MENSAJE_DE_TEXTO:
    #debug CADENA | #error CADENA | #warning CADENA

Donde CADENA es cualquier cadena de texto válida, incluyendo identificadores de cadena o funciones que devuelvan cadenas. Por ejemplo:

 #switch (clock*360)
  #range (0,180)
   #debug "Rango de reloj desde 0 a 180\n"
  #break
  #range (180,360)
   #debug "Rango de reloj desde 180 a 360\n"
  #break
  #else
   #warning "El reloj está fuera del rango esperado.\n"
   #warning concat("El valor es:",str(clock*360,5,0),"\n")
 #end

Hay siete Salidas de texto distintas, que POV-Ray utiliza para su salida. Puedes utilizar sólo tres de estas salidas. En algunas versiones de POV-Ray, cada salida se representa por un color particular. El texto de estos salidas independientes se visualiza cuando es necesario, así que normalmente se mezclan los textos de las distintos salidas. La distinción sólo es importante si decides desactivar algunas de ellas o redireccionarlas hacia archivos de texto. En algunos sistemas, puede que sea posible revisar cada salida separadamente en su propio buffer. Véase Redireccionando las secuencias de texto a ficheros para más detalles.

Vamos a ver una breve descripción de cómo utiliza POV-Ray estas salidas. Puedes usar estas salidas para cualquier propósito, pero observa que el uso de la salida #error causa un error fatal justo después de exhibir el mensaje.

Debug: (depuración) Visualiza los mensajes de depuración. Fue creado para los desarrolladores, pero puede ser usado por el usuario para exhibir mensajes desde sus escenas.

Error: (Error) Muestra los mensajes de error fatal. Después de exhibir el texto, POV-Ray finaliza. Cuando el error es un error de análisis, puede que se te muestren varias líneas del texto de la escena implicadas en el error.

Warning: (alerta) Visualiza mensajes de alerta durante el análisis de los archivos de la escena. Aunque se avisa de algo incorrecto, POV-Ray puede continuar trazando la escena.

Las salidas #render (trazado) y #statistsics (estadísticas), podían usarse en versiones anteriores. Su salida se redirige ahora a la salida #debug. Las salidas #banner (leyenda) y #status (estado) no pueden ser manipuladas por el usuario.

6.2.7.2  Formato del Texto

Existen algunas secuencias de escape que puedes usar para incluir en tus textos caracteres de control no imprimibles. Estas secuencias son similares a las usadas en los literales de cadena en el lenguaje C de programación. Estas secuencias son:

"\a" Emite un zumbido 0x07
"\b" Borrar hacia atrás 0x08
"\f" Avance de página 0x0C
"\n" Nueva línea 0x0A
"\r" Retorno de carro 0x0D
"\t" Tabulador horizontal 0x09
"\uNNNN" carácter Unicode con código NNNN 0xNNNN
"\v" Tabulador vertical 0x0B
"\0" Nulo 0x00
"\\" Barra invertida 0x5C
"\'" Comilla simple 0x27
"\"" Comilla doble 0x22

Por ejemplo:

 #debug "Ésta es una línea.\ny ésta es otra"

Dependiendo de la plataforma que utilices, puede que estas secuencias no sean totalmente soportadas por tu consola. Sin embargo, siempre aparecerán en los archivos de texto a los que redirijas la salida