Test each segment of pa against each arc of pb for distance.
Definition at line 1257 of file measures.c.
1258{
1259 uint32_t t, u;
1266
1268
1270 {
1271 lwerror(
"lw_dist2d_ptarray_ptarrayarc called with non-arc input");
1273 }
1274
1276 {
1277 lwerror(
"lw_dist2d_ptarray_ptarrayarc does not currently support DIST_MAX mode");
1279 }
1280 else
1281 {
1283 for (t = 1; t < pa->
npoints; t++)
1284 {
1287 for (u = 1; u < pb->
npoints; u += 2)
1288 {
1292
1294
1295
1298
1299 B1 = B3;
1300 }
1301 A1 = A2;
1302 }
1303 }
1305}
#define LW_TRUE
Return types for functions with status returns.
#define LWDEBUGF(level, msg,...)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static const POINT2D * getPoint2d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
int lw_dist2d_seg_arc(const POINT2D *A1, const POINT2D *A2, const POINT2D *B1, const POINT2D *B2, const POINT2D *B3, DISTPTS *dl)
Calculate the shortest distance between an arc and an edge.
References DIST_MAX, DIST_MIN, DISTPTS::distance, getPoint2d_cp(), lw_dist2d_seg_arc(), LW_FALSE, LW_TRUE, LWDEBUGF, lwerror(), DISTPTS::mode, POINTARRAY::npoints, DISTPTS::tolerance, and DISTPTS::twisted.
Referenced by lw_dist2d_line_circstring(), lw_dist2d_tri_circstring(), and test_lw_dist2d_ptarray_ptarrayarc().