MobilityDB 1.3
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
cbuffer.h File Reference
#include <postgres.h>
#include <meos.h>
#include <meos_cbuffer.h>

Go to the source code of this file.

Data Structures

struct  Cbuffer
 Functions for temporal buffers. More...
 

Macros

#define CbufferPGetDatum(X)   PointerGetDatum(X)
 
#define DatumGetCbufferP(X)   ((Cbuffer *) DatumGetPointer(X))
 
#define PG_GETARG_CBUFFER_P(X)   DatumGetCbufferP(PG_GETARG_DATUM(X))
 
#define PG_RETURN_CBUFFER_P(X)   PG_RETURN_POINTER(X)
 

Functions

bool cbuffer_collinear (const Cbuffer *cb1, const Cbuffer *cb2, const Cbuffer *cbuf3, double ratio)
 Return true if the three values are collinear. More...
 
int cbuffer_contains (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer contains the second one. More...
 
int cbuffer_covers (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer covers the second one. More...
 
int cbuffer_disjoint (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if two circular buffers are disjoint in 2D. More...
 
double cbuffer_distance (const Cbuffer *cb1, const Cbuffer *cb2)
 Return the distance between two circular buffers. More...
 
int cbuffer_dwithin (const Cbuffer *cb1, const Cbuffer *cb2, double dist)
 Return true if two 2D circular buffers are within a distance. More...
 
int cbuffer_intersects (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if two circular buffers intersect in 2D. More...
 
Cbuffercbuffer_parse (const char **str, bool end)
 Parse a circular buffer from its string representation. More...
 
const GSERIALIZEDcbuffer_point_p (const Cbuffer *cb)
 Return a pointer to the point of a circular buffer. More...
 
int cbuffer_touches (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer touches the second one. More...
 
Cbuffercbuffer_transf_pj (const Cbuffer *cb, int32_t srid_to, const LWPROJ *pj)
 Return a circular buffer transformed to another SRID using a pipeline. More...
 
char * cbuffer_wkt_out (Datum value, int maxdd, bool extended)
 Return the Well-Known Text (WKT) representation of a circular buffer. More...
 
int cbuffersegm_distance_turnpt (const Cbuffer *start1, const Cbuffer *end1, const Cbuffer *start2, const Cbuffer *end2, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return the TWO timestamps at which two temporal circular buffers segments are at the minimum distance. More...
 
Cbuffercbuffersegm_interpolate (const Cbuffer *start, const Cbuffer *end, long double ratio)
 Return a circular buffer interpolated from a circular buffer segment with respect to a fraction of its total length. More...
 
long double cbuffersegm_locate (const Cbuffer *start, const Cbuffer *end, const Cbuffer *value)
 Return a float in [0,1] representing the location of the closest location on the circular buffer segment to the given circular buffer, as a fraction of the segment length. More...
 
int contains_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer contains the second one. More...
 
int covers_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer covers the second one. More...
 
Datum datum_cbuffer_contains (Datum cb1, Datum cb2)
 Return a Datum true if the first circular buffer contains the second one. More...
 
Datum datum_cbuffer_covers (Datum cb1, Datum cb2)
 Return a Datum true if the first circular buffer covers the second one. More...
 
Datum datum_cbuffer_disjoint (Datum cb1, Datum cb2)
 Return a Datum true if two circular buffers are disjoint in 2D. More...
 
Datum datum_cbuffer_distance (Datum cb1, Datum cb2)
 Return the distance between two circular buffers. More...
 
Datum datum_cbuffer_dwithin (Datum cb1, Datum cb2, Datum dist)
 Return a Datum true if two 2D circular buffers are within a distance. More...
 
Datum datum_cbuffer_intersects (Datum cb1, Datum cb2)
 Return a Datum true if two circular buffers intersect in 2D. More...
 
Datum datum_cbuffer_round (Datum buffer, Datum size)
 Return a circular buffer with the precision of the values set to a number of decimal places. More...
 
Datum datum_cbuffer_touches (Datum cb1, Datum cb2)
 Return a Datum true if the first circular buffer touches the second one. More...
 
int disjoint_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if two circular buffers are disjoint in 2D. More...
 
int dwithin_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2, double dist)
 Return true if two 2D circular buffers are within a distance. More...
 
bool ensure_valid_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Ensure the validity of two circular buffers. More...
 
bool ensure_valid_cbuffer_geo (const Cbuffer *cb, const GSERIALIZED *gs)
 Ensure the validity of a circular buffer and geometry. More...
 
bool ensure_valid_cbuffer_stbox (const Cbuffer *cb, const STBox *box)
 Ensure the validity of a circular buffer and spatiotemporal box. More...
 
bool ensure_valid_cbufferset_cbuffer (const Set *s, const Cbuffer *cb)
 Return true if a set and a circular buffer are valid for set operations. More...
 
int intersects_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if two circular buffers intersect in 2D. More...
 
int touches_cbuffer_cbuffer (const Cbuffer *cb1, const Cbuffer *cb2)
 Return true if the first circular buffer touches the second one. More...