|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | Greetings ;>  Can anyone help me please -   ( POVray 3.00e, Pentium PC
system)
In order to create a number of intertwined same-axis spirals, I think I
need to be able to call a small block of POV script several times from
within the same file if possible. What's the closest I can get to an old
'GOSUB'-type or PROC command?
The BBC BASIC equivalent of what I want to do would be:
---------------------------
FOR i = 1 to 4
PROC spiral
NEXT i
END
DEF PROC spiral
{define a 3d spiral here, properties of which depend on value of i. Code
contains loops, #define's, etc. as well as shape commands}
ENDPROC
---------------------------
So, how can I do this? I thought of #declaring the spiral routine first
and then calling it a few times later, but it won't let me include other
logic & directives with shape commands, apparently. Help!
Best wishes to you all
Matt Rhys-Roberts
North Wales
Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | You want the #macro directive and the #while directive
#macro ThisIsAMacro(aParameter, anotherParameter)
blahblah
#end//end of macro
#declare counterA = 0;
#while(counterA < 15)
    ThisIsAMacro(counterA, < 0, 4, 2>)
    #declare counterA = counterA + 1;
#end//end of while loop
Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | Oh, I just saw the version of POV-Ray you are using. You should upgrade
to 3.1g, the latest version.
 Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | Thanks Chris: that's the fastest response I've ever had to a news-type
question!
I'll save up my phone money to download the latest version, and then try
out the #macro command.
Cheers
Matt.
Chris Huff wrote:
> Oh, I just saw the version of POV-Ray you are using. You should upgrade
> to 3.1g, the latest version.
 Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | Matt wrote:
> 
> Greetings ;>  Can anyone help me please -   ( POVray 3.00e, Pentium PC
> system)
> 
> In order to create a number of intertwined same-axis spirals, I think I
> need to be able to call a small block of POV script several times from
> within the same file if possible. What's the closest I can get to an old
> 'GOSUB'-type or PROC command?
> 
> The BBC BASIC equivalent of what I want to do would be:
> ---------------------------
> FOR i = 1 to 4
> PROC spiral
> NEXT i
> END
> 
> DEF PROC spiral
> {define a 3d spiral here, properties of which depend on value of i. Code
> contains loops, #define's, etc. as well as shape commands}
> ENDPROC
> ---------------------------
> So, how can I do this? I thought of #declaring the spiral routine first
> and then calling it a few times later, but it won't let me include other
> logic & directives with shape commands, apparently. Help!
> 
> Best wishes to you all
> 
> Matt Rhys-Roberts
> North Wales
Hi Matt!
In 3.0 you still could #include the same include file with different
declarations (see my gear include file example 
http://www.ica.uni-stuttgart.de/~marc/gearex.htm ).
Macros are better! :-)
Marc
-- 
Marc Schimmler
Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  | 
| From: Bob Hughes Subject: Re: How can I iterate a function in POV script?
 Date: 22 Jul 1999 13:25:03
 Message: <379753BF.945B8F03@aol.com>
 
 |  |  | 
|  |  | 
|  |  | 
|  |  | The #while loop alone should work out okay. Just exampling below:
#declare S1 = 0  //use as many as you need of these to use on Spiral
#declare S2 = 1  //etcetera
#declare C = 0
#while (Count < 9)  //same as FOR i = 1 to 9
//put Spiral code here or use the inc file, with all the loop
manipulated parts
#declare S3 = S1+C  //whatever.
#declare C = C + 1 //or whatever. clock based value, anything...reaching
9
#include "Spiral.inc"  //alternatively use this
#end  //NEXT until loop reaches 9
Matt wrote:
> 
> Greetings ;>  Can anyone help me please -   ( POVray 3.00e, Pentium PC
> system)
> 
> In order to create a number of intertwined same-axis spirals, I think I
> need to be able to call a small block of POV script several times from
> within the same file if possible. What's the closest I can get to an old
> 'GOSUB'-type or PROC command?
> 
> The BBC BASIC equivalent of what I want to do would be:
> ---------------------------
> FOR i = 1 to 4
> PROC spiral
> NEXT i
> END
> 
> DEF PROC spiral
> {define a 3d spiral here, properties of which depend on value of i. Code
> contains loops, #define's, etc. as well as shape commands}
> ENDPROC
> ---------------------------
> So, how can I do this? I thought of #declaring the spiral routine first
> and then calling it a few times later, but it won't let me include other
> logic & directives with shape commands, apparently. Help!
> 
> Best wishes to you all
> 
> Matt Rhys-Roberts
> North Wales
-- 
 omniVERSE: beyond the universe
  http://members.aol.com/inversez/homepage.htm
 mailto://inversez@aol.com?Subject=PoV-News
Post a reply to this message
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  | 
|  |  | 
|  |  | Matt wrote:
> The BBC BASIC equivalent of what I want to do would be:
> ---------------------------
> FOR i = 1 to 4
> PROC spiral
> NEXT i
> END
	WHILE loop is used. The increment has to be stated. Very C like.
 Post a reply to this message
 Attachments:
 Download 'us-ascii' (1 KB)
 
 
 |  | 
|  |  | 
|  |  | 
|  |  |  |  | 
|  |  |