MobilityDB  1.0
tpoint_posops.h
Go to the documentation of this file.
1 /*****************************************************************************
2  *
3  * This MobilityDB code is provided under The PostgreSQL License.
4  *
5  * Copyright (c) 2016-2021, Université libre de Bruxelles and MobilityDB
6  * contributors
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation for any purpose, without fee, and without a written
10  * agreement is hereby granted, provided that the above copyright notice and
11  * this paragraph and the following two paragraphs appear in all copies.
12  *
13  * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
14  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
15  * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
16  * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
17  * OF SUCH DAMAGE.
18  *
19  * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
20  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
21  * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
22  * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
23  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 
24  *
25  *****************************************************************************/
26 
32 #ifndef __TPOINT_POSOPS_H__
33 #define __TPOINT_POSOPS_H__
34 
35 #include <postgres.h>
36 #include <catalog/pg_type.h>
37 #include "general/temporal.h"
38 
39 /*****************************************************************************/
40 
41 extern Datum left_geom_tpoint(PG_FUNCTION_ARGS);
42 extern Datum overleft_geom_tpoint(PG_FUNCTION_ARGS);
43 extern Datum right_geom_tpoint(PG_FUNCTION_ARGS);
44 extern Datum overright_geom_tpoint(PG_FUNCTION_ARGS);
45 extern Datum below_geom_tpoint(PG_FUNCTION_ARGS);
46 extern Datum overbelow_geom_tpoint(PG_FUNCTION_ARGS);
47 extern Datum above_geom_tpoint(PG_FUNCTION_ARGS);
48 extern Datum overabove_geom_tpoint(PG_FUNCTION_ARGS);
49 extern Datum front_geom_tpoint(PG_FUNCTION_ARGS);
50 extern Datum overfront_geom_tpoint(PG_FUNCTION_ARGS);
51 extern Datum back_geom_tpoint(PG_FUNCTION_ARGS);
52 extern Datum overback_geom_tpoint(PG_FUNCTION_ARGS);
53 
54 extern Datum left_tpoint_geom(PG_FUNCTION_ARGS);
55 extern Datum overleft_tpoint_geom(PG_FUNCTION_ARGS);
56 extern Datum right_tpoint_geom(PG_FUNCTION_ARGS);
57 extern Datum overright_tpoint_geom(PG_FUNCTION_ARGS);
58 extern Datum above_tpoint_geom(PG_FUNCTION_ARGS);
59 extern Datum overabove_tpoint_geom(PG_FUNCTION_ARGS);
60 extern Datum below_tpoint_geom(PG_FUNCTION_ARGS);
61 extern Datum overbelow_tpoint_geom(PG_FUNCTION_ARGS);
62 extern Datum front_tpoint_geom(PG_FUNCTION_ARGS);
63 extern Datum overfront_tpoint_geom(PG_FUNCTION_ARGS);
64 extern Datum back_tpoint_geom(PG_FUNCTION_ARGS);
65 extern Datum overback_tpoint_geom(PG_FUNCTION_ARGS);
66 
67 extern Datum left_stbox_tpoint(PG_FUNCTION_ARGS);
68 extern Datum overleft_stbox_tpoint(PG_FUNCTION_ARGS);
69 extern Datum right_stbox_tpoint(PG_FUNCTION_ARGS);
70 extern Datum overright_stbox_tpoint(PG_FUNCTION_ARGS);
71 extern Datum below_stbox_tpoint(PG_FUNCTION_ARGS);
72 extern Datum overbelow_stbox_tpoint(PG_FUNCTION_ARGS);
73 extern Datum above_stbox_tpoint(PG_FUNCTION_ARGS);
74 extern Datum overabove_stbox_tpoint(PG_FUNCTION_ARGS);
75 extern Datum front_stbox_tpoint(PG_FUNCTION_ARGS);
76 extern Datum overfront_stbox_tpoint(PG_FUNCTION_ARGS);
77 extern Datum back_stbox_tpoint(PG_FUNCTION_ARGS);
78 extern Datum overback_stbox_tpoint(PG_FUNCTION_ARGS);
79 extern Datum before_stbox_tpoint(PG_FUNCTION_ARGS);
80 extern Datum overbefore_stbox_tpoint(PG_FUNCTION_ARGS);
81 extern Datum after_stbox_tpoint(PG_FUNCTION_ARGS);
82 extern Datum overafter_stbox_tpoint(PG_FUNCTION_ARGS);
83 
84 extern Datum left_tpoint_stbox(PG_FUNCTION_ARGS);
85 extern Datum overleft_tpoint_stbox(PG_FUNCTION_ARGS);
86 extern Datum right_tpoint_stbox(PG_FUNCTION_ARGS);
87 extern Datum overright_tpoint_stbox(PG_FUNCTION_ARGS);
88 extern Datum above_tpoint_stbox(PG_FUNCTION_ARGS);
89 extern Datum overabove_tpoint_stbox(PG_FUNCTION_ARGS);
90 extern Datum below_tpoint_stbox(PG_FUNCTION_ARGS);
91 extern Datum overbelow_tpoint_stbox(PG_FUNCTION_ARGS);
92 extern Datum front_tpoint_stbox(PG_FUNCTION_ARGS);
93 extern Datum overfront_tpoint_stbox(PG_FUNCTION_ARGS);
94 extern Datum back_tpoint_stbox(PG_FUNCTION_ARGS);
95 extern Datum overback_tpoint_stbox(PG_FUNCTION_ARGS);
96 extern Datum before_tpoint_stbox(PG_FUNCTION_ARGS);
97 extern Datum overbefore_tpoint_stbox(PG_FUNCTION_ARGS);
98 extern Datum after_tpoint_stbox(PG_FUNCTION_ARGS);
99 extern Datum overafter_tpoint_stbox(PG_FUNCTION_ARGS);
100 
101 extern Datum left_tpoint_tpoint(PG_FUNCTION_ARGS);
102 extern Datum overleft_tpoint_tpoint(PG_FUNCTION_ARGS);
103 extern Datum right_tpoint_tpoint(PG_FUNCTION_ARGS);
104 extern Datum overright_tpoint_tpoint(PG_FUNCTION_ARGS);
105 extern Datum above_tpoint_tpoint(PG_FUNCTION_ARGS);
106 extern Datum overabove_tpoint_tpoint(PG_FUNCTION_ARGS);
107 extern Datum below_tpoint_tpoint(PG_FUNCTION_ARGS);
108 extern Datum overbelow_tpoint_tpoint(PG_FUNCTION_ARGS);
109 extern Datum front_tpoint_tpoint(PG_FUNCTION_ARGS);
110 extern Datum overfront_tpoint_tpoint(PG_FUNCTION_ARGS);
111 extern Datum back_tpoint_tpoint(PG_FUNCTION_ARGS);
112 extern Datum overback_tpoint_tpoint(PG_FUNCTION_ARGS);
113 extern Datum before_tpoint_tpoint(PG_FUNCTION_ARGS);
114 extern Datum overbefore_tpoint_tpoint(PG_FUNCTION_ARGS);
115 extern Datum after_tpoint_tpoint(PG_FUNCTION_ARGS);
116 extern Datum overafter_tpoint_tpoint(PG_FUNCTION_ARGS);
117 
118 /*****************************************************************************/
119 
120 #endif
Datum left_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly to the left of the spatiotemporal box.
Definition: tpoint_posops.c:474
Datum after_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly after the spatiotemporal box.
Definition: tpoint_posops.c:614
Datum back_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly back of the temporal point.
Definition: tpoint_posops.c:411
Datum front_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly in front of the temporal point.
Definition: tpoint_posops.c:145
Datum overleft_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the right of the geometry.
Definition: tpoint_posops.c:198
Datum overright_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend to the left of the second one...
Definition: tpoint_posops.c:667
Datum below_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly below the spatiotemporal box.
Definition: tpoint_posops.c:514
Datum after_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly after the second one.
Definition: tpoint_posops.c:777
Datum below_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly below the temporal point.
Definition: tpoint_posops.c:105
Datum overbelow_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend above the second one.
Definition: tpoint_posops.c:687
Datum overbefore_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend after the temporal point.
Definition: tpoint_posops.c:441
Datum overabove_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend below the geometry.
Definition: tpoint_posops.c:258
Datum overleft_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend to the right of the temporal point...
Definition: tpoint_posops.c:321
Datum above_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly above the geometry.
Definition: tpoint_posops.c:248
Datum above_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly above the spatiotemporal box.
Definition: tpoint_posops.c:534
Datum left_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly to the left of the second one.
Definition: tpoint_posops.c:637
Datum right_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly to the right of the spatiotemporal box...
Definition: tpoint_posops.c:494
Datum left_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly to the left of the temporal point.
Definition: tpoint_posops.c:311
Datum front_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly in front of the geometry.
Definition: tpoint_posops.c:268
Datum front_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly in front of the temporal point.
Definition: tpoint_posops.c:391
Datum overback_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend to the front of the second one...
Definition: tpoint_posops.c:747
Datum overback_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the front of the spatiotemporal box...
Definition: tpoint_posops.c:584
Datum overright_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the left of the geometry.
Definition: tpoint_posops.c:218
Datum below_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly below the temporal point.
Definition: tpoint_posops.c:351
Datum overleft_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the right of the spatiotemporal box...
Definition: tpoint_posops.c:484
Datum overabove_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend below the temporal point.
Definition: tpoint_posops.c:381
Datum overabove_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend below the spatiotemporal box.
Definition: tpoint_posops.c:544
Datum overright_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the left of the spatiotemporal box...
Definition: tpoint_posops.c:504
Datum overfront_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend to the back of the second one...
Definition: tpoint_posops.c:727
Datum overleft_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend to the right of the second one...
Definition: tpoint_posops.c:647
Datum back_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly back of the temporal point.
Definition: tpoint_posops.c:165
Basic functions for temporal types of any subtype.
Datum back_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly back of the geometry.
Definition: tpoint_posops.c:288
Datum left_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly to the left of the geometry.
Definition: tpoint_posops.c:188
Datum left_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly to the left of the temporal point.
Definition: tpoint_posops.c:65
Datum overback_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend to the front of the temporal point...
Definition: tpoint_posops.c:421
Datum before_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly before the temporal point.
Definition: tpoint_posops.c:431
Datum overfront_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend to the back of the temporal point...
Definition: tpoint_posops.c:401
Datum overafter_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend before the temporal point. ...
Definition: tpoint_posops.c:461
Datum right_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly to the right of the temporal point.
Definition: tpoint_posops.c:85
Datum front_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly in front of the spatiotemporal box.
Definition: tpoint_posops.c:554
Datum overbelow_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend above the temporal point.
Definition: tpoint_posops.c:115
Datum above_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly above the second one.
Definition: tpoint_posops.c:697
Datum overafter_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend before the spatiotemporal box. ...
Definition: tpoint_posops.c:624
Datum before_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly before the spatiotemporal box.
Definition: tpoint_posops.c:594
Datum overabove_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend below the temporal point.
Definition: tpoint_posops.c:135
Datum overbelow_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend above the geometry.
Definition: tpoint_posops.c:238
Datum overright_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend to the left of the temporal point.
Definition: tpoint_posops.c:95
Datum overfront_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend to the back of the temporal point.
Definition: tpoint_posops.c:155
Datum overright_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend to the left of the temporal point...
Definition: tpoint_posops.c:341
Datum before_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly before the second one.
Definition: tpoint_posops.c:757
Datum front_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly in front of the second one.
Definition: tpoint_posops.c:717
Datum below_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly below the second one.
Definition: tpoint_posops.c:677
Datum overabove_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend below the second one.
Definition: tpoint_posops.c:707
Datum below_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly below the geometry.
Definition: tpoint_posops.c:228
Datum overback_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend to the front of the temporal point.
Definition: tpoint_posops.c:175
Datum overback_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the front of the geometry.
Definition: tpoint_posops.c:298
Datum right_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly to the right of the second one.
Definition: tpoint_posops.c:657
Datum overbelow_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend above the spatiotemporal box.
Definition: tpoint_posops.c:524
Datum overfront_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the back of the geometry.
Definition: tpoint_posops.c:278
Datum overleft_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry does not extend to the right of the temporal point.
Definition: tpoint_posops.c:75
Datum right_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly to the right of the temporal point.
Definition: tpoint_posops.c:331
Datum above_geom_tpoint(PG_FUNCTION_ARGS)
Returns true if the geometry is strictly above the temporal point.
Definition: tpoint_posops.c:125
Datum overbefore_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend after the spatiotemporal box.
Definition: tpoint_posops.c:604
Datum right_tpoint_geom(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly to the right of the geometry.
Definition: tpoint_posops.c:208
Datum after_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly after the temporal point.
Definition: tpoint_posops.c:451
Datum overbelow_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box does not extend above the temporal point.
Definition: tpoint_posops.c:361
Datum back_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point is strictly back of the second one.
Definition: tpoint_posops.c:737
Datum overbefore_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend after the second one.
Definition: tpoint_posops.c:767
Datum back_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point is strictly back of the spatiotemporal box.
Definition: tpoint_posops.c:574
Datum overfront_tpoint_stbox(PG_FUNCTION_ARGS)
Returns true if the temporal point does not extend to the back of the spatiotemporal box...
Definition: tpoint_posops.c:564
Datum above_stbox_tpoint(PG_FUNCTION_ARGS)
Returns true if the spatiotemporal box is strictly above the temporal point.
Definition: tpoint_posops.c:371
Datum overafter_tpoint_tpoint(PG_FUNCTION_ARGS)
Returns true if the first temporal point does not extend before the second one.
Definition: tpoint_posops.c:787