Hi, As I tried to fix a bug in PolygonHandler (see end of e-mail), I noticed some other strange pieces of code in this class. I'd like to clean it a bit, but it is a very useful class and I don't want to break a working code. If Larry or somebody else would be kind enough to check the following propositions :
line 43/44 (testPoint.x == p.x) && (testPoint.y == p.y) && ((testPoint.z == p.z) || (!(testPoint.z == testPoint.z))) //nan test; x!=x iff x is nan the test on z sounds very strange (and the comment does not help). I think the whole test could be simplified into testPoint.equals3D(p) (equals2D woud be probably enough) Moreover, if we simplify the test line 218 as proposed hereafter, it seems that the whole method can be dropped line 170 if(points.length == 0 || points.length > 3){ I don't understand why 1 and 2 points rings are filtered and not 0 point rings, but it may be necessary to hold some kind of empty geometries line 218 CGAlgorithms.isPointInRing(jPt, coordList) || pointInList(jPt, coordList) Can be simplified into CGAlgorithms.isPointInRing(jPt, coordList) because according to the documentation, isPointInRing includes the case where jPt lies on the ring formed by coordList. line 285 same test as above Here, I already simplified into CGAlgorithms.isPointInRing(jPt, coordList) @Larry : I replaced a quick 'ring in ring' test based on two consecutive PointInRing tests (I think you gave me the code) by a full Polygon.contains(Polygon) test to avoid side effects as the one mentionned by Loren on the user list. It may slow down shapefile parsing a bit (I did not measure). Michaël ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel