MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
trgeo_vclip.c File Reference

Distance functions for temporal rigid geometries. More...

#include "rgeo/trgeo_vclip.h"
#include <assert.h>
#include <c.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
#include <utils/timestamp.h>
#include <lwgeodetic_tree.h>
#include <liblwgeom.h>
#include <measures.h>
#include <measures3d.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/temporal.h"
#include "temporal/type_util.h"
#include "temporal/meos_catalog.h"
#include "geo/tgeo_spatialfuncs.h"
#include "pose/pose.h"
#include "rgeo/trgeo_all.h"

Functions

void apply_pose_point4d (POINT4D *p, const Pose *pose)
 
static double compute_angle (POINT4D p, POINT4D vs, POINT4D ve)
 Computes the signed length of the cross product of the vectors (vs, p) and (vs, ve) More...
 
static double compute_dist2 (POINT4D p, POINT4D vs, POINT4D ve)
 Computes the distance between point p and segment v(vs, ve) More...
 
static double compute_dist2_safe (POINT4D p, POINT4D vs, POINT4D ve)
 Computes the distance between point p and segment v(vs, ve) More...
 
static double compute_s (POINT4D p, POINT4D vs, POINT4D ve)
 Computes the relative position of point on segment v(vs, ve) s < 0 -> p before point vs s = 0 -> p = vs 0 < s < 1 -> p = vs * (1 - s) + ve * s s = 1 -> p = ve 1 < s -> p after point ve. More...
 
static int edge_edge_tpoly_tpoly (const LWPOLY *poly1, const LWPOLY *poly2, const Pose *pose1, const Pose *pose2, uint32_t *poly1_feature, uint32_t *poly2_feature)
 
static int edge_vertex_tpoly_point (const LWPOLY *poly, POINT4D point, bool ccw_poly, const Pose *pose, uint32_t *poly_feature)
 
static int edge_vertex_tpoly_tpoly (const LWPOLY *poly1, const LWPOLY *poly2, bool ccw_poly1, const Pose *pose1, const Pose *pose2, uint32_t *poly1_feature, uint32_t *poly2_feature)
 
static bool poly_is_ccw (const LWPOLY *poly)
 Tests if a polygon is defined in counter-clockwise order (ccw) More...
 
static uint32_t uint_mod_add (uint32_t i, uint32_t j, uint32_t n)
 
static uint32_t uint_mod_sub (uint32_t i, uint32_t j, uint32_t n)
 
int v_clip_tpoly_point (const LWPOLY *poly, const LWPOINT *point, const Pose *pose, uint32_t *poly_feature, double *dist)
 
int v_clip_tpoly_tpoly (const LWPOLY *poly1, const LWPOLY *poly2, const Pose *pose1, const Pose *pose2, uint32_t *poly1_feature, uint32_t *poly2_feature, double *dist)
 
static int vertex_vertex_tpoly_point (const LWPOLY *poly, POINT4D point, const Pose *pose, uint32_t *poly_feature)
 
static int vertex_vertex_tpoly_tpoly (const LWPOLY *poly1, const LWPOLY *poly2, const Pose *pose1, const Pose *pose2, uint32_t *poly1_feature, uint32_t *poly2_feature)
 

Detailed Description

Distance functions for temporal rigid geometries.