|
|
The following scene causes POV-Ray to crash because of an array assignment
(read the comments):
#declare pointarray = array[5] {<0,0>,<0,1>,<2,1>,<3,0>,<2,.5>};
#local dim = dimension_size(pointarray,1);
// if the last point in the array isn't the same as the first point...
#if (pointarray[dim-1].u != pointarray[0].u & pointarray[dim-1].v !=
pointarray[0].v)
//... then add a point to the array that's identical to the first point.
#local correctarray = array[dim+1];
#local copying = 0;
#while (copying < dim)
#local correctarray[copying] = pointarray[copying];
#local copying = copying + 1;
#end
#local correctarray[dim] = pointarray[0];
// The following line causes POV-Ray to crash (semi-colon or no
semi-colon).
// It should overwrite the old array with the newly created, correct
// array, which has a dimension one size bigger.
#local pointarray = correctarray;
#local dim = dim+1;
#end
- Slime
[ http://www.slimeland.com/ ]
[ http://www.slimeland.com/images/ ]
Post a reply to this message
|
|
|
|
Wasn't it Slime who wrote:
>The following scene causes POV-Ray to crash because of an array assignment
>(read the comments):
>
>#declare pointarray = array[5] {<0,0>,<0,1>,<2,1>,<3,0>,<2,.5>};
>
>#local dim = dimension_size(pointarray,1);
>
>// if the last point in the array isn't the same as the first point...
>#if (pointarray[dim-1].u != pointarray[0].u & pointarray[dim-1].v !=
>pointarray[0].v)
>
> //... then add a point to the array that's identical to the first point.
> #local correctarray = array[dim+1];
> #local copying = 0;
> #while (copying < dim)
> #local correctarray[copying] = pointarray[copying];
> #local copying = copying + 1;
> #end
> #local correctarray[dim] = pointarray[0];
>
> // The following line causes POV-Ray to crash (semi-colon or no
>semi-colon).
> // It should overwrite the old array with the newly created, correct
> // array, which has a dimension one size bigger.
> #local pointarray = correctarray;
>
> #local dim = dim+1;
>#end
I've just been wading through some of the old unconfirmed bugs, and
noticed this one. The above code does cause beta 7 to crash, but
redimensioning the array doesn't seem to be the cause. The following
scene also crashes beta 7, but no arrays are redimensioned.
#declare pointarray = array[5] {<0,0>,<0,1>,<2,1>,<3,0>,<2,.5>};
#local myarray = array[6];
#local i = 0;
#local myarray[5] = pointarray[0];
// The following line causes POV-Ray to crash
#local newarray = myarray;
The crash only seems to happen with 2d vectors. Arrays of floats, and
arrays of 3d vectors, 4d vectors etc. seem to be OK.
Oddly, if the "#local i = 1;" is removed, it doesn't crash.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|