67#define DatumGetPoseP(X) ((Pose *) DatumGetPointer(X))
68#define PosePGetDatum(X) PointerGetDatum(X)
69#define PG_GETARG_POSE_P(X) DatumGetPoseP(PG_GETARG_DATUM(X))
70#define PG_RETURN_POSE_P(X) PG_RETURN_POINTER(X)
84 const Pose *pose3,
double ratio);
bool pose_timestamptz_set_stbox(const Pose *pose, TimestampTz t, STBox *box)
Return in the last argument a spatiotemporal box constructed from a pose and a timestamptz.
Definition: tpose_boxops.c:193
void posearr_set_stbox(const Datum *values, int count, STBox *box)
Return in the last argument a spatiotemporal box contructed from an array of poses.
Definition: tpose_boxops.c:82
bool pose_tstzspan_set_stbox(const Pose *pose, const Span *p, STBox *box)
Return in the last argument a spatiotemporal box constructed from a pose and a timestamptz span.
Definition: tpose_boxops.c:231
External API of the Mobility Engine Open Source (MEOS) library.
bool ensure_valid_pose_stbox(const Pose *pose, const STBox *box)
Ensure the validity of a pose and a spatiotemporal box.
Definition: pose.c:87
Datum datum_pose_round(Datum pose, Datum size)
Return a pose with the precision of the values set to a number of decimal places.
Definition: pose.c:980
Datum datum_pose_rotation(Datum pose)
Convert a pose into a geometry point.
Definition: pose.c:904
Pose * pose_parse(const char **str, bool end)
Parse a pose value from the buffer.
Definition: pose.c:347
long double posesegm_locate(const Pose *start, const Pose *end, const Pose *value)
Return a float in (0,1) if a network point segment intersects a network point, return -1....
Definition: pose.c:224
bool pose_set_stbox(const Pose *pose, STBox *box)
Set the spatiotemporal box from the pose value.
Definition: tpose_boxops.c:64
Pose * posesegm_interpolate(const Pose *start, const Pose *end, double ratio)
Return the pose value interpolated from the two poses and a ratio.
Definition: pose.c:137
Datum pose_distance(Datum pose1, Datum pose2)
Return the distance between the two poses.
Definition: pose.c:1167
bool ensure_valid_pose_geo(const Pose *pose, const GSERIALIZED *gs)
Ensure the validity of a pose and a geometry/geography.
Definition: pose.c:73
bool ensure_valid_pose_pose(const Pose *pose1, const Pose *pose2)
Ensure the validity of two circular poses.
Definition: pose.c:100
Datum datum_pose_point(Datum pose)
Convert a pose into a geometry point.
Definition: pose.c:841
char * pose_wkt_out(const Pose *pose, bool extended, int maxdd)
Output a pose in the Well-Known Text (WKT) representation.
Definition: pose.c:498
bool ensure_valid_poseset_pose(const Set *s, const Pose *pose)
Return true if a set and a pose are valid for set operations.
Definition: pose.c:115
bool pose_collinear(const Pose *pose1, const Pose *pose2, const Pose *pose3, double ratio)
Return true if the three values are collinear.
Definition: pose.c:295
int64 TimestampTz
Definition: postgres_ext_defs.in.h:22
signed char int8
Definition: postgres_ext_defs.in.h:9
uintptr_t Datum
Definition: postgres_ext_defs.in.h:7
signed int int32
Definition: postgres_ext_defs.in.h:11
Definition: postgis_ext_defs.in.h:170
int8 flags
flags
Definition: pose.h:58
int32 vl_len_
varlena header (do not touch directly!)
Definition: pose.h:57
uint8_t srid[3]
srid
Definition: pose.h:59
double data[]
position and orientation values
Definition: pose.h:60
Basic functions for static pose objects.
Definition: pose.h:56
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
int const GSERIALIZED * gs
Definition: trgeo_spatialrels.h:52