[geos-devel] nasty ring bug

strk at refractions.net strk at refractions.net
Wed Feb 21 04:28:39 EST 2007


All tests i nGEOS testsuite still pass with this patch,
and the badguy.xml testcase doesn't abort. Still, the result
for badguy.xml doesn't seem completely fine. A couple of cirlcles
are missing from the obtained result.
Can you send me the bug_nasty.xml and hole_red.xml files to include
in repository ?
Can you find the badguy.xml testcase or should I send it to you ?

--strk;

On Wed, Feb 21, 2007 at 12:25:39AM -0500, Carl Anderson wrote:

> strk,
> 
> This patch avoids the defective logic (that exists later, somewhere)
> It makes a logic short circuit more robust instead of fixing the 
> underlying logic defect.
> 
> So be it.
> It works for me..  for now.
> 
> I'll let you know how further testing goes.
> 
> bug_nasty.xml
> and
> hole_red.xml
> 
> both pass testing with this patch.
> 
> 
> --- source/operation/buffer/SubgraphDepthLocater.cpp    (revision 1972)
> +++ source/operation/buffer/SubgraphDepthLocater.cpp    (working copy)
> @@ -180,11 +180,16 @@
>        {
>                BufferSubgraph *bsg=(*subgraphs)[i];
> 
> +#ifdef GEOS_DEBUG > 1
> +       std::cerr << "findStabbedSegments envelope: " <<  
> bsg->getEnvelope() << " RayLeftpt: " << stabbingRayLeftPt << std::endl;
> +#endif
>                // optimization - don't bother checking subgraphs
>                // which the ray does not intersect
>                Envelope *env = bsg->getEnvelope();
>                if ( stabbingRayLeftPt.y < env->getMinY()
> -                       || stabbingRayLeftPt.y > env->getMaxY() )
> +                       || stabbingRayLeftPt.y > env->getMaxY()
> +                       || stabbingRayLeftPt.x < env->getMinX()
> +                       || stabbingRayLeftPt.x > env->getMaxX())
>                                continue;
> 
>                findStabbedSegments(stabbingRayLeftPt, 
> bsg->getDirectedEdges(),
> 
> 
> C.
> 
> 
> 
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel

-- 

 ()   ASCII Ribbon Campaign
 /\   Keep it simple! 




More information about the geos-devel mailing list