POV-Ray : Newsgroups : povray.general : Macro parameter type checking? : Re: Macro parameter type checking? Server Time
31 Jul 2024 02:18:07 EDT (-0400)
  Re: Macro parameter type checking?  
From: Jan Dvorak
Date: 5 Dec 2007 16:11:15
Message: <475713f3$1@news.povray.org>
Cousin Ricky napsal(a):
> Is there any way or any trick for checking the type of a parameter from within a
> macro?  For example, it would be useful to have a texture apply optionally to a
> portion of a union:
> 
> #macro Neat_object (Param1, Param2, Texture)
>    union
>    {  object { ... }
>       object
>       {  ...
>          #if ( /* Texture is really a texture and not the float value 0 */ )
>             texture { Texture }
>          #end
>       }
>    }
> #end
> 
> Since macro arguments must be defined, #ifdef is useless here.  Another common
> situation would be passing in a color or a texture:
> 
> texture
> {  #if ( /* Texture is a vector */ )
>       pigment { color Texture }
>    #else
>       Texture
>    #end
> }
> 
> 
> 
> 
It's not possible in pure pov-ray but it is possible int mega-pov. See 
2.2.6.5 in mega-pov documentation.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.