POV-Ray : Newsgroups : povray.general : macros returning values : Re: macros returning values Server Time
5 Aug 2024 14:12:11 EDT (-0400)
  Re: macros returning values  
From: Warp
Date: 6 Sep 2002 13:08:11
Message: <3d78e0fb@news.povray.org>
You are "returning" the value in the non-recommendable way.
  The correct way of "returning" a value is to put it in a #local identifier
and then put that identifier alone at the very end of the macro.
  For example something like this:

#macro Whatever()
  #if(something)
    do_something
    #local result = whatever;
  #else
    do_something_else
    #local result = something_else;
  #end
  result
#end

  In some few cases this is not strictly necessary, though. For example:

#macro Min(A, B)
  (A<B ? A : B)
#end

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

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