MobilityDB
1.3
Loading...
Searching...
No Matches
meos
include
geo
stbox.h
Go to the documentation of this file.
1
/*****************************************************************************
2
*
3
* This MobilityDB code is provided under The PostgreSQL License.
4
* Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB
5
* contributors
6
*
7
* MobilityDB includes portions of PostGIS version 3 source code released
8
* under the GNU General Public License (GPLv2 or later).
9
* Copyright (c) 2001-2025, PostGIS contributors
10
*
11
* Permission to use, copy, modify, and distribute this software and its
12
* documentation for any purpose, without fee, and without a written
13
* agreement is hereby granted, provided that the above copyright notice and
14
* this paragraph and the following two paragraphs appear in all copies.
15
*
16
* IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
17
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
18
* LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
19
* EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
20
* OF SUCH DAMAGE.
21
*
22
* UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
23
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
24
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
25
* AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
26
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
27
*
28
*****************************************************************************/
29
34
#ifndef __STBOX_H__
35
#define __STBOX_H__
36
37
/* PostgreSQL */
38
#include <
postgres.h
>
39
/* PostGIS */
40
#include <liblwgeom.h>
41
/* MEOS */
42
#include <
meos.h
>
43
44
/*****************************************************************************
45
* fmgr macros
46
*****************************************************************************/
47
48
#define DatumGetSTboxP(X) ((STBox *) DatumGetPointer(X))
49
#define STboxPGetDatum(X) PointerGetDatum(X)
50
#define PG_GETARG_STBOX_P(n) DatumGetSTboxP(PG_GETARG_DATUM(n))
51
#define PG_RETURN_STBOX_P(x) return STboxPGetDatum(x)
52
53
/*****************************************************************************/
54
55
/* Set an STBox from a <Type> */
56
57
extern
void
point_get_coords
(
const
GSERIALIZED
*point,
bool
hasz,
58
double
*x,
double
*y,
double
*z);
59
extern
void
tstzset_stbox_slice
(
Datum
tsdatum,
STBox
*box);
60
extern
void
tstzspanset_stbox_slice
(
Datum
psdatum,
STBox
*box);
61
62
/*****************************************************************************/
63
64
#endif
meos.h
External API of the Mobility Engine Open Source (MEOS) library.
postgres.h
Datum
uintptr_t Datum
Definition:
postgres_ext_defs.in.h:7
tstzspanset_stbox_slice
void tstzspanset_stbox_slice(Datum psdatum, STBox *box)
Peek into a span set datum to find the bounding box.
Definition:
stbox.c:625
point_get_coords
void point_get_coords(const GSERIALIZED *point, bool hasz, double *x, double *y, double *z)
Get the coordinates from a geometry/geography point.
Definition:
stbox.c:738
tstzset_stbox_slice
void tstzset_stbox_slice(Datum tsdatum, STBox *box)
Peek into a set datum to find the bounding box.
Definition:
stbox.c:576
GSERIALIZED
Definition:
postgis_ext_defs.in.h:170
STBox
Structure to represent spatiotemporal boxes.
Definition:
meos.h:134
Generated by
1.9.5