PostGIS  3.7.0dev-r@@SVN_REVISION@@
intervaltree.c File Reference
#include "intervaltree.h"
Include dependency graph for intervaltree.c:

Go to the source code of this file.

Functions

void itree_free (IntervalTree *itree)
 
static uint32_t itree_num_nodes_pointarray (const POINTARRAY *pa)
 
static uint32_t itree_num_nodes_polygon (const LWPOLY *poly)
 
static uint32_t itree_num_nodes_multipolygon (const LWMPOLY *mpoly)
 
static uint32_t itree_num_rings (const LWMPOLY *mpoly)
 
static IntervalTreeNodeitree_new_node (IntervalTree *itree)
 
static uint32_t itree_merge_nodes (IntervalTree *itree, uint32_t nodes_remaining)
 
static int itree_edge_invalid (const POINT2D *pt1, const POINT2D *pt2)
 
static void itree_add_pointarray (IntervalTree *itree, const POINTARRAY *pa)
 
static IntervalTreeitree_from_polygon (const LWPOLY *poly)
 
static IntervalTreeitree_from_multipolygon (const LWMPOLY *mpoly)
 
IntervalTreeitree_from_lwgeom (const LWGEOM *geom)
 
static double itree_segment_side (const POINT2D *seg1, const POINT2D *seg2, const POINT2D *point)
 
static int itree_point_on_segment (const POINT2D *seg1, const POINT2D *seg2, const POINT2D *point)
 
static IntervalTreeResult itree_point_in_ring_recursive (const IntervalTreeNode *node, const POINTARRAY *pa, const POINT2D *pt, int *winding_number)
 
static IntervalTreeResult itree_point_in_ring (const IntervalTree *itree, uint32_t ringNumber, const POINT2D *pt)
 
IntervalTreeResult itree_point_in_multipolygon (const IntervalTree *itree, const LWPOINT *point)