PostGIS
2.5.7dev-r@@SVN_REVISION@@
|
#include "effectivearea.h"
Go to the source code of this file.
Functions | |
EFFECTIVE_AREAS * | initiate_effectivearea (const POINTARRAY *inpts) |
void | destroy_effectivearea (EFFECTIVE_AREAS *ea) |
static MINHEAP | initiate_minheap (int npoints) |
static void | destroy_minheap (MINHEAP tree) |
static double | triarea2d (const double *P1, const double *P2, const double *P3) |
Calculate the area of a triangle in 2d. More... | |
static double | triarea3d (const double *P1, const double *P2, const double *P3) |
Calculate the area of a triangle in 3d space. More... | |
static int | cmpfunc (const void *a, const void *b) |
We create the minheap by ordering the minheap array by the areas in the areanode structs that the minheap keys refer to. More... | |
static void | down (MINHEAP *tree, areanode *arealist, int parent) |
Sift Down. More... | |
static void | up (MINHEAP *tree, __attribute__((__unused__)) areanode *e, int c) |
Sift Up. More... | |
static areanode * | minheap_pop (MINHEAP *tree, areanode *arealist) |
Get a reference to the point with the smallest effective area from the root of the min heap. More... | |
static void | minheap_update (MINHEAP *tree, areanode *arealist, int idx) |
The member of the minheap at index idx is changed. More... | |
static void | tune_areas (EFFECTIVE_AREAS *ea, int avoid_collaps, int set_area, double trshld) |
To get the effective area, we have to check what area a point results in when all smaller areas are eliminated. More... | |
void | ptarray_calc_areas (EFFECTIVE_AREAS *ea, int avoid_collaps, int set_area, double trshld) |
We calculate the effective area for the first time. More... | |
static POINTARRAY * | ptarray_set_effective_area (POINTARRAY *inpts, int avoid_collaps, int set_area, double trshld) |
static LWLINE * | lwline_set_effective_area (const LWLINE *iline, int set_area, double trshld) |
static LWPOLY * | lwpoly_set_effective_area (const LWPOLY *ipoly, int set_area, double trshld) |
static LWCOLLECTION * | lwcollection_set_effective_area (const LWCOLLECTION *igeom, int set_area, double trshld) |
LWGEOM * | lwgeom_set_effective_area (const LWGEOM *igeom, int set_area, double trshld) |