POV-Ray : Newsgroups : povray.newusers : object name problem : Re: object name problem Server Time
28 May 2024 14:34:09 EDT (-0400)
  Re: object name problem  
From: Trevor G Quayle
Date: 9 May 2013 11:10:00
Message: <web.518bbc059f3aa2d281c811d20@news.povray.org>
kurtz le pirate <kur### [at] yahoofr> wrote:
> hello,
>
> I have a macro that generates a mesh object in a "inc" file.
>
> I declare a variables :
>   #declare objectName = "TheBrick";
>
>
> My macro write this name in the inc file with this code :
>
>    #write(OUTFILE,"#declare ",objectName," = mesh {\n")
>
> which generates :
>
> #declare TheBrick = mesh {
>   triangle {<-4.25,2.25,-3.25>,<-3.57,2.33,-3.33>,<-4.33,2.33,-2.57>}
>   triangle {<-4.33,2.33,-2.57>,<-3.57,2.33,-3.33>,<-3.57,2.52,-2.57>}
>   triangle {<-3.57,2.33,-3.33>,<-3.15,2.33,-3.33>,<-3.57,2.52,-2.57>}
>   ...
>   ...
>   }
>
>
> Now, in the main script if i write :
>
> #include fileName
> object {
>   objectName
>   pigment { color White }
>   finish { ambient 0 }
>   }
>
>
> I get this parse error :
>
>   Expected 'object', string identifier found instead.
>
> Seems consistent, but then how can I use this variable to draw object ?
>
>
> Of corse, if i write :
> object {
>   TheBrick
>   pigment { color White }
>   finish { ambient 0 }
>   }
>
> everything is good.
>
>
>
> --
> klp

You are trying to use 'objectname' as an indirect reference which can't work in
POV.  At runtime, it does not substitute "TheBrick" text in place of the
"objectname" text, instead it simply sees 'ojectname' as a string and not an
object, hence the error.

-tgq


Post a reply to this message

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