|
![](/i/fill.gif) |
Mikael Carneholm wrote:
>
> "J. Grimbert" wrote:
>
> > You will still have to duplicate the transformation (once for the
> > objects,
> > and once for the array), but that would be better than now.
> >
>
> Nope - just one transformation for the whole union:
> union{
> SpaceShip
> lots of points
> rotate some
> translate some
> }
As I stated earlier, you would be misusing (abusing ?) the Union.
BTW, why not a Merge ? or any other CSG ?
IMHO, union is only a CSG, using it for something else is not good.
Moreover, Ron Parker wrote:
=>
=> Um... even if there were a "point" object, it would be a huge change
to
=> have POV modify the #declared version (the prototype) when an
instantiation
=> of it is transformed. If you did do that, the next thing you'd have
is
=>people doing this:
=> #declare MySphere=sphere {0 1}
=> union { MySphere sphere {x,1} translate 2*x pigment{color red 1}}
=> object {MySphere translate y pigment {color green 1}}
=> and then wondering why the green sphere is at <0,1,0> instead of
=> <2,1,0>.
>
> Note: I'm sure there are other situations where this objects(primitive?) could be
> useful. Just waiting for other users to reply and say they want it too :)
>
I would keep with my idea of array functions. It would be easily done
(as soon as I can get a working source of 3.1e installed, I will
have a look at the parser to add the three functions...
and dig a little in the array thing...
yet another floating patch... How can it be officially integrated ?)
BTW, have somebody any better idea for the name than
arotate/ascale/atranslate ?
(better ask now than do it and have to change it later ...)
Post a reply to this message
|
![](/i/fill.gif) |