POV-Ray : Newsgroups : povray.general : Modify already created object : Re: Modify already created object Server Time
8 Jul 2024 14:28:13 EDT (-0400)
  Re: Modify already created object  
From: clipka
Date: 28 Aug 2014 14:50:55
Message: <53ff7a0f$1@news.povray.org>
Am 28.08.2014 20:30, schrieb bublible:
> clipka <ano### [at] anonymousorg> wrote:
>> Am 28.08.2014 18:36, schrieb bublible:
>>> Is there any option how to modify some attributes of some already created
>>> object...like changing scale of some polygon instance named "PODKLAD"?
>>
>> What you can do is:
>>
>> - override textures or interiors
>> - translate, scale, rotate or apply some other linear transformation

Remembering this: ...
---------------------------------------
>> (Strictly speaking, you still don't modify an existing object; instead,
>> you create a /copy/ of an object with the respective modifications.)
---------------------------------------

>>
>> What you can /not/ do is modify other object properties such as the
>> radii of a torus.
>
> Fine, but you did not tell me how to do it cos my sample above is not modifying
> existing object but creating 3 new instances of it so I have all of them in the
> place at once (basically what I am trying to achieve is obtain objects
> coordinates to know where it remains - gradient polygon simulating base plane -
> and then do some mathematics including camera position having my object facing
> the camera at the same distance and angle every time I render something
> independently from what camera position and angle are)...so? Please, can you
> tell me the trick? :)

... is the trick.

So what you would have to do is

   #declare ball0 = sphere { ... }
   #declare ball1 = object { ball1 translate ... }
   #declare ball2 = object { ball2 pigment ... }
   #declare ball3 = object { ball3 scale ... }

and finally actually place the object into the scene:

   object { ball3 }

If you find it more convenient, you can re-use the same name:

   #declare ball = sphere { ... }
   #declare ball = object { ball translate ... }
   #declare ball = object { ball pigment ... }
   #declare ball = object { ball scale ... }
   object { ball }

Note that in each step "ball" is a different object.

Of course you can also modify multiple things at once:

   #declare ball = sphere { ... }
   #declare ball = object { ball pigment ... translate ... scale ... }
   object { ball }


Post a reply to this message

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