Definition at line 3053 of file lwgeom_topo.c.
3055{
3056 int i;
3058
3059
3061
3062 LWDEBUGF(1,
"Ring's 'from' point (%d) is %g,%g", from, p1.
x, p1.
y);
3063
3064
3065
3066 for ( i=0; i<numedges; ++i )
3067 {
3072 int match = 0;
3073 uint32_t j;
3074
3075
3077 {
3080 ") on both sides, skipping",
3082 continue;
3083 }
3084
3086 {
3088 " has only %"PRIu32" points",
3090 continue;
3091 }
3092
3093#if 0
3094 size_t sz;
3098#endif
3099
3100
3101
3105 LWDEBUGF(1,
"Rings's 'from' point is still %g,%g", p1.
x, p1.
y);
3107 {
3108 LWDEBUG(1,
"P2D_SAME_STRICT(p1,p2) returned true");
3110 " matches ring vertex %d", isoe->
edge_id, from);
3111
3112 for ( j=1; j<epa->
npoints; ++j )
3113 {
3117
3119
3121 LWDEBUGF(1,
"Ring's point %d is %g,%g",
3122 from+1, pt.
x, pt.
y);
3124 break;
3125 }
3126#if POSTGIS_DEBUG_LEVEL > 0
3127 if ( match ) {
3129 " matches ring vertex %d", isoe->
edge_id, from+1);
3130 } else {
3132 " does not match ring vertex %d", isoe->
edge_id, from+1);
3133 }
3134#endif
3135 }
3136
3137 if ( ! match )
3138 {
3145 {
3147 " matches ring vertex %d", isoe->
edge_id, from);
3148
3149 for ( j=2; j<=epa->
npoints; j++ )
3150 {
3154
3156
3158 LWDEBUGF(1,
"Ring's point %d is %g,%g",
3159 from+1, pt.
x, pt.
y);
3161 break;
3162 }
3163 }
3164#if POSTGIS_DEBUG_LEVEL > 0
3165 if ( match ) {
3167 " matches ring vertex %d", isoe->
edge_id, from+1);
3168 } else {
3170 " does not match ring vertex %d", isoe->
edge_id, from+1);
3171 }
3172#endif
3173 }
3174
3175 if ( match ) return i;
3176
3177 }
3178
3179 return -1;
3180}
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().