MobilityDB 1.3
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
meos_pose.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <meos.h>
#include <meos_internal_geo.h>
#include "temporal/set.h"

Go to the source code of this file.

Macros

#define VALIDATE_POSESET(set, ret)
 Macro for ensuring that the set passed as argument is a pose set. More...
 
#define VALIDATE_TPOSE(temp, ret)
 Macro for ensuring that the temporal value passed as argument is a temporal pose. More...
 

Typedefs

typedef struct Pose Pose
 External API of the Mobility Engine Open Source (MEOS) library. More...
 

Functions

int always_eq_pose_tpose (const Pose *pose, const Temporal *temp)
 Return true if a pose is always equal to a temporal pose. More...
 
int always_eq_tpose_pose (const Temporal *temp, const Pose *pose)
 Return true if a temporal pose is always equal to a pose. More...
 
int always_eq_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal poses are always equal. More...
 
int always_ne_pose_tpose (const Pose *pose, const Temporal *temp)
 Return true if a pose is always different from a temporal pose. More...
 
int always_ne_tpose_pose (const Temporal *temp, const Pose *pose)
 Return true if a temporal pose is always different from a pose. More...
 
int always_ne_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal poses are always different. More...
 
bool contained_pose_set (const Pose *pose, const Set *s)
 Return true if a pose is contained in a set. More...
 
bool contains_set_pose (const Set *s, Pose *pose)
 Return true if a set contains a pose. More...
 
double distance_pose_geo (const Pose *pose, const GSERIALIZED *gs)
 Return the distance between a pose and a geometry. More...
 
double distance_pose_pose (const Pose *pose1, const Pose *pose2)
 Return the distance between two poses. More...
 
double distance_pose_stbox (const Pose *pose, const STBox *box)
 Return the distance between a pose and a spatiotemporal box. More...
 
Temporaldistance_tpose_point (const Temporal *temp, const GSERIALIZED *gs)
 Return the temporal distance between a geometry and a temporal pose. More...
 
Temporaldistance_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the temporal distance between a temporal pose and a pose. More...
 
Temporaldistance_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return the temporal distance between two temporal poses. More...
 
int ever_eq_pose_tpose (const Pose *pose, const Temporal *temp)
 Return true if a pose is ever equal to a temporal circular buffer. More...
 
int ever_eq_tpose_pose (const Temporal *temp, const Pose *pose)
 Return true if a temporal pose is ever equal to a circular buffer. More...
 
int ever_eq_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal poses are ever equal. More...
 
int ever_ne_pose_tpose (const Pose *pose, const Temporal *temp)
 Return true if a pose is ever different from a temporal pose. More...
 
int ever_ne_tpose_pose (const Temporal *temp, const Pose *pose)
 Return true if a temporal pose is ever different from a pose. More...
 
int ever_ne_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal poses are ever different. More...
 
Setintersection_pose_set (const Pose *pose, const Set *s)
 Return the intersection of a pose and a set. More...
 
Setintersection_set_pose (const Set *s, const Pose *pose)
 Return the intersection of a set and a pose. More...
 
Setminus_pose_set (const Pose *pose, const Set *s)
 Return the difference of a pose and a set. More...
 
Setminus_set_pose (const Set *s, const Pose *pose)
 Return the difference of a set and a pose. More...
 
double nad_tpose_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the nearest approach distance of two temporal pose and a geometry. More...
 
double nad_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the nearest approach distance of a temporal pose and a pose. More...
 
double nad_tpose_stbox (const Temporal *temp, const STBox *box)
 Return the nearest approach distance of a temporal pose and a spatiotemporal box. More...
 
double nad_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return the nearest approach distance of two temporal poses. More...
 
TInstantnai_tpose_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the nearest approach instant of the temporal pose and a geometry. More...
 
TInstantnai_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the nearest approach instant of a pose and a temporal pose. More...
 
TInstantnai_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return the nearest approach instant of two temporal poses. More...
 
char * pose_as_ewkt (const Pose *pose, int maxdd)
 Return the Extended Well-Known Text (EWKT) representation of a pose. More...
 
char * pose_as_hexwkb (const Pose *pose, uint8_t variant, size_t *size)
 Return the ASCII hex-encoded Well-Known Binary (HexWKB) representation of a pose. More...
 
