POV-Ray : Newsgroups : povray.general : Macro parameter type checking? : Macro parameter type checking? Server Time
31 Jul 2024 02:25:37 EDT (-0400)
  Macro parameter type checking?  
From: Cousin Ricky
Date: 5 Dec 2007 14:45:00
Message: <web.4756fc514f1c0e3f6a1b3c30@news.povray.org>
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
}


Post a reply to this message

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