[postgis-users] Bug? Strange code in lwline_crossing_direction()
Kohei KaiGai
kaigai at heterodb.com
Sun Apr 19 21:42:04 PDT 2020
Hello Darafei,
It looks to me the first_cross should be SEG_CROSS_RIGHT, not
SEG_CROSS_LEFT here.
If it is expected, L574 shall never become true. Right?
| at L526:
| if ( this_cross == SEG_CROSS_RIGHT )
| {
| LWDEBUG(4,"this_cross == SEG_CROSS_RIGHT");
| cross_right++;
| if ( ! first_cross )
| first_cross = SEG_CROSS_LEFT;
| }
Thanks,
2020年4月19日(日) 23:31 Darafei "Komяpa" Praliaskouski <me at komzpa.net>:
>
> Hi,
>
> the link you have is setting variable this_cross, and L526 sets
> first_cross from it if it was not set and there is LEFT or RIGHT cross
> (not no-cross and not COLLINEAR). Looks expected to me.
>
> On Sat, Apr 18, 2020 at 6:32 PM Kohei KaiGai <kaigai at heterodb.com> wrote:
> >
> > Hello,
> >
> > I noticed a strange code at liblwgeom/lwalgorithm.c
> > https://github.com/postgis/postgis/blob/master/liblwgeom/lwalgorithm.c#L509
> >
> > lwline_crossing_direction() is the main logic of ST_LineCrossingDirection.
> > It walks on all the edges of the supplied geometry (line), and calls
> > lw_segment_intersects to check intersections.
> >
> > It looks to me the local variable 'first_cross' is used to remember the first
> > result from the lw_segment_intersects, however, it saves different value
> > on the second if-block at L526.
> >
> > Is it expected? Or, just mistake by copy & paste?
> >
> > Best regards,
> > --
> > HeteroDB, Inc / The PG-Strom Project
> > KaiGai Kohei <kaigai at heterodb.com>
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/postgis-users
>
>
>
> --
> Darafei Praliaskouski
> Support me: http://patreon.com/komzpa
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-users
--
HeteroDB, Inc / The PG-Strom Project
KaiGai Kohei <kaigai at heterodb.com>
More information about the postgis-users
mailing list