POV-Ray : Newsgroups : povray.general : Q: vector promotion : Re: Q: vector promotion Server Time
13 Aug 2024 03:17:19 EDT (-0400)
  Re: Q: vector promotion  
From: PoD
Date: 12 Nov 1998 17:54:18
Message: <364B671C.F8C@merlin.net.au>
Margus Ramst wrote:
> 
> Hi all,
> 
> I've got this problem (not serious, but got me wondering)...
> 
> When a macro param is a vector (e.g. I use dot operators on it), it seems I
> can't use a float identifier to represent it - it doesn't get promoted to a
> vector. Example:
> 
> #macro MyMacro(Vector)
>         (Vector.x + Vector.y + Vector.z)
> #end
> 
> MyMacro(<3,3,3>) is OK but
> MyMacro(3) gets an error
> 
> Why is the float not promoted to a vector? Is it because POV can't tell the type
> of a macro param?
> 
> Margus

The input parameter becomes whatever type is passed to it, so if you
give it a float value, it is a float type variable.
You could try

#macro MyMacro(InputVector)
#local Vector=InputVector*<1,1,1>;
...
#end

Cheers, PoD


Post a reply to this message

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