PostGIS  3.4.0dev-r@@SVN_REVISION@@
lwgeom_box3d.c File Reference
#include "postgres.h"
#include "fmgr.h"
#include "utils/elog.h"
#include "utils/geo_decls.h"
#include "gserialized_spgist_3d.h"
#include "../postgis_config.h"
#include "lwgeom_pg.h"
#include "liblwgeom.h"
#include "liblwgeom_internal.h"
#include "lwgeom_box3d.h"
#include <math.h>
#include <float.h>
#include <string.h>
#include <stdio.h>
Include dependency graph for lwgeom_box3d.c:

Go to the source code of this file.

Functions

 PG_FUNCTION_INFO_V1 (BOX3D_in)
 BOX3D_in - takes a string rep of BOX3D and returns internal rep. More...
 
Datum BOX3D_in (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_out)
 Takes an internal rep of a BOX3D and returns a string rep. More...
 
Datum BOX3D_out (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_to_BOX2D)
 
Datum BOX3D_to_BOX2D (PG_FUNCTION_ARGS)
 
static void box3d_to_box_p (BOX3D *box, BOX *out)
 
 PG_FUNCTION_INFO_V1 (BOX3D_to_BOX)
 
Datum BOX3D_to_BOX (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_to_LWGEOM)
 
Datum BOX3D_to_LWGEOM (PG_FUNCTION_ARGS)
 
void expand_box3d (BOX3D *box, double d)
 Expand given box of 'd' units in all directions. More...
 
static void expand_box3d_xyz (BOX3D *box, double dx, double dy, double dz)
 
 PG_FUNCTION_INFO_V1 (BOX3D_expand)
 
Datum BOX3D_expand (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (LWGEOM_to_BOX3D)
 convert a GSERIALIZED to BOX3D More...
 
Datum LWGEOM_to_BOX3D (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_xmin)
 
Datum BOX3D_xmin (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_ymin)
 
Datum BOX3D_ymin (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_zmin)
 
Datum BOX3D_zmin (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_xmax)
 
Datum BOX3D_xmax (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_ymax)
 
Datum BOX3D_ymax (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_zmax)
 
Datum BOX3D_zmax (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_combine)
 Used in the ST_Extent and ST_Extent3D aggregates, does not read the serialized cached bounding box (since that is floating point) but calculates the box in full from the underlying geometry. More...
 
Datum BOX3D_combine (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_combine_BOX3D)
 
Datum BOX3D_combine_BOX3D (PG_FUNCTION_ARGS)
 
 PG_FUNCTION_INFO_V1 (BOX3D_construct)
 
Datum BOX3D_construct (PG_FUNCTION_ARGS)
 
bool BOX3D_contains_internal (BOX3D *box1, BOX3D *box2)
 needed for sp-gist support PostgreSQL 11+ More...
 
 PG_FUNCTION_INFO_V1 (BOX3D_contains)
 
PGDLLEXPORT Datum BOX3D_contains (PG_FUNCTION_ARGS)
 needed for sp-gist support PostgreSQL 11+ More...
 
bool BOX3D_contained_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_contained)
 
PGDLLEXPORT Datum BOX3D_contained (PG_FUNCTION_ARGS)
 
bool BOX3D_overlaps_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overlaps)
 
PGDLLEXPORT Datum BOX3D_overlaps (PG_FUNCTION_ARGS)
 
bool BOX3D_same_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_same)
 
PGDLLEXPORT Datum BOX3D_same (PG_FUNCTION_ARGS)
 
bool BOX3D_left_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_left)
 
PGDLLEXPORT Datum BOX3D_left (PG_FUNCTION_ARGS)
 
bool BOX3D_overleft_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overleft)
 
PGDLLEXPORT Datum BOX3D_overleft (PG_FUNCTION_ARGS)
 
bool BOX3D_right_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_right)
 
PGDLLEXPORT Datum BOX3D_right (PG_FUNCTION_ARGS)
 
bool BOX3D_overright_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overright)
 
PGDLLEXPORT Datum BOX3D_overright (PG_FUNCTION_ARGS)
 
bool BOX3D_below_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_below)
 
PGDLLEXPORT Datum BOX3D_below (PG_FUNCTION_ARGS)
 
bool BOX3D_overbelow_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overbelow)
 
PGDLLEXPORT Datum BOX3D_overbelow (PG_FUNCTION_ARGS)
 
bool BOX3D_above_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_above)
 
PGDLLEXPORT Datum BOX3D_above (PG_FUNCTION_ARGS)
 
bool BOX3D_overabove_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overabove)
 
PGDLLEXPORT Datum BOX3D_overabove (PG_FUNCTION_ARGS)
 
bool BOX3D_front_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_front)
 
PGDLLEXPORT Datum BOX3D_front (PG_FUNCTION_ARGS)
 
bool BOX3D_overfront_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overfront)
 
PGDLLEXPORT Datum BOX3D_overfront (PG_FUNCTION_ARGS)
 
bool BOX3D_back_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_back)
 
PGDLLEXPORT Datum BOX3D_back (PG_FUNCTION_ARGS)
 
bool BOX3D_overback_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_overback)
 
PGDLLEXPORT Datum BOX3D_overback (PG_FUNCTION_ARGS)
 
double BOX3D_distance_internal (BOX3D *box1, BOX3D *box2)
 
 PG_FUNCTION_INFO_V1 (BOX3D_distance)
 
PGDLLEXPORT Datum BOX3D_distance (PG_FUNCTION_ARGS)