34#ifndef __MEOS_CBUFFER_H__
35#define __MEOS_CBUFFER_H__
64 #define VALIDATE_CBUFFERSET(set, ret) \
66 if (! ensure_not_null((void *) (set)) || \
67 ! ensure_set_isof_type((set), T_CBUFFERSET) ) \
71 #define VALIDATE_CBUFFERSET(set, ret) \
74 assert((set)->settype == T_CBUFFERSET); \
85 #define VALIDATE_TCBUFFER(temp, ret) \
87 if (! ensure_not_null((void *) (temp)) || \
88 ! ensure_temporal_isof_type((Temporal *) (temp), T_TCBUFFER) ) \
92 #define VALIDATE_TCBUFFER(temp, ret) \
95 assert(((Temporal *) (temp))->temptype == T_TCBUFFER); \
Set * tcbuffer_radius(const Temporal *temp)
Return the array of radii of a temporal circular buffer @csqlfn Tcbuffer_points()
Definition: tcbuffer.c:866
Set * tcbuffer_points(const Temporal *temp)
Return the array of points or radius of a temporal circular buffer @csqlfn Tcbuffer_points()
Definition: tcbuffer.c:855
uint64 cbuffer_hash_extended(const Cbuffer *cb, uint64 seed)
Return the 64-bit hash value of a circular buffer using a seed.
Definition: cbuffer.c:1526
GSERIALIZED * cbuffer_point(const Cbuffer *cb)
Return a copy of the point of a circular buffer.
Definition: cbuffer.c:716
double cbuffer_radius(const Cbuffer *cb)
Return the radius of a circular buffer.
Definition: cbuffer.c:731
uint32 cbuffer_hash(const Cbuffer *cb)
Return the 32-bit hash value of a circular buffer.
Definition: cbuffer.c:1501
bool cbuffer_ge(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is greater than or equal to the second one.
Definition: cbuffer.c:1484
bool cbuffer_nsame(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if two circular buffers are approximately equal with respect to an epsilon value.
Definition: cbuffer.c:1393
bool cbuffer_same(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if two circular buffers are approximately equal with respect to an epsilon value.
Definition: cbuffer.c:1374
bool cbuffer_ne(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is not equal to the second one.
Definition: cbuffer.c:1363
bool cbuffer_gt(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is greater than the second one.
Definition: cbuffer.c:1471
int cbuffer_cmp(const Cbuffer *cb1, const Cbuffer *cb2)
Return -1, 0, or 1 depending on whether the first buffer is less than, equal to, or greater than the ...
Definition: cbuffer.c:1406
bool cbuffer_le(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is less than or equal to the second one.
Definition: cbuffer.c:1459
bool cbuffer_lt(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is less than the second one.
Definition: cbuffer.c:1446
bool cbuffer_eq(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first buffer is equal to the second one.
Definition: cbuffer.c:1346
Cbuffer * cbuffer_copy(const Cbuffer *cb)
Return a copy of a circular buffer.
Definition: cbuffer.c:507
Cbuffer * cbuffer_make(const GSERIALIZED *point, double radius)
Construct a circular buffer from a point and a radius.
Definition: cbuffer.c:476
GSERIALIZED * cbufferarr_to_geom(const Cbuffer **cbarr, int count)
Return a geometry converted from an array of circular buffers.
Definition: cbuffer.c:588
STBox * cbuffer_to_stbox(const Cbuffer *cb)
Convert a circular buffer into a spatiotemporal box.
Definition: cbuffer.c:681
Cbuffer * geom_to_cbuffer(const GSERIALIZED *gs)
Convert a geometry into a circular buffer.
Definition: cbuffer.c:544
GSERIALIZED * cbuffer_to_geom(const Cbuffer *cb)
Convert a circular buffer into a geometry.
Definition: cbuffer.c:527
double distance_cbuffer_geo(const Cbuffer *cb, const GSERIALIZED *gs)
Return the distance between a circular buffer and a geometry.
Definition: cbuffer.c:974
double distance_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return the distance between two circular buffers.
Definition: cbuffer.c:943
double nad_cbuffer_stbox(const Cbuffer *cb, const STBox *box)
Return the nearest approach distance between a circular buffer and a spatiotemporal box.
Definition: tcbuffer_distance.c:504
double distance_cbuffer_stbox(const Cbuffer *cb, const STBox *box)
Return the distance between a circular buffer and a spatiotemporal box.
Definition: cbuffer.c:994
char * cbuffer_out(const Cbuffer *cb, int maxdd)
Return the string representation of a circular buffer.
Definition: cbuffer.c:314
uint8_t * cbuffer_as_wkb(const Cbuffer *cb, uint8_t variant, size_t *size_out)
Return the Well-Known Binary (WKB) representation of a circular buffer.
Definition: cbuffer.c:439
Cbuffer * cbuffer_from_hexwkb(const char *hexwkb)
Return a circular buffer from its ASCII hex-encoded Well-Known Binary (WKB) representation.
Definition: cbuffer.c:419
Cbuffer * cbuffer_from_wkb(const uint8_t *wkb, size_t size)
Return a circular buffer from its Well-Known Binary (WKB) representation.
Definition: cbuffer.c:404
char * cbuffer_as_hexwkb(const Cbuffer *cb, uint8_t variant, size_t *size)
Return the ASCII hex-encoded Well-Known Binary (HexWKB) representation of a circular buffer.
Definition: cbuffer.c:456
char * cbuffer_as_text(const Cbuffer *cb, int maxdd)
Return the Well-Known Text (WKT) representation of a circular buffer.
Definition: cbuffer.c:366
char * cbuffer_as_ewkt(const Cbuffer *cb, int maxdd)
Return the Extended Well-Known Text (EWKT) representation of a circular buffer.
Definition: cbuffer.c:384
Cbuffer * cbuffer_in(const char *str)
Return a circular buffer from its string representation.
Definition: cbuffer.c:298
int touches_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first circular buffer touches the second one.
Definition: cbuffer.c:1236
int covers_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first circular buffer covers the second one.
Definition: cbuffer.c:1200
int contains_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if the first circular buffer contains the second one.
Definition: cbuffer.c:1188
int disjoint_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if two circular buffers are disjoint in 2D.
Definition: cbuffer.c:1212
int intersects_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2)
Return true if two circular buffers intersect in 2D.
Definition: cbuffer.c:1224
int dwithin_cbuffer_cbuffer(const Cbuffer *cb1, const Cbuffer *cb2, double dist)
Return true if two 2D circular buffers are within a distance.
Definition: cbuffer.c:1249
Cbuffer * cbuffer_transform_pipeline(const Cbuffer *cb, const char *pipelinestr, int32_t srid, bool is_forward)
Return a circular buffer transformed to another SRID using a pipeline.
Definition: cbuffer.c:896
void cbuffer_set_srid(Cbuffer *cb, int32_t srid)
Set the coordinates of a circular buffer to an SRID.
Definition: cbuffer.c:824
Cbuffer * cbuffer_transform(const Cbuffer *cb, int32_t srid)
Return a circular buffer transformed to another SRID.
Definition: cbuffer.c:865
int32_t cbuffer_srid(const Cbuffer *cb)
Return the SRID of a circular buffer.
Definition: cbuffer.c:808
Cbuffer ** cbufferarr_round(const Cbuffer **cbarr, int count, int maxdd)
Return an array of circular buffers with the precision of the values set to a number of decimal place...
Definition: cbuffer.c:784
Cbuffer * cbuffer_round(const Cbuffer *cb, int maxdd)
Return a circular buffer with the precision of the values set to a number of decimal places.
Definition: cbuffer.c:748
int ever_ne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return true if a circular buffer is ever different from a temporal circular buffer.
Definition: tcbuffer_compops.c:123
int ever_eq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return true if a temporal circular buffer is ever equal to a circular buffer.
Definition: tcbuffer_compops.c:109
int always_ne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return true if a temporal circular buffer is always different from a circular buffer.
Definition: tcbuffer_compops.c:193
int always_ne_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return true if two temporal circular buffers are always different.
Definition: tcbuffer_compops.c:243
int ever_ne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return true if a temporal circular buffer is ever different from a circular buffer.
Definition: tcbuffer_compops.c:137
int ever_ne_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return true if two temporal circular buffers are ever different.
Definition: tcbuffer_compops.c:219
int ever_eq_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return true if two temporal circular buffers are ever equal.
Definition: tcbuffer_compops.c:207
int ever_eq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return true if a circular buffer is ever equal to a temporal circular buffer.
Definition: tcbuffer_compops.c:95
int always_eq_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return true if two temporal circular buffers are always equal.
Definition: tcbuffer_compops.c:231
int always_ne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return true if a circular buffer is always different from a temporal circular buffer.
Definition: tcbuffer_compops.c:179
int always_eq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return true if a temporal circular buffer is always equal to a circular buffer.
Definition: tcbuffer_compops.c:165
int always_eq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return true if a circular buffer is always equal to a temporal circular buffer.
Definition: tcbuffer_compops.c:151
Temporal * tne_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return the temporal inequality of a circular buffer and a temporal circular buffer.
Definition: tcbuffer_compops.c:311
Temporal * tne_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the temporal inequality of a temporal circular buffer and a circular buffer.
Definition: tcbuffer_compops.c:341
Temporal * teq_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return the temporal equality of a circular buffer and a temporal circular buffer.
Definition: tcbuffer_compops.c:297
Temporal * teq_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the temporal equality of a temporal circular buffer and a circular buffer.
Definition: tcbuffer_compops.c:327
Temporal * tcbuffer_make(const Temporal *tpoint, const Temporal *tfloat)
Return a temporal circular buffer from a temporal point and a temporal float @csqlfn Tcbuffer_constru...
Definition: tcbuffer.c:433
Temporal * tgeompoint_to_tcbuffer(const Temporal *temp)
Return a temporal geometry point transformed to a temporal circular buffer with a zero radius.
Definition: tcbuffer.c:672
Temporal * tcbuffer_to_tfloat(const Temporal *temp)
Return a temporal float constructed from the radius of a temporal circular buffer.
Definition: tcbuffer.c:587
Temporal * tcbuffer_to_tgeompoint(const Temporal *temp)
Return a temporal geometry point constructed from the points of a temporal circular buffer.
Definition: tcbuffer.c:519
TInstant * nai_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return the nearest approach instant of the temporal circular buffer and a geometry.
Definition: tcbuffer_distance.c:422
double nad_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the nearest approach distance of a temporal circular buffer and a circular buffer.
Definition: tcbuffer_distance.c:571
GSERIALIZED * shortestline_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the line connecting the nearest approach point between a circular buffer and a temporal circul...
Definition: tcbuffer_distance.c:637
GSERIALIZED * shortestline_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return the line connecting the nearest approach point between a geometry and a temporal circular buff...
Definition: tcbuffer_distance.c:616
double nad_tcbuffer_stbox(const Temporal *temp, const STBox *box)
Return the nearest approach distance of a temporal circular buffer and a spatiotemporal box.
Definition: tcbuffer_distance.c:549
Temporal * distance_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the temporal distance between a temporal circular buffer and a circular buffer @csqlfn Distanc...
Definition: tcbuffer_distance.c:339
GSERIALIZED * shortestline_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return the line connecting the nearest approach point between two temporal circular buffers.
Definition: tcbuffer_distance.c:658
TInstant * nai_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return the nearest approach instant of two temporal circular buffers.
Definition: tcbuffer_distance.c:473
Temporal * distance_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return the temporal distance between a temporal circular buffer and a geometry @csqlfn Distance_tcbuf...
Definition: tcbuffer_distance.c:367
TInstant * nai_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return the nearest approach instant of the circular buffer and a temporal circular buffer.
Definition: tcbuffer_distance.c:448
Temporal * distance_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return the temporal distance between two temporal circular buffers.
Definition: tcbuffer_distance.c:388
double nad_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return the nearest approach distance of a temporal circular buffer and a geometry.
Definition: tcbuffer_distance.c:528
double nad_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return the nearest approach distance of two temporal circular buffers.
Definition: tcbuffer_distance.c:591
Temporal * tcbuffer_in(const char *str)
Return a temporal circular buffer from its Well-Known Text (WKT) representation.
Definition: tcbuffer.c:312
int aintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a circular buffer and a temporal circular buffer always intersect, 0 if not,...
Definition: tcbuffer_spatialrels.c:1149
int edwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist)
Return 1 if a geometry and a temporal circular buffer are ever within the given distance,...
Definition: tcbuffer_spatialrels.c:1441
int adisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer and a geometry are always disjoint,0 if not,...
Definition: tcbuffer_spatialrels.c:908
int ecovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return 1 if a circular buffer ever covers a temporal circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:739
int acovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return 1 if a circular buffer always covers a temporal circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:753
int eintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a geometry and a temporal circular buffer ever intersect, 0 if not, and -1 on error or if...
Definition: tcbuffer_spatialrels.c:1069
int acontains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer always contains a circular buffer, 0 if not,...
Definition: tcbuffer_spatialrels.c:619
int ecovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer ever covers a circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:784
int acontains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return 1 if a circular buffer always contains a temporal circular buffer, 0 if not,...
Definition: tcbuffer_spatialrels.c:569
int acovers_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp)
Return 1 if a geometry always covers a temporal circular buffer, 0 if not, and -1 on error or if the ...
Definition: tcbuffer_spatialrels.c:657
int adisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer and a geometry are always disjoint, 0 if not,...
Definition: tcbuffer_spatialrels.c:970
int acontains_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp)
Return 1 if a geometry always contains a temporal circular buffer, 0 if not, and -1 on error or if th...
Definition: tcbuffer_spatialrels.c:464
int atouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer always touches a circular buffer, 0 if not,...
Definition: tcbuffer_spatialrels.c:1321
int atouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer always touches a geometry, 0 if not, and -1 on error or if the...
Definition: tcbuffer_spatialrels.c:1259
int adwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist)
Return 1 if two temporal circular buffers are always within a distance, 0 if not, -1 on error or if t...
Definition: tcbuffer_spatialrels.c:1547
int edwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist)
Return 1 if a geometry and a temporal circular buffer are ever within the given distance,...
Definition: tcbuffer_spatialrels.c:1409
int edisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer and a circular buffer are ever disjoint, 0 if not,...
Definition: tcbuffer_spatialrels.c:955
int adwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist)
Return 1 if a geometry and a temporal circular buffer are always within a distance,...
Definition: tcbuffer_spatialrels.c:1466
int ecovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer ever covers a geometry, 0 if not, and -1 on error or if the ge...
Definition: tcbuffer_spatialrels.c:692
int edisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer and a geometry are ever disjoint, 0 if not,...
Definition: tcbuffer_spatialrels.c:893
int etouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer always touches a circular buffer, 0 if not,...
Definition: tcbuffer_spatialrels.c:1307
int aintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a geometry and a temporal circular buffer always intersect, 0 if not, and -1 on error or ...
Definition: tcbuffer_spatialrels.c:1084
int adwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist)
Return 1 if a geometry and a temporal circular buffer are always within a distance,...
Definition: tcbuffer_spatialrels.c:1424
int edwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist)
Return 1 if two temporal circular buffers are ever within a distance, 0 if not, -1 on error or if the...
Definition: tcbuffer_spatialrels.c:1531
int aintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if the temporal circular buffers always intersect, 0 if not, and -1 on error or if the tempo...
Definition: tcbuffer_spatialrels.c:1195
int adisjoint_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if the temporal circular buffers are always disjoint, 0 if not, and -1 on error or if the te...
Definition: tcbuffer_spatialrels.c:1017
int eintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if the temporal circular buffers ever intersect, 0 if not, and -1 on error or if the tempora...
Definition: tcbuffer_spatialrels.c:1182
int econtains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp)
Return 1 if a circular buffer ever contains a temporal circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:555
int eintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a circular buffer and a temporal circular buffer ever intersect, 0 if not,...
Definition: tcbuffer_spatialrels.c:1133
int econtains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer ever contains a circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:605
int econtains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer ever contains a geometry, 0 if not, and -1 on error or if the ...
Definition: tcbuffer_spatialrels.c:503
int acovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer always covers a geometry, 0 if not, and -1 on error or if the ...
Definition: tcbuffer_spatialrels.c:708
int acontains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer always contains a geometry, 0 if not, and -1 on error or if th...
Definition: tcbuffer_spatialrels.c:519
int etouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs)
Return 1 if a temporal circular buffer ever touches a geometry, 0 if not, and -1 on error or if the g...
Definition: tcbuffer_spatialrels.c:1245
int acovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return 1 if a temporal circular buffer always covers a circular buffer, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:798
Temporal * tdwithin_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, double dist, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry are within a ...
Definition: tcbuffer_tempspatialrels.c:1226
Temporal * tdisjoint_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry are disjoint.
Definition: tcbuffer_tempspatialrels.c:944
Temporal * tcontains_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer contains another one.
Definition: tcbuffer_tempspatialrels.c:810
Temporal * tcovers_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a circular buffer covers a temporal circular buffer.
Definition: tcbuffer_tempspatialrels.c:870
Temporal * tcovers_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer covers another one.
Definition: tcbuffer_tempspatialrels.c:905
Temporal * tcovers_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer covers a geometry.
Definition: tcbuffer_tempspatialrels.c:888
Temporal * ttouches_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer touches a geometry.
Definition: tcbuffer_tempspatialrels.c:1121
Temporal * ttouches_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a circular buffer touches a temporal circular buffer.
Definition: tcbuffer_tempspatialrels.c:1140
Temporal * tintersects_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry intersect.
Definition: tcbuffer_tempspatialrels.c:1032
Temporal * tintersects_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry intersect.
Definition: tcbuffer_tempspatialrels.c:1015
Temporal * tcontains_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer contains a geometry.
Definition: tcbuffer_tempspatialrels.c:779
Temporal * tdisjoint_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a circular buffer are di...
Definition: tcbuffer_tempspatialrels.c:961
Temporal * tcontains_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a circular buffer contains a temporal circular buffer.
Definition: tcbuffer_tempspatialrels.c:747
Temporal * tdisjoint_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
Return a temporal Boolean that states whether two temporal circular buffers are disjoint.
Definition: tcbuffer_tempspatialrels.c:994
Temporal * tdwithin_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, double dist, bool restr, bool atvalue)
Return a temporal Boolean that states whether two temporal circular buffers are within a distance.
Definition: tcbuffer_tempspatialrels.c:1275
Temporal * tcontains_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer contains a geometry.
Definition: tcbuffer_tempspatialrels.c:727
Temporal * tdwithin_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, double dist, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a circular buffer are wi...
Definition: tcbuffer_tempspatialrels.c:1246
Temporal * tcovers_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a geometry covers a temporal circular buffer.
Definition: tcbuffer_tempspatialrels.c:832
Temporal * ttouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer touches another one.
Definition: tcbuffer_tempspatialrels.c:1175
Temporal * tintersects_cbuffer_tcbuffer(const Cbuffer *cb, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a circular buffer inters...
Definition: tcbuffer_tempspatialrels.c:1049
Temporal * tdwithin_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, double dist, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry are within a ...
Definition: tcbuffer_tempspatialrels.c:1198
Temporal * ttouches_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer touches a geometry.
Definition: tcbuffer_tempspatialrels.c:1158
Temporal * tintersects_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
Return a temporal Boolean that states whether two temporal circular buffers intersect.
Definition: tcbuffer_tempspatialrels.c:1082
Temporal * tdisjoint_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a geometry are disjoint.
Definition: tcbuffer_tempspatialrels.c:927
Temporal * tcovers_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer covers a geometry.
Definition: tcbuffer_tempspatialrels.c:850
Temporal * ttouches_tcbuffer_geo(const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer touches a geometry.
Definition: tcbuffer_tempspatialrels.c:1103
Temporal * tintersects_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a circular buffer inters...
Definition: tcbuffer_tempspatialrels.c:1066
Temporal * tdisjoint_tcbuffer_cbuffer(const Temporal *temp, const Cbuffer *cb, bool restr, bool atvalue)
Return a temporal Boolean that states whether a temporal circular buffer and a circular buffer are di...
Definition: tcbuffer_tempspatialrels.c:978
Temporal * tcontains_geo_tcbuffer(const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
Return a temporal Boolean that states whether a geometry contains a temporal circular buffer.
Definition: tcbuffer_tempspatialrels.c:709
Temporal * tcbuffer_at_geom(const Temporal *temp, const GSERIALIZED *gs)
Return a temporal circular buffer restricted to a geometry.
Definition: tcbuffer.c:1079
Temporal * tcbuffer_minus_geom(const Temporal *temp, const GSERIALIZED *gs)
Return a temporal circular buffer restricted to the complement of a geometry.
Definition: tcbuffer.c:1096
Temporal * tcbuffer_at_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return a temporal circular buffer restricted to a circular buffer.
Definition: tcbuffer.c:949
Temporal * tcbuffer_at_stbox(const Temporal *temp, const STBox *box, bool border_inc)
Return a temporal circular buffer restricted to a spatiotemporal box.
Definition: tcbuffer.c:1015
Temporal * tcbuffer_minus_stbox(const Temporal *temp, const STBox *box, bool border_inc)
Return a temporal circular buffer restricted to the complement of a geometry.
Definition: tcbuffer.c:1031
Temporal * tcbuffer_minus_cbuffer(const Temporal *temp, const Cbuffer *cb)
Return a temporal circular buffer restricted to the complement of a circular buffer.
Definition: tcbuffer.c:963
bool cbufferset_value_n(const Set *s, int n, Cbuffer **result)
Return in the last argument a copy of the n-th value of a circular buffer set.
Definition: cbufferset_meos.c:156
Cbuffer ** cbufferset_values(const Set *s)
Return the array of copies of the values of a circular buffer set.
Definition: cbufferset_meos.c:174
Cbuffer * cbufferset_end_value(const Set *s)
Return a copy of the end value of a circular buffer set.
Definition: cbufferset_meos.c:137
Cbuffer * cbufferset_start_value(const Set *s)
Return a copy of the start value of a circular buffer set.
Definition: cbufferset_meos.c:122
Set * cbufferset_make(const Cbuffer **values, int count)
Return a circular buffer set from an array of values.
Definition: cbufferset_meos.c:97
Set * cbuffer_to_set(const Cbuffer *cb)
Convert a circular buffer into a circular buffer set.
Definition: cbuffer.c:620
Set * cbufferset_in(const char *str)
Return a set from its Well-Known Text (WKT) representation.
Definition: cbufferset_meos.c:63
char * cbufferset_out(const Set *s, int maxdd)
Return the string representation of a circular buffer set.
Definition: cbufferset_meos.c:78
bool contains_set_cbuffer(const Set *s, Cbuffer *cb)
Return true if a set contains a circular buffer.
Definition: cbufferset_meos.c:197
Set * intersection_set_cbuffer(const Set *s, const Cbuffer *cb)
Return the intersection of a set and a circular buffer.
Definition: cbufferset_meos.c:258
Set * minus_cbuffer_set(const Cbuffer *cb, const Set *s)
Return the difference of a circular buffer and a set.
Definition: cbufferset_meos.c:287
Set * minus_set_cbuffer(const Set *s, const Cbuffer *cb)
Return the difference of a set and a circular buffer.
Definition: cbufferset_meos.c:303
Set * intersection_cbuffer_set(const Cbuffer *cb, const Set *s)
Return the intersection of a circular buffer and a set.
Definition: cbufferset_meos.c:274
Set * cbuffer_union_transfn(Set *state, const Cbuffer *cb)
Transition function for set union aggregate of circular buffers.
Definition: cbufferset_meos.c:322
bool contained_cbuffer_set(const Cbuffer *cb, const Set *s)
Return true if a circular buffer is contained in a set.
Definition: cbufferset_meos.c:213
Set * union_set_cbuffer(const Set *s, const Cbuffer *cb)
Return the union of a set and a circular buffer.
Definition: cbufferset_meos.c:229
Set * union_cbuffer_set(const Cbuffer *cb, const Set *s)
Return the union of a circular buffer and a set.
Definition: cbufferset_meos.c:245
Temporal * tcbuffer_expand(const Temporal *temp, double dist)
Return a temporal circular buffer with the radius expanded by a distance.
Definition: tcbuffer.c:908
int ecovers_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if a temporal circular buffer ever covers another one, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:829
int atouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if a temporal circular buffer always touches another one, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:1366
int etouches_tcbuffer_tcbuffer(const Temporal *temp1, const Temporal *temp2)
Return 1 if a temporal circular buffer ever touches another one, 0 if not, and -1 on error.
Definition: tcbuffer_spatialrels.c:1352
External API of the Mobility Engine Open Source (MEOS) library.
GSERIALIZED * tcbuffer_trav_area(const Temporal *temp)
Return the traversed area of a temporal circular buffer.
Definition: tcbuffer_spatialfuncs.c:655
STBox * cbuffer_tstzspan_to_stbox(const Cbuffer *cb, const Span *s)
Return a spatiotemporal box constructed from a circular buffer and a timestamptz.
Definition: tcbuffer_boxops.c:168
STBox * cbuffer_timestamptz_to_stbox(const Cbuffer *cb, TimestampTz t)
Return a spatiotemporal box constructed from a circular buffer and a timestamptz.
Definition: tcbuffer_boxops.c:132
int64 TimestampTz
Definition: postgres_ext_defs.in.h:22
unsigned int uint32
Definition: postgres_ext_defs.in.h:16
unsigned long int uint64
Definition: postgres_ext_defs.in.h:17
double radius
radius
Definition: cbuffer.h:52
Datum point
First 8 bytes of the point which is passed by reference.
Definition: cbuffer.h:53
Functions for temporal buffers.
Definition: cbuffer.h:50
Definition: postgis_ext_defs.in.h:170
Structure to represent spatiotemporal boxes.
Definition: meos.h:134
Structure to represent sets of values.
Definition: meos.h:80
Structure to represent spans (a.k.a.
Definition: meos.h:94
Structure to represent temporal values of instant subtype.
Definition: meos.h:185
Structure to represent the common structure of temporal values of any temporal subtype.
Definition: meos.h:173
int const GSERIALIZED * gs
Definition: trgeo_spatialrels.h:52