Definition at line 461 of file intervaltree.c.
462{
463 uint32_t i = 0;
466
467
470
471
473 if (!pt || !(isfinite(pt->
x) && isfinite(pt->
y)))
475
476
477 for (uint32_t p = 0; p < itree->
numPolys; p++)
478 {
480
481
482 if (ringCount == 0) continue;
483
484
486
487
490
491
493 {
495 {
497
498
501
502
503
504
505
506
507
509 goto holes_done;
510 }
512 }
513
514 holes_done:
515
516 i += ringCount;
517 }
518
519
521}
char result[OUT_DOUBLE_BUFFER_SIZE]
static IntervalTreeResult itree_point_in_ring(const IntervalTree *itree, uint32_t ringNumber, const POINT2D *pt)
int lwpoint_is_empty(const LWPOINT *point)
static const POINT2D * getPoint2d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
References getPoint2d_cp(), ITREE_BOUNDARY, ITREE_INSIDE, ITREE_OUTSIDE, itree_point_in_ring(), lwpoint_is_empty(), IntervalTree::numPolys, LWPOINT::point, r, result, IntervalTree::ringCounts, POINT2D::x, and POINT2D::y.
Referenced by itree_pip_contains(), itree_pip_covers(), itree_pip_intersects(), ST_IntersectsIntervalTree(), and test_itree_once().