char * pose_as_text (const Pose *pose, int maxdd)
 Return the Well-Known Text (WKT) representation of a pose. More...
 
uint8_t * pose_as_wkb (const Pose *pose, uint8_t variant, size_t *size_out)
 Return the Well-Known Binary (WKB) representation of a pose. More...
 
int pose_cmp (const Pose *pose1, const Pose *pose2)
 Return -1, 0, or 1 depending on whether the first pose is less than, equal to, or greater than the second one. More...
 
Posepose_copy (const Pose *pose)
 Copy a pose value. More...
 
bool pose_eq (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is equal to the second one. More...
 
Posepose_from_hexwkb (const char *hexwkb)
 Return a pose from its ASCII hex-encoded Well-Known Binary (WKB) representation. More...
 
Posepose_from_wkb (const uint8_t *wkb, size_t size)
 Return a pose from its Well-Known Binary (WKB) representation. More...
 
bool pose_ge (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is greater than or equal to the second one. More...
 
bool pose_gt (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is greater than the second one. More...
 
uint32 pose_hash (const Pose *pose)
 Return the 32-bit hash value of a pose. More...
 
uint64 pose_hash_extended (const Pose *pose, uint64 seed)
 Return the 64-bit hash value of a pose using a seed. More...
 
Posepose_in (const char *str)
 Return a pose from its string representation. More...
 
bool pose_le (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is less than or equal to the second one. More...
 
bool pose_lt (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is less than the second one. More...
 
Posepose_make_2d (double x, double y, double theta, int32_t srid)
 Construct a 2D pose value from the arguments. More...
 
Posepose_make_3d (double x, double y, double z, double W, double X, double Y, double Z, int32_t srid)
 Construct a 3D pose value from the arguments. More...
 
Posepose_make_point2d (const GSERIALIZED *gs, double theta)
 Construct a 2D pose value from a 2D point and a rotation angle. More...
 
Posepose_make_point3d (const GSERIALIZED *gs, double W, double X, double Y, double Z)
 Construct a 3D pose value from the arguments. More...
 
bool pose_ne (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is not equal to the second one. More...
 
bool pose_nsame (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is not equal to the second one. More...
 
double * pose_orientation (const Pose *pose)
 Return the orientation of a 3D pose. More...
 
char * pose_out (const Pose *pose, int maxdd)
 Return the string representation of a pose. More...
 
double pose_rotation (const Pose *pose)
 Return the rotation of a 2D pose. More...
 
Posepose_round (const Pose *pose, int maxdd)
 Return a pose with the precision of the values set to a number of decimal places. More...
 
bool pose_same (const Pose *pose1, const Pose *pose2)
 Return true if the first pose is equal to the second one. More...
 
void pose_set_srid (Pose *pose, int32_t srid)
 Set the SRID. More...
 
int32_t pose_srid (const Pose *pose)
 Return the SRID. More...
 
STBoxpose_timestamptz_to_stbox (const Pose *pose, TimestampTz t)
 Return a spatiotemporal box constructed from a pose and a timestamptz. More...
 
GSERIALIZEDpose_to_point (const Pose *pose)
 Convert a pose into a geometry point. More...
 
Setpose_to_set (const Pose *pose)
 Convert a pose into a pose set. More...
 
STBoxpose_to_stbox (const Pose *pose)
 Convert a pose into a spatiotemporal box. More...
 
Posepose_transform (const Pose *pose, int32_t srid)
 Return a pose transformed to another SRID. More...
 
Posepose_transform_pipeline (const Pose *pose, const char *pipelinestr, int32_t srid, bool is_forward)
 Return a pose transformed to another SRID using a pipeline. More...
 
STBoxpose_tstzspan_to_stbox (const Pose *pose, const Span *s)
 Return a spatiotemporal box constructed from a pose and a timestamptz. More...
 
Setpose_union_transfn (Set *state, const Pose *pose)
 Transition function for set union aggregate of poses. More...
 
Pose ** posearr_round (const Pose **posearr, int count, int maxdd)
 Return an array of poses with the precision of the vales set to a number of decimal places. More...
 
Poseposeset_end_value (const Set *s)
 Return a copy of the end value of a pose set. More...
 
Setposeset_in (const char *str)
 Return a set from its Well-Known Text (WKT) representation. More...
 
Setposeset_make (const Pose **values, int count)
 Return a pose set from an array of values. More...
 
char * poseset_out (const Set *s, int maxdd)
 Return the string representation of a pose set. More...
 
Poseposeset_start_value (const Set *s)
 Return a copy of the start value of a pose set. More...
 
bool poseset_value_n (const Set *s, int n, Pose **result)
 Return in the last argument a copy of the n-th value of a circular buffer set. More...
 
Pose ** poseset_values (const Set *s)
 Return the array of copies of the values of a pose set. More...
 
GSERIALIZEDshortestline_tpose_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the line connecting the nearest approach point between a geometry and a temporal pose. More...
 
GSERIALIZEDshortestline_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the line connecting the nearest approach point between a pose and a temporal pose. More...
 
GSERIALIZEDshortestline_tpose_tpose (const Temporal *temp1, const Temporal *temp2)
 Return the line connecting the nearest approach point between two temporal networks. More...
 
Temporalteq_pose_tpose (const Pose *pose, const Temporal *temp)
 Return the temporal equality of a pose and a temporal pose. More...
 
Temporalteq_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the temporal equality of a temporal pose and a pose. More...
 
Temporaltne_pose_tpose (const Pose *pose, const Temporal *temp)
 Return the temporal inequality of a pose and a temporal pose. More...
 
Temporaltne_tpose_pose (const Temporal *temp, const Pose *pose)
 Return the temporal inequality of a temporal pose and a pose. More...
 
Temporaltpoint_tfloat_to_tpose (const Temporal *tpoint, const Temporal *tradius)
 Return a temporal pose from a temporal point and a temporal float. More...
 
Temporaltpose_at_geom (const Temporal *temp, const GSERIALIZED *gs, const Span *zspan)
 Return a temporal pose restricted to a geometry. More...
 
Temporaltpose_at_pose (const Temporal *temp, const Pose *pose)
 Return a temporal pose restricted to a pose. More...
 
Temporaltpose_at_stbox (const Temporal *temp, const STBox *box, bool border_inc)
 Return a temporal pose restricted to a geometry. More...
 
Posetpose_end_value (const Temporal *temp)
 Return a copy of the end value of a temporal pose. More...
 
Temporaltpose_in (const char *str)
 Return a temporal pose from its Well-Known Text (WKT) representation. More...
 
Temporaltpose_minus_geom (const Temporal *temp, const GSERIALIZED *gs, const Span *zspan)
 Return a temporal point restricted to (the complement of) a geometry. More...
 
Temporaltpose_minus_pose (const Temporal *temp, const Pose *pose)
 Return a temporal pose restricted to the complement of a pose. More...
 
Temporaltpose_minus_stbox (const Temporal *temp, const STBox *box, bool border_inc)
 Return a temporal point restricted to (the complement of) a geometry. More...
 
Settpose_points (const Temporal *temp)
 Return the array of points of a temporal pose @csqlfn Tpose_points() More...
 
Temporaltpose_rotation (const Temporal *temp)
 Return a the rotation of a temporal pose as a temporal float. More...
 
Posetpose_start_value (const Temporal *temp)
 Return a copy of the start value of a temporal pose. More...
 
Temporaltpose_to_tpoint (const Temporal *temp)
 Return a geometry point from a temporal pose. More...
 
GSERIALIZEDtpose_trajectory (const Temporal *temp)
 Return the trajectory of a temporal pose. More...
 
bool tpose_value_at_timestamptz (const Temporal *temp, TimestampTz t, bool strict, Pose **value)
 Return the value of a temporal pose at a timestamptz. More...
 
bool tpose_value_n (const Temporal *temp, int n, Pose **result)
 Return a copy of the n-th value of a temporal pose. More...
 
Pose ** tpose_values (const Temporal *temp, int *count)
 Return the array of copies of base values of a temporal pose. More...
 
Setunion_pose_set (const Pose *pose, const Set *s)
 Return the union of a pose and a set. More...
 
Setunion_set_pose (const Set *s, const Pose *pose)
 Return the union of a set and a pose. More...