POV-Ray : Newsgroups : povray.programming : property Server Time
28 Jul 2024 10:28:50 EDT (-0400)
  property (Message 1 to 3 of 3)  
From: Rafal 'Raf256' Maj
Subject: property
Date: 22 Aug 2002 20:38:22
Message: <Xns92731A36A791raf256com@204.213.191.226>
Hi,
I want to add property "id_number" that can be given to any object.
This will be an integer. 
In future I also want to add "id_name" that will be a string.

Syntax :

object { ANY_OBJECT_DEFINITION
  id_number 100
}

Like :

sky_sphere { S_Cloud id_number -1 }
sphere { x*5 10 id_number 100 }

The idea is to use this informations in output file.
This will produse greate flexibility in using Pov output in other programs.

-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: property
Date: 22 Aug 2002 20:40:53
Message: <Xns92731AA3FEAA5raf256com@204.213.191.226>
"Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in
news:Xns### [at] 204213191226 

I don't now yet what to do with complex situations like 

union {
  sphere { x 1 id_number 1 }
  sphere { x 1 id_number 2 }
  id_number 3
}

but I think that best will be to set id_number of both spheres to id_number 
of scene-level object.

-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

From: Le Forgeron
Subject: Re: property
Date: 23 Aug 2002 09:45:08
Message: <3D663C80.7020107@free.fr>
Rafal 'Raf256' Maj wrote:

> "Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in
> news:Xns### [at] 204213191226 
> 
> I don't now yet what to do with complex situations like 
> 
> union {
>   sphere { x 1 id_number 1 }
>   sphere { x 1 id_number 2 }
>   id_number 3
> }
> 
> but I think that best will be to set id_number of both spheres to id_number 
> of scene-level object.


See my answer to your "own output format".
The id should be in the object fields, just adding a parse option to all 
objects (at the top level). That's the easy addition.

For CSG, intersection always returns the basic component,
so you will get either 1 or 2, but never 3 for your example.

At best, if you forbid a id value as meaning not set,
you could have the parser to paint the CSG id over component which have 
no value per themself.

Think of it just like a kind of pigment...


Post a reply to this message

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