|
Hermes
|
The implementation of SegmentST. More...
#include "../../h/SpatioTemporal/SegmentST/Interpolation.h"#include "../../h/SpatioTemporal/SegmentST/Properties.h"#include "../../h/Temporal/SessionParameters.h"#include "../../h/Temporal/Period/RelationalOperators.h"#include "../../h/Temporal/Period/Properties.h"#include "../../h/Temporal/Period/Interactions.h"#include "../../h/Spatial/SegmentSP/RelationalOperators.h"#include "../../h/Spatial/SegmentSP/Properties.h"#include "../../h/Spatial/SegmentSP/Interactions.h"#include "../../h/Spatial/BoxSP/RelationalOperators.h"#include "../../h/Spatial/PointSP/Distance.h"#include "../../h/SessionParameters.h"#include "../../h/Utilities/Utilities.h"#include "../../h/Utilities/MSVCWorkarounds.h"#include <funcapi.h>#include <access/htup_details.h>
Functions | |
| PointSP * | atInstantSPSegmentST (const SegmentST *segment, Timestamp ts, bool checkContainment, PointSP *result) |
| PointST * | atInstantSegmentST (const SegmentST *segment, Timestamp ts, bool checkContainment, PointST *result) |
| PGDLLEXPORT Datum | atInstantSPSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atInstantSPSegmentSTV1) | |
| PGDLLEXPORT Datum | atInstantSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atInstantSegmentSTV1) | |
| int32 | atPeriodSPSegmentST (const SegmentST *segment, const Period *period, SegmentSP *segmentAt, PointSP *pointAt) |
| int32 | atPeriodSegmentST (const SegmentST *segment, const Period *period, SegmentST *segmentAt, PointST *pointAt) |
| PGDLLEXPORT Datum | atPeriodSPSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atPeriodSPSegmentSTV1) | |
| PGDLLEXPORT Datum | atPeriodSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atPeriodSegmentSTV1) | |
| Timestamp * | atPointTSegmentST (const SegmentST *segment, const PointSP *point, bool checkContainment, Timestamp *result) |
| PointST * | atPointSegmentST (const SegmentST *segment, const PointSP *point, bool checkContainment, PointST *result) |
| PGDLLEXPORT Datum | atPointTSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atPointTSegmentSTV1) | |
| PGDLLEXPORT Datum | atPointSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atPointSegmentSTV1) | |
| int32 | atBoxTSegmentST (const SegmentST *segment, const BoxSP *box, Period *periodAt, Timestamp *tsAt) |
| int32 | atBoxSegmentST (const SegmentST *segment, const BoxSP *box, SegmentST *segmentAt, PointST *pointAt) |
| PGDLLEXPORT Datum | atBoxTSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atBoxTSegmentSTV1) | |
| PGDLLEXPORT Datum | atBoxSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atBoxSegmentSTV1) | |
| int32 | atBoxSTSegmentST (const SegmentST *segment, const BoxST *box, SegmentST *segmentAt, PointST *pointAt) |
| PGDLLEXPORT Datum | atBoxSTSegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (atBoxSTSegmentSTV1) | |
| PointST * | intersectionPointSegmentST_SegmentST (const SegmentST *segmentA, const SegmentST *segmentB, PointST *result) |
| PGDLLEXPORT Datum | intersectionPointSegmentST_SegmentSTV1 (PG_FUNCTION_ARGS) |
| PG_FUNCTION_INFO_V1 (intersectionPointSegmentST_SegmentSTV1) | |
The implementation of SegmentST.
These functions are documented in the SegmentST/Interpolation.h
| int32 atBoxSegmentST | ( | const SegmentST * | segment, |
| const BoxSP * | box, | ||
| SegmentST * | segmentAt, | ||
| PointST * | pointAt | ||
| ) |
References atPointSegmentST(), atPointTSegmentST(), containedSegmentSP_BoxSP(), SegmentSP::e, Period::e, SegmentSP::i, Period::i, intersectionSegmentSP_BoxSP(), isStoppedSegmentST(), SegmentST::sp, and SegmentST::t.
Referenced by atBoxSegmentSTV1(), and atBoxSTSegmentST().

| PGDLLEXPORT Datum atBoxSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| int32 atBoxSTSegmentST | ( | const SegmentST * | segment, |
| const BoxST * | box, | ||
| SegmentST * | segmentAt, | ||
| PointST * | pointAt | ||
| ) |
References atBoxSegmentST(), atPeriodSegmentST(), containsPeriod_Timestamp(), BoxST::sp, PointST::t, and BoxST::t.
Referenced by atBoxSTSegmentSTV1(), and intersectsSegmentST_BoxST().

