|
![](/i/fill.gif) |
Tor Olav Kristensen wrote:
...
>
> #macro Slice(ContourA, ContourB, FromZ, ToZ)
>
> #local Size = dimension_size(ContourA, 1);
>
> #local Cnt = 0;
> #while (Cnt < Size - 1)
> #local p1 = ContourA[Cnt] + z*FromZ;
> #local p2 = ContourB[Cnt] + z*ToZ;
> #local p3 = ContourA[Cnt + 1] + z*FromZ;
> #local p4 = ContourB[Cnt + 1] + z*ToZ;
> triangle { p1, p2, p3 }
> triangle { p2, p3, p4 }
> #local Cnt = Cnt + 1;
> #end // while
>
> #end // macro Slice
>
...
If you want the slice to be connected all the way around, then just
use this macro instead:
#macro Slice(ContourA, ContourB, FromZ, ToZ)
#local Size = dimension_size(ContourA, 1);
#local Cnt = 0;
#while (Cnt < Size)
#local p1 = ContourA[mod(Cnt, Size)] + z*FromZ;
#local p2 = ContourB[mod(Cnt, Size)] + z*ToZ;
#local p3 = ContourA[mod(Cnt + 1, Size)] + z*FromZ;
#local p4 = ContourB[mod(Cnt + 1, Size)] + z*ToZ;
triangle { p1, p2, p3 }
triangle { p2, p3, p4 }
#local Cnt = Cnt + 1;
#end // while
#end // macro Slice
--
Tor Olav
http://subcube.net
http://subcube.com
Post a reply to this message
|
![](/i/fill.gif) |