PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches
lwgeom_box3d.h
Go to the documentation of this file.
1/**********************************************************************
2 *
3 * PostGIS - Spatial Types for PostgreSQL
4 * http://postgis.net
5 *
6 * PostGIS is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * PostGIS is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with PostGIS. If not, see <http://www.gnu.org/licenses/>.
18 *
19 **********************************************************************
20 *
21 * Copyright 2009 Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
22 * Copyright 2009-2017 Paul Ramsey <pramsey@cleverelephant.ca>
23 * Copyright 2018 Darafei Praliaskouski <me@komzpa.net>
24 *
25 **********************************************************************/
26
27/* forward defs */
28Datum BOX3D_in(PG_FUNCTION_ARGS);
29Datum BOX3D_out(PG_FUNCTION_ARGS);
30Datum LWGEOM_to_BOX3D(PG_FUNCTION_ARGS);
31Datum BOX3D_to_LWGEOM(PG_FUNCTION_ARGS);
32Datum BOX3D_expand(PG_FUNCTION_ARGS);
33Datum BOX3D_to_BOX2D(PG_FUNCTION_ARGS);
34Datum BOX3D_to_BOX(PG_FUNCTION_ARGS);
35Datum BOX3D_xmin(PG_FUNCTION_ARGS);
36Datum BOX3D_ymin(PG_FUNCTION_ARGS);
37Datum BOX3D_zmin(PG_FUNCTION_ARGS);
38Datum BOX3D_xmax(PG_FUNCTION_ARGS);
39Datum BOX3D_ymax(PG_FUNCTION_ARGS);
40Datum BOX3D_zmax(PG_FUNCTION_ARGS);
41Datum BOX3D_combine(PG_FUNCTION_ARGS);
42Datum BOX3D_combine_BOX3D(PG_FUNCTION_ARGS);
43
44/*****************************************************************************
45 * BOX3D operators
46 *****************************************************************************/
47
48bool BOX3D_contains_internal(BOX3D *box1, BOX3D *box2);
49bool BOX3D_contained_internal(BOX3D *box1, BOX3D *box2);
50bool BOX3D_overlaps_internal(BOX3D *box1, BOX3D *box2);
51bool BOX3D_same_internal(BOX3D *box1, BOX3D *box2);
52bool BOX3D_left_internal(BOX3D *box1, BOX3D *box2);
53bool BOX3D_overleft_internal(BOX3D *box1, BOX3D *box2);
54bool BOX3D_right_internal(BOX3D *box1, BOX3D *box2);
55bool BOX3D_overright_internal(BOX3D *box1, BOX3D *box2);
56bool BOX3D_below_internal(BOX3D *box1, BOX3D *box2);
57bool BOX3D_overbelow_internal(BOX3D *box1, BOX3D *box2);
58bool BOX3D_above_internal(BOX3D *box1, BOX3D *box2);
59bool BOX3D_overabove_internal(BOX3D *box1, BOX3D *box2);
60bool BOX3D_front_internal(BOX3D *box1, BOX3D *box2);
61bool BOX3D_overfront_internal(BOX3D *box1, BOX3D *box2);
62bool BOX3D_back_internal(BOX3D *box1, BOX3D *box2);
63bool BOX3D_overback_internal(BOX3D *box1, BOX3D *box2);
64double BOX3D_distance_internal(BOX3D *box1, BOX3D *box2);
65
67Datum BOX3D_contains(PG_FUNCTION_ARGS);
68Datum BOX3D_contained(PG_FUNCTION_ARGS);
69Datum BOX3D_overlaps(PG_FUNCTION_ARGS);
70Datum BOX3D_same(PG_FUNCTION_ARGS);
71Datum BOX3D_left(PG_FUNCTION_ARGS);
72Datum BOX3D_overleft(PG_FUNCTION_ARGS);
73Datum BOX3D_right(PG_FUNCTION_ARGS);
74Datum BOX3D_overright(PG_FUNCTION_ARGS);
75Datum BOX3D_below(PG_FUNCTION_ARGS);
76Datum BOX3D_overbelow(PG_FUNCTION_ARGS);
77Datum BOX3D_above(PG_FUNCTION_ARGS);
78Datum BOX3D_overabove(PG_FUNCTION_ARGS);
79Datum BOX3D_front(PG_FUNCTION_ARGS);
80Datum BOX3D_overfront(PG_FUNCTION_ARGS);
81Datum BOX3D_back(PG_FUNCTION_ARGS);
82Datum BOX3D_overback(PG_FUNCTION_ARGS);
83Datum BOX3D_distance(PG_FUNCTION_ARGS);
bool BOX3D_above_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_back_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_to_BOX(PG_FUNCTION_ARGS)
Datum BOX3D_overleft(PG_FUNCTION_ARGS)
Datum BOX3D_overlaps(PG_FUNCTION_ARGS)
Datum BOX3D_to_LWGEOM(PG_FUNCTION_ARGS)
Datum BOX3D_same(PG_FUNCTION_ARGS)
Datum BOX3D_ymax(PG_FUNCTION_ARGS)
Datum BOX3D_zmax(PG_FUNCTION_ARGS)
Datum BOX3D_back(PG_FUNCTION_ARGS)
Datum BOX3D_xmax(PG_FUNCTION_ARGS)
Datum BOX3D_combine(PG_FUNCTION_ARGS)
Datum BOX3D_distance(PG_FUNCTION_ARGS)
Datum BOX3D_zmin(PG_FUNCTION_ARGS)
double BOX3D_distance_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_overlaps_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_overright(PG_FUNCTION_ARGS)
bool BOX3D_contains_internal(BOX3D *box1, BOX3D *box2)
Needed for SP-GiST support.
Datum BOX3D_to_BOX2D(PG_FUNCTION_ARGS)
bool BOX3D_overabove_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_out(PG_FUNCTION_ARGS)
bool BOX3D_right_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_overbelow(PG_FUNCTION_ARGS)
Datum BOX3D_in(PG_FUNCTION_ARGS)
bool BOX3D_overback_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_overleft_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_above(PG_FUNCTION_ARGS)
bool BOX3D_below_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_below(PG_FUNCTION_ARGS)
Datum BOX3D_overback(PG_FUNCTION_ARGS)
Datum BOX3D_contains(PG_FUNCTION_ARGS)
Needed for SP-GiST support.
Datum BOX3D_expand(PG_FUNCTION_ARGS)
Datum BOX3D_contained(PG_FUNCTION_ARGS)
bool BOX3D_left_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_overright_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_same_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_contained_internal(BOX3D *box1, BOX3D *box2)
Datum LWGEOM_to_BOX3D(PG_FUNCTION_ARGS)
Datum BOX3D_front(PG_FUNCTION_ARGS)
Datum BOX3D_xmin(PG_FUNCTION_ARGS)
bool BOX3D_front_internal(BOX3D *box1, BOX3D *box2)
bool BOX3D_overfront_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_overabove(PG_FUNCTION_ARGS)
Datum BOX3D_overfront(PG_FUNCTION_ARGS)
bool BOX3D_overbelow_internal(BOX3D *box1, BOX3D *box2)
Datum BOX3D_combine_BOX3D(PG_FUNCTION_ARGS)
Datum BOX3D_ymin(PG_FUNCTION_ARGS)
Datum BOX3D_right(PG_FUNCTION_ARGS)
Datum BOX3D_left(PG_FUNCTION_ARGS)