| PGDLLEXPORT Datum atBoxSTSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| int32 atBoxTSegmentST | ( | const SegmentST * | segment, |
| const BoxSP * | box, | ||
| Period * | periodAt, | ||
| Timestamp * | tsAt | ||
| ) |
References atPointTSegmentST(), containedSegmentSP_BoxSP(), SegmentSP::e, Period::e, SegmentSP::i, Period::i, intersectionSegmentSP_BoxSP(), isStoppedSegmentST(), SegmentST::sp, and SegmentST::t.
Referenced by atBoxTSegmentSTV1().

| PGDLLEXPORT Datum atBoxTSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| PointST* atInstantSegmentST | ( | const SegmentST * | segment, |
| Timestamp | ts, | ||
| bool | checkContainment, | ||
| PointST * | result | ||
| ) |
References atInstantSPSegmentST(), PointST::sp, and PointST::t.
Referenced by atInstantSegmentSTV1(), and atPeriodSegmentST().

| PGDLLEXPORT Datum atInstantSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| PointSP* atInstantSPSegmentST | ( | const SegmentST * | segment, |
| Timestamp | ts, | ||
| bool | checkContainment, | ||
| PointSP * | result | ||
| ) |
References containsPeriod_Timestamp(), differenceInSeconds(), SegmentSP::e, Period::e, SegmentSP::i, Period::i, lengthSegmentSP(), round(), SegmentST::sp, SegmentST::t, PointSP::x, PointSP::y, and zeroTolerance.
Referenced by atInstantSegmentST(), atInstantSPSegmentSTV1(), atPeriodSegmentST(), atPeriodSPSegmentST(), containsSegmentST_PointST(), and TrapezoidalSegmentST().

| PGDLLEXPORT Datum atInstantSPSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| int32 atPeriodSegmentST | ( | const SegmentST * | segment, |
| const Period * | period, | ||
| SegmentST * | segmentAt, | ||
| PointST * | pointAt | ||
| ) |
References atInstantSegmentST(), atInstantSPSegmentST(), containsPeriod_Period(), SegmentSP::e, Period::e, SegmentSP::i, Period::i, intersectionPeriod_Period(), isPunctalPeriod(), isStoppedSegmentST(), PointST::sp, SegmentST::sp, PointST::t, and SegmentST::t.
Referenced by atBoxSTSegmentST(), and atPeriodSegmentSTV1().

| PGDLLEXPORT Datum atPeriodSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| int32 atPeriodSPSegmentST | ( | const SegmentST * | segment, |
| const Period * | period, | ||
| SegmentSP * | segmentAt, | ||
| PointSP * | pointAt | ||
| ) |
References atInstantSPSegmentST(), containsPeriod_Period(), SegmentSP::e, Period::e, SegmentSP::i, Period::i, intersectionPeriod_Period(), isPunctalPeriod(), isStoppedSegmentST(), SegmentST::sp, and SegmentST::t.
Referenced by atPeriodSPSegmentSTV1(), and withinDistanceSegmentST_RangeST().

| PGDLLEXPORT Datum atPeriodSPSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| PointST* atPointSegmentST | ( | const SegmentST * | segment, |
| const PointSP * | point, | ||
| bool | checkContainment, | ||
| PointST * | result | ||
| ) |
References atPointTSegmentST(), PointST::sp, and PointST::t.
Referenced by atBoxSegmentST(), and atPointSegmentSTV1().

| PGDLLEXPORT Datum atPointSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| Timestamp* atPointTSegmentST | ( | const SegmentST * | segment, |
| const PointSP * | point, | ||
| bool | checkContainment, | ||
| Timestamp * | result | ||
| ) |
References averageSpeedSegmentST(), containsSegmentSP_PointSP(), distancePointSP_PointSP(), SegmentSP::i, Period::i, roundTimestamp(), SegmentST::sp, SegmentST::t, timestampPlusSeconds(), and zeroTolerance.
Referenced by atBoxSegmentST(), atBoxTSegmentST(), atPointSegmentST(), atPointTSegmentSTV1(), and intersectionPointSegmentST_SegmentST().

| PGDLLEXPORT Datum atPointTSegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| PointST* intersectionPointSegmentST_SegmentST | ( | const SegmentST * | segmentA, |
| const SegmentST * | segmentB, | ||
| PointST * | result | ||
| ) |
References atPointTSegmentST(), differenceInSeconds(), intersectionSegmentSP_SegmentSP(), PointST::sp, SegmentST::sp, PointST::t, and temporalTolerance.
Referenced by intersectionPointSegmentST_SegmentSTV1(), and intersectsSegmentST_SegmentST().

| PGDLLEXPORT Datum intersectionPointSegmentST_SegmentSTV1 | ( | PG_FUNCTION_ARGS | ) |
| PG_FUNCTION_INFO_V1 | ( | atInstantSPSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atInstantSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atPeriodSPSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atPeriodSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atPointTSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atPointSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atBoxTSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atBoxSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | atBoxSTSegmentSTV1 | ) |
| PG_FUNCTION_INFO_V1 | ( | intersectionPointSegmentST_SegmentSTV1 | ) |