|
From: Ethan A M. <merritt@u.washington.edu> - 2007-10-28 00:56:01
|
On Saturday 27 October 2007 13:07, Hans-Bernhard Br=F6ker wrote:
>=20
> The problem itself is an internal constraint violation in the hidden3d=20
> algorithm. Something broke the code designed to ensure that=20
> out-of-range data points don't make it to that point of the algorithm.
I first tried ./configure --disable-h3d-quadtree
The problem was still there.
Reverting hidden3d.c to cvs version 1.54 -> problem is still there
Reverting hidden3d.c to cvs version 1.53 -> problem is no longer evident
The ChangeLog entry for 1.54 is
2005-12-06 Hans-Bernhard Broeker <br...@ph...>
* src/hidden3d.c (COORD_TO_TREECELL, COORD_TO_BITMASK): Avoid
overflow by undoing effect of surface_scale before mapping to
integers.
(store_polygon): Add assert()s to internal macros GET_MIN,
GET_MAX, to catch problems not handled by above changes.
(in_front): Avoid accessing qlist[-1]. Make sure
p_list[] is always filled, even if doing a single-vertex pseudo
edge.
So it's your change. Do you want to have a look at it?
BUT....
=3D=3D=3D=3D=3D=3D=3D> THIS IS ONLY TRUE FOR --disable-h3d-quadtree=20
If I leave the quadtree code enabled, I get this failure even after reverti=
ng to 1.53 =20
=46urthermore, if I go back and rebuild from the 4.0 source with --enable-h=
3d-quadtree
then it fails.
So I there are two separate issues here:
=20
1) We changed the default 4.2 configuration to --enable-h3d-quadtree
2) The non-quadtree version was subsequently broken by the patch from 1.53 =
=2D> 1.54
=2D-=20
Ethan A Merritt
|