Definition at line 2936 of file lwgeom_topo.c.
2938{
2939 int i;
2941
2942
2944
2945 LWDEBUGF(1,
"Ring's 'from' point (%d) is %g,%g", from, p1.
x, p1.
y);
2946
2947
2948
2949 for ( i=0; i<numedges; ++i )
2950 {
2955 int match = 0;
2956 uint32_t j;
2957
2958
2960 {
2963 ") on both sides, skipping",
2965 continue;
2966 }
2967
2969 {
2971 " has only %"PRIu32" points",
2973 continue;
2974 }
2975
2976#if 0
2977 size_t sz;
2981#endif
2982
2983
2984
2988 LWDEBUGF(1,
"Rings's 'from' point is still %g,%g", p1.
x, p1.
y);
2990 {
2991 LWDEBUG(1,
"P2D_SAME_STRICT(p1,p2) returned true");
2993 " matches ring vertex %d", isoe->
edge_id, from);
2994
2995 for ( j=1; j<epa->
npoints; ++j )
2996 {
3000
3002
3004 LWDEBUGF(1,
"Ring's point %d is %g,%g",
3005 from+1, pt.
x, pt.
y);
3007 break;
3008 }
3009#if POSTGIS_DEBUG_LEVEL > 0
3010 if ( match ) {
3012 " matches ring vertex %d", isoe->
edge_id, from+1);
3013 } else {
3015 " does not match ring vertex %d", isoe->
edge_id, from+1);
3016 }
3017#endif
3018 }
3019
3020 if ( ! match )
3021 {
3028 {
3030 " matches ring vertex %d", isoe->
edge_id, from);
3031
3032 for ( j=2; j<=epa->
npoints; j++ )
3033 {
3037
3039
3041 LWDEBUGF(1,
"Ring's point %d is %g,%g",
3042 from+1, pt.
x, pt.
y);
3044 break;
3045 }
3046 }
3047#if POSTGIS_DEBUG_LEVEL > 0
3048 if ( match ) {
3050 " matches ring vertex %d", isoe->
edge_id, from+1);
3051 } else {
3053 " does not match ring vertex %d", isoe->
edge_id, from+1);
3054 }
3055#endif
3056 }
3057
3058 if ( match ) return i;
3059
3060 }
3061
3062 return -1;
3063}
char * lwgeom_to_wkt(const LWGEOM *geom, uint8_t variant, int precision, size_t *size_out)
WKT emitter function.
int getPoint2d_p(const POINTARRAY *pa, uint32_t n, POINT2D *point)
LWGEOM * lwline_as_lwgeom(const LWLINE *obj)
#define P2D_SAME_STRICT(a, b)
#define LWDEBUG(level, msg)
#define LWDEBUGF(level, msg,...)
References LWT_ISO_EDGE::edge_id, LWT_ISO_EDGE::face_left, LWT_ISO_EDGE::face_right, LWT_ISO_EDGE::geom, getPoint2d_p(), LWDEBUG, LWDEBUGF, lwgeom_to_wkt(), lwline_as_lwgeom(), LWTFMT_ELEMID, POINTARRAY::npoints, P2D_SAME_STRICT, LWLINE::points, WKT_EXTENDED, POINT2D::x, and POINT2D::y.
Referenced by lwt_GetFaceEdges().