From 7a431494f06e0c023c3e865474d9f49700a1d444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20Zim=C3=A1nyi?= Date: Tue, 27 Oct 2026 14:41:34 +0100 Subject: [PATCH 1/2] Bind MobilityDB master and regenerate the functions and types packages The functions and types packages are regenerated from the catalog of MobilityDB master a23e01a60b, and the hand-written calls follow the MEOS signatures there: the distances, lengths and speed of a temporal point and the ever, always and temporal within distance take the model of the earth last, which they are given as the spheroid, the model MobilityDB defaults to and the one MEOS measures a geography on; temporal_as_mfjson takes its options as bits, the bounding box being bit 1; and the MF-JSON call passes the reference system string it frees. Witness: the gomeos package builds against the libmeos of a23e01a60b and its 121 examples pass with TZ=UTC; the functions and types packages build, and the portable-parity test passes. Why: the committed packages and the hand-written calls are what a go get consumer compiles, and they compile against the MEOS they name. --- functions/meos_meos.go | 1182 +++++++++++++++++++++------ functions/meos_meos_catalog.go | 65 +- functions/meos_meos_cbuffer.go | 341 +++++++- functions/meos_meos_geo.go | 775 +++++++++++++++--- functions/meos_meos_h3.go | 395 ++++++++- functions/meos_meos_internal.go | 224 +++-- functions/meos_meos_internal_geo.go | 93 ++- functions/meos_meos_json.go | 330 +++++++- functions/meos_meos_npoint.go | 402 ++++++++- functions/meos_meos_pointcloud.go | 1007 ++++++++++++++++++++++- functions/meos_meos_pose.go | 430 ++++++++-- functions/meos_meos_quadbin.go | 507 +++++++++++- functions/meos_meos_rgeo.go | 215 +++-- functions/types.go | 4 - main_temporal.go | 13 +- main_tpoint.go | 22 +- types/bigintspan.go | 13 +- types/bigintspanset.go | 4 +- types/cbuffer.go | 45 +- types/cbufferset.go | 4 +- types/floatspan.go | 13 +- types/floatspanset.go | 4 +- types/geo.go | 175 +++- types/geography.go | 35 +- types/geometry.go | 95 ++- types/geomset.go | 9 + types/intspan.go | 13 +- types/intspanset.go | 4 +- types/jsonb.go | 81 ++ types/jsonpath.go | 9 + types/npoint.go | 36 +- types/npointset.go | 4 +- types/nsegment.go | 81 ++ types/pcpatch.go | 67 +- types/pcpoint.go | 83 +- types/pose.go | 54 +- types/posechain.go | 49 +- types/raster.go | 22 + types/rtree.go | 27 +- types/set.go | 18 + types/span.go | 9 + types/spanset.go | 18 + types/sptree.go | 27 +- types/stbox.go | 27 + types/tbigint.go | 63 ++ types/tbool.go | 18 + types/tbox.go | 18 + types/tcbuffer.go | 45 + types/temporal.go | 51 +- types/textset.go | 9 + types/tfloat.go | 30 +- types/tgeo.go | 116 ++- types/tgeogpoint.go | 40 +- types/tgeompoint.go | 40 +- types/tinstant.go | 11 + types/tint.go | 30 +- types/tjsonb.go | 102 ++- types/tnpoint.go | 18 + types/tnumber.go | 9 + types/tpcbox.go | 67 +- types/tpoint.go | 21 +- types/tpose.go | 72 ++ types/trgeometry.go | 117 ++- types/tspatial.go | 18 + types/ttext.go | 18 + 65 files changed, 7085 insertions(+), 859 deletions(-) create mode 100644 types/raster.go diff --git a/functions/meos_meos.go b/functions/meos_meos.go index 0977084..6d5966f 100644 --- a/functions/meos_meos.go +++ b/functions/meos_meos.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -473,6 +479,29 @@ func MeosArrayDestroyFree(array *MeosArray) (_err error) { } +// IndexResultCreate wraps MEOS C function index_result_create. +func IndexResultCreate() (_r0 *MeosArray, _err error) { + C.meos_errno_reset() + _cret := C.index_result_create() + if _err = meosError(); _err != nil { + return + } + return &MeosArray{_inner: _cret}, nil +} + + +// IndexResultID wraps MEOS C function index_result_id. +func IndexResultID(n int, id unsafe.Pointer) (_r0 bool, _r1 *MeosArray, _err error) { + var _out_result C.MeosArray + C.meos_errno_reset() + _cret := C.index_result_id(&_out_result, C.int(n), (*C.int64_t)(unsafe.Pointer(id))) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), &MeosArray{_inner: &_out_result}, nil +} + + // RtreeCreateIntspan wraps MEOS C function rtree_create_intspan. func RtreeCreateIntspan() (_r0 *RTree, _err error) { C.meos_errno_reset() @@ -550,17 +579,6 @@ func RtreeCreateSTBOX() (_r0 *RTree, _err error) { } -// RtreeCreateTpcbox wraps MEOS C function rtree_create_tpcbox. -func RtreeCreateTpcbox() (_r0 *RTree, _err error) { - C.meos_errno_reset() - _cret := C.rtree_create_tpcbox() - if _err = meosError(); _err != nil { - return - } - return &RTree{_inner: _cret}, nil -} - - // RtreeFree wraps MEOS C function rtree_free. func RtreeFree(rtree *RTree) (_err error) { C.meos_errno_reset() @@ -807,17 +825,6 @@ func SptreeCreateSTBOX(kind SPTreeKind) (_r0 unsafe.Pointer, _err error) { } -// SptreeCreateTpcbox wraps MEOS C function sptree_create_tpcbox. -func SptreeCreateTpcbox(kind SPTreeKind) (_r0 unsafe.Pointer, _err error) { - C.meos_errno_reset() - _cret := C.sptree_create_tpcbox(C.SPTreeKind(kind)) - if _err = meosError(); _err != nil { - return - } - return unsafe.Pointer(_cret), nil -} - - // SptreeFree wraps MEOS C function sptree_free. func SptreeFree(sptree unsafe.Pointer) (_err error) { C.meos_errno_reset() @@ -987,6 +994,10 @@ func SptreeNnCursorClose(cursor unsafe.Pointer) (_err error) { } +// TODO meos_initialize_interrupt_handler: unsupported param interrupt_handler_fn +// func MeosInitializeInterruptHandler(...) { /* not yet handled by codegen */ } + + // TODO meos_initialize_allocator: unsupported param meos_malloc_fn // func MeosInitializeAllocator(...) { /* not yet handled by codegen */ } @@ -1059,10 +1070,10 @@ func MeosFinalizeProjsrs() (_err error) { } -// MeosFinalizeWays wraps MEOS C function meos_finalize_ways. -func MeosFinalizeWays() (_err error) { +// MeosFinalizeRelate wraps MEOS C function meos_finalize_relate. +func MeosFinalizeRelate() (_err error) { C.meos_errno_reset() - C.meos_finalize_ways() + C.meos_finalize_relate() if _err = meosError(); _err != nil { return } @@ -1070,10 +1081,10 @@ func MeosFinalizeWays() (_err error) { } -// MeosInitializePointcloud wraps MEOS C function meos_initialize_pointcloud. -func MeosInitializePointcloud() (_err error) { +// MeosFinalizeWays wraps MEOS C function meos_finalize_ways. +func MeosFinalizeWays() (_err error) { C.meos_errno_reset() - C.meos_initialize_pointcloud() + C.meos_finalize_ways() if _err = meosError(); _err != nil { return } @@ -1978,9 +1989,9 @@ func BigintToSet(i int64) (_r0 *Set, _err error) { // BigintToSpan wraps MEOS C function bigint_to_span. -func BigintToSpan(i int) (_r0 *Span, _err error) { +func BigintToSpan(i int64) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.bigint_to_span(C.int(i)) + _cret := C.bigint_to_span(C.int64_t(i)) if _err = meosError(); _err != nil { return } @@ -1989,9 +2000,9 @@ func BigintToSpan(i int) (_r0 *Span, _err error) { // BigintToSpanset wraps MEOS C function bigint_to_spanset. -func BigintToSpanset(i int) (_r0 *SpanSet, _err error) { +func BigintToSpanset(i int64) (_r0 *SpanSet, _err error) { C.meos_errno_reset() - _cret := C.bigint_to_spanset(C.int(i)) + _cret := C.bigint_to_spanset(C.int64_t(i)) if _err = meosError(); _err != nil { return } @@ -2875,6 +2886,17 @@ func SetHashExtended(s *Set, seed uint64) (_r0 uint64, _err error) { } +// SetMemSize wraps MEOS C function set_mem_size. +func SetMemSize(s *Set) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.set_mem_size(s._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // SetNumValues wraps MEOS C function set_num_values. func SetNumValues(s *Set) (_r0 int, _err error) { C.meos_errno_reset() @@ -2974,6 +2996,17 @@ func SpansetLowerInc(ss *SpanSet) (_r0 bool, _err error) { } +// SpansetMemSize wraps MEOS C function spanset_mem_size. +func SpansetMemSize(ss *SpanSet) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.spanset_mem_size(ss._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // SpansetNumSpans wraps MEOS C function spanset_num_spans. func SpansetNumSpans(ss *SpanSet) (_r0 int, _err error) { C.meos_errno_reset() @@ -3773,6 +3806,17 @@ func SetNe(s1 *Set, s2 *Set) (_r0 bool, _err error) { } +// SetSortkey wraps MEOS C function set_sortkey. +func SetSortkey(s *Set, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.set_sortkey(s._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SpanCmp wraps MEOS C function span_cmp. func SpanCmp(s1 *Span, s2 *Span) (_r0 int, _err error) { C.meos_errno_reset() @@ -3850,6 +3894,17 @@ func SpanNe(s1 *Span, s2 *Span) (_r0 bool, _err error) { } +// SpanSortkey wraps MEOS C function span_sortkey. +func SpanSortkey(s *Span, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.span_sortkey(s._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SpansetCmp wraps MEOS C function spanset_cmp. func SpansetCmp(ss1 *SpanSet, ss2 *SpanSet) (_r0 int, _err error) { C.meos_errno_reset() @@ -3927,6 +3982,17 @@ func SpansetNe(ss1 *SpanSet, ss2 *SpanSet) (_r0 bool, _err error) { } +// SpansetSortkey wraps MEOS C function spanset_sortkey. +func SpansetSortkey(ss *SpanSet, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.spanset_sortkey(ss._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SetSpans wraps MEOS C function set_spans. func SetSpans(s *Set, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() @@ -4081,6 +4147,17 @@ func AdjacentBigintSpan(i int64, s *Span) (_r0 bool, _err error) { } +// AdjacentBigintSpanset wraps MEOS C function adjacent_bigint_spanset. +func AdjacentBigintSpanset(i int64, ss *SpanSet) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.adjacent_bigint_spanset(C.int64_t(i), ss._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AdjacentDateSpan wraps MEOS C function adjacent_date_span. func AdjacentDateSpan(d int32, s *Span) (_r0 bool, _err error) { C.meos_errno_reset() @@ -4092,6 +4169,17 @@ func AdjacentDateSpan(d int32, s *Span) (_r0 bool, _err error) { } +// AdjacentDateSpanset wraps MEOS C function adjacent_date_spanset. +func AdjacentDateSpanset(d int32, ss *SpanSet) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.adjacent_date_spanset(C.DateADT(d), ss._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AdjacentFloatSpan wraps MEOS C function adjacent_float_span. func AdjacentFloatSpan(d float64, s *Span) (_r0 bool, _err error) { C.meos_errno_reset() @@ -4103,6 +4191,17 @@ func AdjacentFloatSpan(d float64, s *Span) (_r0 bool, _err error) { } +// AdjacentFloatSpanset wraps MEOS C function adjacent_float_spanset. +func AdjacentFloatSpanset(d float64, ss *SpanSet) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.adjacent_float_spanset(C.double(d), ss._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AdjacentIntSpan wraps MEOS C function adjacent_int_span. func AdjacentIntSpan(i int, s *Span) (_r0 bool, _err error) { C.meos_errno_reset() @@ -4114,6 +4213,17 @@ func AdjacentIntSpan(i int, s *Span) (_r0 bool, _err error) { } +// AdjacentIntSpanset wraps MEOS C function adjacent_int_spanset. +func AdjacentIntSpanset(i int, ss *SpanSet) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.adjacent_int_spanset(C.int(i), ss._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AdjacentTimestamptzSpan wraps MEOS C function adjacent_timestamptz_span. func AdjacentTimestamptzSpan(t int64, s *Span) (_r0 bool, _err error) { C.meos_errno_reset() @@ -4125,6 +4235,17 @@ func AdjacentTimestamptzSpan(t int64, s *Span) (_r0 bool, _err error) { } +// AdjacentTimestamptzSpanset wraps MEOS C function adjacent_timestamptz_spanset. +func AdjacentTimestamptzSpanset(t int64, ss *SpanSet) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.adjacent_timestamptz_spanset(C.TimestampTz(t), ss._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AdjacentSpansetBigint wraps MEOS C function adjacent_spanset_bigint. func AdjacentSpansetBigint(ss *SpanSet, i int64) (_r0 bool, _err error) { C.meos_errno_reset() @@ -6389,6 +6510,28 @@ func IntersectionBigintSet(i int64, s *Set) (_r0 *Set, _err error) { } +// IntersectionBigintSpan wraps MEOS C function intersection_bigint_span. +func IntersectionBigintSpan(i int64, s *Span) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intersection_bigint_span(C.int64_t(i), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntersectionBigintSpanset wraps MEOS C function intersection_bigint_spanset. +func IntersectionBigintSpanset(i int64, ss *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.intersection_bigint_spanset(C.int64_t(i), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // IntersectionDateSet wraps MEOS C function intersection_date_set. func IntersectionDateSet(d int32, s *Set) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -6400,6 +6543,28 @@ func IntersectionDateSet(d int32, s *Set) (_r0 *Set, _err error) { } +// IntersectionDateSpan wraps MEOS C function intersection_date_span. +func IntersectionDateSpan(d int32, s *Span) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intersection_date_span(C.DateADT(d), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntersectionDateSpanset wraps MEOS C function intersection_date_spanset. +func IntersectionDateSpanset(d int32, ss *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.intersection_date_spanset(C.DateADT(d), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // IntersectionFloatSet wraps MEOS C function intersection_float_set. func IntersectionFloatSet(d float64, s *Set) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -6411,6 +6576,28 @@ func IntersectionFloatSet(d float64, s *Set) (_r0 *Set, _err error) { } +// IntersectionFloatSpan wraps MEOS C function intersection_float_span. +func IntersectionFloatSpan(d float64, s *Span) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intersection_float_span(C.double(d), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntersectionFloatSpanset wraps MEOS C function intersection_float_spanset. +func IntersectionFloatSpanset(d float64, ss *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.intersection_float_spanset(C.double(d), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // IntersectionIntSet wraps MEOS C function intersection_int_set. func IntersectionIntSet(i int, s *Set) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -6422,6 +6609,28 @@ func IntersectionIntSet(i int, s *Set) (_r0 *Set, _err error) { } +// IntersectionIntSpan wraps MEOS C function intersection_int_span. +func IntersectionIntSpan(i int, s *Span) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intersection_int_span(C.int(i), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntersectionIntSpanset wraps MEOS C function intersection_int_spanset. +func IntersectionIntSpanset(i int, ss *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.intersection_int_spanset(C.int(i), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // IntersectionSetBigint wraps MEOS C function intersection_set_bigint. func IntersectionSetBigint(s *Set, i int64) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -6679,6 +6888,28 @@ func IntersectionTimestamptzSet(t int64, s *Set) (_r0 *Set, _err error) { } +// IntersectionTimestamptzSpan wraps MEOS C function intersection_timestamptz_span. +func IntersectionTimestamptzSpan(t int64, s *Span) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intersection_timestamptz_span(C.TimestampTz(t), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntersectionTimestamptzSpanset wraps MEOS C function intersection_timestamptz_spanset. +func IntersectionTimestamptzSpanset(t int64, ss *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.intersection_timestamptz_spanset(C.TimestampTz(t), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // MinusBigintSet wraps MEOS C function minus_bigint_set. func MinusBigintSet(i int64, s *Set) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -7722,13 +7953,13 @@ func DistanceSetInt(s *Set, i int) (_r0 int, _err error) { // DistanceSetTimestamptz wraps MEOS C function distance_set_timestamptz. -func DistanceSetTimestamptz(s *Set, t int64) (_r0 float64, _err error) { +func DistanceSetTimestamptz(s *Set, t int64) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_set_timestamptz(s._inner, C.TimestampTz(t)) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } @@ -7777,13 +8008,13 @@ func DistanceSpanInt(s *Span, i int) (_r0 int, _err error) { // DistanceSpanTimestamptz wraps MEOS C function distance_span_timestamptz. -func DistanceSpanTimestamptz(s *Span, t int64) (_r0 float64, _err error) { +func DistanceSpanTimestamptz(s *Span, t int64) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_span_timestamptz(s._inner, C.TimestampTz(t)) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } @@ -7832,57 +8063,57 @@ func DistanceSpansetInt(ss *SpanSet, i int) (_r0 int, _err error) { // DistanceSpansetTimestamptz wraps MEOS C function distance_spanset_timestamptz. -func DistanceSpansetTimestamptz(ss *SpanSet, t int64) (_r0 float64, _err error) { +func DistanceSpansetTimestamptz(ss *SpanSet, t int64) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_spanset_timestamptz(ss._inner, C.TimestampTz(t)) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } // DistanceTstzsetTstzset wraps MEOS C function distance_tstzset_tstzset. -func DistanceTstzsetTstzset(s1 *Set, s2 *Set) (_r0 float64, _err error) { +func DistanceTstzsetTstzset(s1 *Set, s2 *Set) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_tstzset_tstzset(s1._inner, s2._inner) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } // DistanceTstzspanTstzspan wraps MEOS C function distance_tstzspan_tstzspan. -func DistanceTstzspanTstzspan(s1 *Span, s2 *Span) (_r0 float64, _err error) { +func DistanceTstzspanTstzspan(s1 *Span, s2 *Span) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_tstzspan_tstzspan(s1._inner, s2._inner) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } // DistanceTstzspansetTstzspan wraps MEOS C function distance_tstzspanset_tstzspan. -func DistanceTstzspansetTstzspan(ss *SpanSet, s *Span) (_r0 float64, _err error) { +func DistanceTstzspansetTstzspan(ss *SpanSet, s *Span) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_tstzspanset_tstzspan(ss._inner, s._inner) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } // DistanceTstzspansetTstzspanset wraps MEOS C function distance_tstzspanset_tstzspanset. -func DistanceTstzspansetTstzspanset(ss1 *SpanSet, ss2 *SpanSet) (_r0 float64, _err error) { +func DistanceTstzspansetTstzspanset(ss1 *SpanSet, ss2 *SpanSet) (_r0 *Interval, _err error) { C.meos_errno_reset() _cret := C.distance_tstzspanset_tstzspanset(ss1._inner, ss2._inner) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &Interval{_inner: _cret}, nil } @@ -7985,6 +8216,17 @@ func SetExtentTransfn(state *Span, s *Set) (_r0 *Span, _err error) { } +// SetUnionCombinefn wraps MEOS C function set_union_combinefn. +func SetUnionCombinefn(state1 *Set, state2 *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.set_union_combinefn(state1._inner, state2._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // SetUnionFinalfn wraps MEOS C function set_union_finalfn. func SetUnionFinalfn(state *Set) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -8007,6 +8249,28 @@ func SetUnionTransfn(state *Set, s *Set) (_r0 *Set, _err error) { } +// SetstateDeserialize wraps MEOS C function setstate_deserialize. +func SetstateDeserialize(bytes unsafe.Pointer, size uint) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.setstate_deserialize((*C.uint8_t)(unsafe.Pointer(bytes)), C.size_t(size)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// SetstateSerialize wraps MEOS C function setstate_serialize. +func SetstateSerialize(state *Set, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.setstate_serialize(state._inner, (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SpanExtentTransfn wraps MEOS C function span_extent_transfn. func SpanExtentTransfn(state *Span, s *Span) (_r0 *Span, _err error) { C.meos_errno_reset() @@ -8040,6 +8304,17 @@ func SpansetExtentTransfn(state *Span, ss *SpanSet) (_r0 *Span, _err error) { } +// SpansetUnionCombinefn wraps MEOS C function spanset_union_combinefn. +func SpansetUnionCombinefn(state1 *SpanSet, state2 *SpanSet) (_r0 *SpanSet, _err error) { + C.meos_errno_reset() + _cret := C.spanset_union_combinefn(state1._inner, state2._inner) + if _err = meosError(); _err != nil { + return + } + return &SpanSet{_inner: _cret}, nil +} + + // SpansetUnionFinalfn wraps MEOS C function spanset_union_finalfn. func SpansetUnionFinalfn(state *SpanSet) (_r0 *SpanSet, _err error) { C.meos_errno_reset() @@ -8062,23 +8337,45 @@ func SpansetUnionTransfn(state *SpanSet, ss *SpanSet) (_r0 *SpanSet, _err error) } -// TextUnionTransfn wraps MEOS C function text_union_transfn. -func TextUnionTransfn(state *Set, txt string) (_r0 *Set, _err error) { - _c_txt := C.cstring_to_text(C.CString(txt)) - defer C.free(unsafe.Pointer(_c_txt)) +// SpansetstateDeserialize wraps MEOS C function spansetstate_deserialize. +func SpansetstateDeserialize(bytes unsafe.Pointer, size uint) (_r0 *SpanSet, _err error) { C.meos_errno_reset() - _cret := C.text_union_transfn(state._inner, _c_txt) + _cret := C.spansetstate_deserialize((*C.uint8_t)(unsafe.Pointer(bytes)), C.size_t(size)) if _err = meosError(); _err != nil { return } - return &Set{_inner: _cret}, nil + return &SpanSet{_inner: _cret}, nil } -// TimestamptzExtentTransfn wraps MEOS C function timestamptz_extent_transfn. -func TimestamptzExtentTransfn(state *Span, t int64) (_r0 *Span, _err error) { +// SpansetstateSerialize wraps MEOS C function spansetstate_serialize. +func SpansetstateSerialize(state *SpanSet, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.timestamptz_extent_transfn(state._inner, C.TimestampTz(t)) + _cret := C.spansetstate_serialize(state._inner, (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TextUnionTransfn wraps MEOS C function text_union_transfn. +func TextUnionTransfn(state *Set, txt string) (_r0 *Set, _err error) { + _c_txt := C.cstring_to_text(C.CString(txt)) + defer C.free(unsafe.Pointer(_c_txt)) + C.meos_errno_reset() + _cret := C.text_union_transfn(state._inner, _c_txt) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// TimestamptzExtentTransfn wraps MEOS C function timestamptz_extent_transfn. +func TimestamptzExtentTransfn(state *Span, t int64) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.timestamptz_extent_transfn(state._inner, C.TimestampTz(t)) if _err = meosError(); _err != nil { return } @@ -8109,9 +8406,20 @@ func BigintGetBin(value int64, vsize int64, vorigin int64) (_r0 int64, _err erro // BigintspanBins wraps MEOS C function bigintspan_bins. -func BigintspanBins(s *Span, vsize int64, vorigin int64, count unsafe.Pointer) (_r0 *Span, _err error) { +func BigintspanBins(s *Span, vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.bigintspan_bins(s._inner, C.int64_t(vsize), C.int64_t(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.bigintspan_bins(s._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// BigintspanGetBin wraps MEOS C function bigintspan_get_bin. +func BigintspanGetBin(value int64, vsize int64, vorigin int64) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.bigintspan_get_bin(C.int64_t(value), C.int64_t(vsize), C.int64_t(vorigin)) if _err = meosError(); _err != nil { return } @@ -8120,9 +8428,9 @@ func BigintspanBins(s *Span, vsize int64, vorigin int64, count unsafe.Pointer) ( // BigintspansetBins wraps MEOS C function bigintspanset_bins. -func BigintspansetBins(ss *SpanSet, vsize int64, vorigin int64, count unsafe.Pointer) (_r0 *Span, _err error) { +func BigintspansetBins(ss *SpanSet, vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.bigintspanset_bins(ss._inner, C.int64_t(vsize), C.int64_t(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.bigintspanset_bins(ss._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -8142,9 +8450,20 @@ func DateGetBin(d int32, duration *Interval, torigin int32) (_r0 int32, _err err // DatespanBins wraps MEOS C function datespan_bins. -func DatespanBins(s *Span, duration *Interval, torigin int32, count unsafe.Pointer) (_r0 *Span, _err error) { +func DatespanBins(s *Span, duration *Interval, torigin int32, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.datespan_bins(s._inner, duration._inner, C.DateADT(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// DatespanGetBin wraps MEOS C function datespan_get_bin. +func DatespanGetBin(d int32, duration *Interval, torigin int32) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.datespan_bins(s._inner, duration._inner, C.DateADT(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.datespan_get_bin(C.DateADT(d), duration._inner, C.DateADT(torigin)) if _err = meosError(); _err != nil { return } @@ -8153,9 +8472,9 @@ func DatespanBins(s *Span, duration *Interval, torigin int32, count unsafe.Point // DatespansetBins wraps MEOS C function datespanset_bins. -func DatespansetBins(ss *SpanSet, duration *Interval, torigin int32, count unsafe.Pointer) (_r0 *Span, _err error) { +func DatespansetBins(ss *SpanSet, duration *Interval, torigin int32, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.datespanset_bins(ss._inner, duration._inner, C.DateADT(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.datespanset_bins(ss._inner, duration._inner, C.DateADT(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -8175,9 +8494,20 @@ func FloatGetBin(value float64, vsize float64, vorigin float64) (_r0 float64, _e // FloatspanBins wraps MEOS C function floatspan_bins. -func FloatspanBins(s *Span, vsize float64, vorigin float64, count unsafe.Pointer) (_r0 *Span, _err error) { +func FloatspanBins(s *Span, vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.floatspan_bins(s._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// FloatspanGetBin wraps MEOS C function floatspan_get_bin. +func FloatspanGetBin(value float64, vsize float64, vorigin float64) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.floatspan_bins(s._inner, C.double(vsize), C.double(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.floatspan_get_bin(C.double(value), C.double(vsize), C.double(vorigin)) if _err = meosError(); _err != nil { return } @@ -8186,9 +8516,9 @@ func FloatspanBins(s *Span, vsize float64, vorigin float64, count unsafe.Pointer // FloatspansetBins wraps MEOS C function floatspanset_bins. -func FloatspansetBins(ss *SpanSet, vsize float64, vorigin float64, count unsafe.Pointer) (_r0 *Span, _err error) { +func FloatspansetBins(ss *SpanSet, vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.floatspanset_bins(ss._inner, C.double(vsize), C.double(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.floatspanset_bins(ss._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -8208,9 +8538,20 @@ func IntGetBin(value int, vsize int, vorigin int) (_r0 int, _err error) { // IntspanBins wraps MEOS C function intspan_bins. -func IntspanBins(s *Span, vsize int, vorigin int, count unsafe.Pointer) (_r0 *Span, _err error) { +func IntspanBins(s *Span, vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.intspan_bins(s._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// IntspanGetBin wraps MEOS C function intspan_get_bin. +func IntspanGetBin(value int, vsize int, vorigin int) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.intspan_bins(s._inner, C.int(vsize), C.int(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.intspan_get_bin(C.int(value), C.int(vsize), C.int(vorigin)) if _err = meosError(); _err != nil { return } @@ -8219,9 +8560,9 @@ func IntspanBins(s *Span, vsize int, vorigin int, count unsafe.Pointer) (_r0 *Sp // IntspansetBins wraps MEOS C function intspanset_bins. -func IntspansetBins(ss *SpanSet, vsize int, vorigin int, count unsafe.Pointer) (_r0 *Span, _err error) { +func IntspansetBins(ss *SpanSet, vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.intspanset_bins(ss._inner, C.int(vsize), C.int(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.intspanset_bins(ss._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -8241,9 +8582,20 @@ func TimestamptzGetBin(t int64, duration *Interval, torigin int64) (_r0 int64, _ // TstzspanBins wraps MEOS C function tstzspan_bins. -func TstzspanBins(s *Span, duration *Interval, origin int64, count unsafe.Pointer) (_r0 *Span, _err error) { +func TstzspanBins(s *Span, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.tstzspan_bins(s._inner, duration._inner, C.TimestampTz(origin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tstzspan_bins(s._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// TstzspanGetBin wraps MEOS C function tstzspan_get_bin. +func TstzspanGetBin(t int64, duration *Interval, torigin int64) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.tstzspan_get_bin(C.TimestampTz(t), duration._inner, C.TimestampTz(torigin)) if _err = meosError(); _err != nil { return } @@ -8252,9 +8604,9 @@ func TstzspanBins(s *Span, duration *Interval, origin int64, count unsafe.Pointe // TstzspansetBins wraps MEOS C function tstzspanset_bins. -func TstzspansetBins(ss *SpanSet, duration *Interval, torigin int64, count unsafe.Pointer) (_r0 *Span, _err error) { +func TstzspansetBins(ss *SpanSet, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.tstzspanset_bins(ss._inner, duration._inner, C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tstzspanset_bins(ss._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -9118,6 +9470,17 @@ func TBOXNe(box1 *TBox, box2 *TBox) (_r0 bool, _err error) { } +// TBOXSortkey wraps MEOS C function tbox_sortkey. +func TBOXSortkey(box *TBox, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tbox_sortkey(box._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TboolFromMFJSON wraps MEOS C function tbool_from_mfjson. func TboolFromMFJSON(str string) (_r0 *Temporal, _err error) { _c_str := C.CString(str) @@ -9169,11 +9532,11 @@ func TemporalAsHexwkb(temp *Temporal, variant uint8, size_out unsafe.Pointer) (_ // TemporalAsMFJSON wraps MEOS C function temporal_as_mfjson. -func TemporalAsMFJSON(temp *Temporal, with_bbox bool, flags int, precision int, srs string) (_r0 string, _err error) { +func TemporalAsMFJSON(temp *Temporal, option int, flags int, precision int, srs string) (_r0 string, _err error) { _c_srs := C.CString(srs) defer C.free(unsafe.Pointer(_c_srs)) C.meos_errno_reset() - _cret := C.temporal_as_mfjson(temp._inner, C.bool(with_bbox), C.int(flags), C.int(precision), _c_srs) + _cret := C.temporal_as_mfjson(temp._inner, C.int(option), C.int(flags), C.int(precision), _c_srs) if _err = meosError(); _err != nil { return } @@ -9206,6 +9569,19 @@ func WKBVariantFromEndian(endian string) (_r0 uint8, _err error) { } +// InterptypeFromString wraps MEOS C function interptype_from_string. +func InterptypeFromString(str string) (_r0 Interpolation, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.interptype_from_string(_c_str) + if _err = meosError(); _err != nil { + return + } + return Interpolation(_cret), nil +} + + // TemporalFromHexwkb wraps MEOS C function temporal_from_hexwkb. func TemporalFromHexwkb(hexwkb string) (_r0 *Temporal, _err error) { _c_hexwkb := C.CString(hexwkb) @@ -9843,6 +10219,17 @@ func TboolStartValue(temp *Temporal) (_r0 bool, _err error) { } +// TboolValue wraps MEOS C function tbool_value. +func TboolValue(temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.tbool_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // TboolValueAtTimestamptz wraps MEOS C function tbool_value_at_timestamptz. func TboolValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 bool, _err error) { var _out_value C.bool @@ -9878,6 +10265,17 @@ func TboolValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err } +// TboolUnnest wraps MEOS C function tbool_unnest. +func TboolUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tbool_unnest(temp._inner, (**C.bool)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TemporalDuration wraps MEOS C function temporal_duration. func TemporalDuration(temp *Temporal, boundspan bool) (_r0 *Interval, _err error) { C.meos_errno_reset() @@ -9999,6 +10397,17 @@ func TemporalMaxInstant(temp *Temporal) (_r0 *TInstant, _err error) { } +// TemporalMemSize wraps MEOS C function temporal_mem_size. +func TemporalMemSize(temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.temporal_mem_size(temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // TemporalMinInstant wraps MEOS C function temporal_min_instant. func TemporalMinInstant(temp *Temporal) (_r0 *TInstant, _err error) { C.meos_errno_reset() @@ -10198,6 +10607,17 @@ func TemporalUpperInc(temp *Temporal) (_r0 bool, _err error) { } +// TemporalValueset wraps MEOS C function temporal_valueset. +func TemporalValueset(temp *Temporal) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.temporal_valueset(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // TfloatEndValue wraps MEOS C function tfloat_end_value. func TfloatEndValue(temp *Temporal) (_r0 float64, _err error) { C.meos_errno_reset() @@ -10242,6 +10662,17 @@ func TfloatStartValue(temp *Temporal) (_r0 float64, _err error) { } +// TfloatValue wraps MEOS C function tfloat_value. +func TfloatValue(temp *Temporal) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.tfloat_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // TfloatValueAtTimestamptz wraps MEOS C function tfloat_value_at_timestamptz. func TfloatValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 float64, _err error) { var _out_value C.double @@ -10277,6 +10708,28 @@ func TfloatValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _er } +// TfloatUnnest wraps MEOS C function tfloat_unnest. +func TfloatUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tfloat_unnest(temp._inner, (**C.double)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TinstantTimestamptz wraps MEOS C function tinstant_timestamptz. +func TinstantTimestamptz(inst *TInstant) (_r0 int64, _err error) { + C.meos_errno_reset() + _cret := C.tinstant_timestamptz(inst._inner) + if _err = meosError(); _err != nil { + return + } + return int64(_cret), nil +} + + // TintEndValue wraps MEOS C function tint_end_value. func TintEndValue(temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() @@ -10365,6 +10818,28 @@ func TbigintStartValue(temp *Temporal) (_r0 int64, _err error) { } +// TintValue wraps MEOS C function tint_value. +func TintValue(temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.tint_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// TbigintValue wraps MEOS C function tbigint_value. +func TbigintValue(temp *Temporal) (_r0 int64, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return int64(_cret), nil +} + + // TbigintValueAtTimestamptz wraps MEOS C function tbigint_value_at_timestamptz. func TbigintValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 int64, _err error) { var _out_value C.int64_t @@ -10424,6 +10899,17 @@ func TintValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err } +// TintUnnest wraps MEOS C function tint_unnest. +func TintUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tint_unnest(temp._inner, (**C.int)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TbigintValues wraps MEOS C function tbigint_values. func TbigintValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -10435,6 +10921,17 @@ func TbigintValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _e } +// TbigintUnnest wraps MEOS C function tbigint_unnest. +func TbigintUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_unnest(temp._inner, (**C.int64_t)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TnumberAvgValue wraps MEOS C function tnumber_avg_value. func TnumberAvgValue(temp *Temporal) (_r0 float64, _err error) { C.meos_errno_reset() @@ -10523,6 +11020,17 @@ func TtextStartValue(temp *Temporal) (_r0 string, _err error) { } +// TtextValue wraps MEOS C function ttext_value. +func TtextValue(temp *Temporal) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.ttext_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return C.GoString(C.text_to_cstring(_cret)), nil +} + + // TtextValueAtTimestamptz wraps MEOS C function ttext_value_at_timestamptz. func TtextValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 string, _err error) { var _out_value *C.text @@ -10558,6 +11066,17 @@ func TtextValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err } +// TtextUnnest wraps MEOS C function ttext_unnest. +func TtextUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.ttext_unnest(temp._inner, (***C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // FloatDegrees wraps MEOS C function float_degrees. func FloatDegrees(value float64, normalize bool) (_r0 float64, _err error) { C.meos_errno_reset() @@ -10569,10 +11088,21 @@ func FloatDegrees(value float64, normalize bool) (_r0 float64, _err error) { } +// FloatRound wraps MEOS C function float_round. +func FloatRound(d float64, maxdd int) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.float_round(C.double(d), C.int(maxdd)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // TemparrRound wraps MEOS C function temparr_round. -func TemparrRound(temp unsafe.Pointer, count int, maxdd int) (_r0 unsafe.Pointer, _err error) { +func TemparrRound(temparr unsafe.Pointer, count int, maxdd int) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.temparr_round((**C.Temporal)(unsafe.Pointer(temp)), C.int(count), C.int(maxdd)) + _cret := C.temparr_round((**C.Temporal)(unsafe.Pointer(temparr)), C.int(count), C.int(maxdd)) if _err = meosError(); _err != nil { return } @@ -10921,6 +11451,28 @@ func TemporalUpdate(temp1 *Temporal, temp2 *Temporal, connect bool) (_r0 *Tempor } +// TbigintAtValue wraps MEOS C function tbigint_at_value. +func TbigintAtValue(temp *Temporal, i int64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_at_value(temp._inner, C.int64_t(i)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TbigintMinusValue wraps MEOS C function tbigint_minus_value. +func TbigintMinusValue(temp *Temporal, i int64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_minus_value(temp._inner, C.int64_t(i)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TboolAtValue wraps MEOS C function tbool_at_value. func TboolAtValue(temp *Temporal, b bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -11332,6 +11884,17 @@ func TemporalNe(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { } +// TemporalSortkey wraps MEOS C function temporal_sortkey. +func TemporalSortkey(temp *Temporal, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.temporal_sortkey(temp._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // AlwaysEqBoolTbool wraps MEOS C function always_eq_bool_tbool. func AlwaysEqBoolTbool(b bool, temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() @@ -15082,10 +15645,10 @@ func NadTintTint(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err error) { } -// TbigintTmaxTransfn wraps MEOS C function tbigint_tmax_transfn. -func TbigintTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { +// TaggstateDeserialize wraps MEOS C function taggstate_deserialize. +func TaggstateDeserialize(bytes unsafe.Pointer, size uint) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tbigint_tmax_transfn(state._inner, temp._inner) + _cret := C.taggstate_deserialize((*C.uint8_t)(unsafe.Pointer(bytes)), C.size_t(size)) if _err = meosError(); _err != nil { return } @@ -15093,21 +15656,21 @@ func TbigintTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err er } -// TbigintTmaxCombinefn wraps MEOS C function tbigint_tmax_combinefn. -func TbigintTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { +// TaggstateSerialize wraps MEOS C function taggstate_serialize. +func TaggstateSerialize(state *SkipList, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tbigint_tmax_combinefn(state1._inner, state2._inner) + _cret := C.taggstate_serialize(state._inner, (*C.size_t)(unsafe.Pointer(size_out))) if _err = meosError(); _err != nil { return } - return &SkipList{_inner: _cret}, nil + return unsafe.Pointer(_cret), nil } -// TbigintTminTransfn wraps MEOS C function tbigint_tmin_transfn. -func TbigintTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { +// TbigintTmaxTransfn wraps MEOS C function tbigint_tmax_transfn. +func TbigintTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tbigint_tmin_transfn(state._inner, temp._inner) + _cret := C.tbigint_tmax_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15115,10 +15678,10 @@ func TbigintTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err er } -// TbigintTminCombinefn wraps MEOS C function tbigint_tmin_combinefn. -func TbigintTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { +// TbigintTminTransfn wraps MEOS C function tbigint_tmin_transfn. +func TbigintTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tbigint_tmin_combinefn(state1._inner, state2._inner) + _cret := C.tbigint_tmin_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15137,17 +15700,6 @@ func TbigintTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err er } -// TbigintTsumCombinefn wraps MEOS C function tbigint_tsum_combinefn. -func TbigintTsumCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.tbigint_tsum_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TbigintWmaxTransfn wraps MEOS C function tbigint_wmax_transfn. func TbigintWmaxTransfn(state *SkipList, temp *Temporal, interv *Interval) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15225,10 +15777,43 @@ func TboolTorCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err } +// TemporalAppTinstTransfn wraps MEOS C function temporal_app_tinst_transfn. +func TemporalAppTinstTransfn(state *Temporal, inst *TInstant, interp Interpolation, maxdist float64, maxt *Interval) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.temporal_app_tinst_transfn(state._inner, inst._inner, C.interpType(interp), C.double(maxdist), maxt._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TemporalAppTseqTransfn wraps MEOS C function temporal_app_tseq_transfn. +func TemporalAppTseqTransfn(state *Temporal, seq *TSequence) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.temporal_app_tseq_transfn(state._inner, seq._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TemporalAppendFinalfn wraps MEOS C function temporal_append_finalfn. +func TemporalAppendFinalfn(state *Temporal) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.temporal_append_finalfn(state._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TemporalExtentTransfn wraps MEOS C function temporal_extent_transfn. -func TemporalExtentTransfn(s *Span, temp *Temporal) (_r0 *Span, _err error) { +func TemporalExtentTransfn(state *Span, temp *Temporal) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.temporal_extent_transfn(s._inner, temp._inner) + _cret := C.temporal_extent_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15269,10 +15854,10 @@ func TemporalTcountCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, } -// TfloatTmaxTransfn wraps MEOS C function tfloat_tmax_transfn. -func TfloatTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { +// TemporalTmaxCombinefn wraps MEOS C function temporal_tmax_combinefn. +func TemporalTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tmax_transfn(state._inner, temp._inner) + _cret := C.temporal_tmax_combinefn(state1._inner, state2._inner) if _err = meosError(); _err != nil { return } @@ -15280,10 +15865,10 @@ func TfloatTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err err } -// TfloatTmaxCombinefn wraps MEOS C function tfloat_tmax_combinefn. -func TfloatTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { +// TemporalTminCombinefn wraps MEOS C function temporal_tmin_combinefn. +func TemporalTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tmax_combinefn(state1._inner, state2._inner) + _cret := C.temporal_tmin_combinefn(state1._inner, state2._inner) if _err = meosError(); _err != nil { return } @@ -15291,10 +15876,10 @@ func TfloatTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _er } -// TfloatTminTransfn wraps MEOS C function tfloat_tmin_transfn. -func TfloatTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { +// TemporalWcountTransfn wraps MEOS C function temporal_wcount_transfn. +func TemporalWcountTransfn(state *SkipList, temp *Temporal, interv *Interval) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tmin_transfn(state._inner, temp._inner) + _cret := C.temporal_wcount_transfn(state._inner, temp._inner, interv._inner) if _err = meosError(); _err != nil { return } @@ -15302,10 +15887,10 @@ func TfloatTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err err } -// TfloatTminCombinefn wraps MEOS C function tfloat_tmin_combinefn. -func TfloatTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { +// TemporalToTaggstate wraps MEOS C function temporal_to_taggstate. +func TemporalToTaggstate(temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tmin_combinefn(state1._inner, state2._inner) + _cret := C.temporal_to_taggstate(temp._inner) if _err = meosError(); _err != nil { return } @@ -15313,10 +15898,21 @@ func TfloatTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _er } -// TfloatTsumTransfn wraps MEOS C function tfloat_tsum_transfn. -func TfloatTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { +// TfloatTmaxTransfn wraps MEOS C function tfloat_tmax_transfn. +func TfloatTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tsum_transfn(state._inner, temp._inner) + _cret := C.tfloat_tmax_transfn(state._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return &SkipList{_inner: _cret}, nil +} + + +// TfloatTminTransfn wraps MEOS C function tfloat_tmin_transfn. +func TfloatTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { + C.meos_errno_reset() + _cret := C.tfloat_tmin_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15324,10 +15920,10 @@ func TfloatTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err err } -// TfloatTsumCombinefn wraps MEOS C function tfloat_tsum_combinefn. -func TfloatTsumCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { +// TfloatTsumTransfn wraps MEOS C function tfloat_tsum_transfn. +func TfloatTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.tfloat_tsum_combinefn(state1._inner, state2._inner) + _cret := C.tfloat_tsum_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15390,17 +15986,6 @@ func TintTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error } -// TintTmaxCombinefn wraps MEOS C function tint_tmax_combinefn. -func TintTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.tint_tmax_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TintTminTransfn wraps MEOS C function tint_tmin_transfn. func TintTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15412,17 +15997,6 @@ func TintTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error } -// TintTminCombinefn wraps MEOS C function tint_tmin_combinefn. -func TintTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.tint_tmin_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TintTsumTransfn wraps MEOS C function tint_tsum_transfn. func TintTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15434,17 +16008,6 @@ func TintTsumTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error } -// TintTsumCombinefn wraps MEOS C function tint_tsum_combinefn. -func TintTsumCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.tint_tsum_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TintWmaxTransfn wraps MEOS C function tint_wmax_transfn. func TintWmaxTransfn(state *SkipList, temp *Temporal, interv *Interval) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15478,10 +16041,21 @@ func TintWsumTransfn(state *SkipList, temp *Temporal, interv *Interval) (_r0 *Sk } +// TBOXExtentTransfn wraps MEOS C function tbox_extent_transfn. +func TBOXExtentTransfn(state *TBox, box *TBox) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbox_extent_transfn(state._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + // TnumberExtentTransfn wraps MEOS C function tnumber_extent_transfn. -func TnumberExtentTransfn(box *TBox, temp *Temporal) (_r0 *TBox, _err error) { +func TnumberExtentTransfn(state *TBox, temp *Temporal) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tnumber_extent_transfn(box._inner, temp._inner) + _cret := C.tnumber_extent_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15522,6 +16096,17 @@ func TnumberTavgCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _e } +// TnumberTsumCombinefn wraps MEOS C function tnumber_tsum_combinefn. +func TnumberTsumCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { + C.meos_errno_reset() + _cret := C.tnumber_tsum_combinefn(state1._inner, state2._inner) + if _err = meosError(); _err != nil { + return + } + return &SkipList{_inner: _cret}, nil +} + + // TnumberWavgTransfn wraps MEOS C function tnumber_wavg_transfn. func TnumberWavgTransfn(state *SkipList, temp *Temporal, interv *Interval) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15599,17 +16184,6 @@ func TtextTmaxTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err erro } -// TtextTmaxCombinefn wraps MEOS C function ttext_tmax_combinefn. -func TtextTmaxCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.ttext_tmax_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TtextTminTransfn wraps MEOS C function ttext_tmin_transfn. func TtextTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { C.meos_errno_reset() @@ -15621,17 +16195,6 @@ func TtextTminTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err erro } -// TtextTminCombinefn wraps MEOS C function ttext_tmin_combinefn. -func TtextTminCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { - C.meos_errno_reset() - _cret := C.ttext_tmin_combinefn(state1._inner, state2._inner) - if _err = meosError(); _err != nil { - return - } - return &SkipList{_inner: _cret}, nil -} - - // TemporalSimplifyDp wraps MEOS C function temporal_simplify_dp. func TemporalSimplifyDp(temp *Temporal, dist float64, synchronized bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -15677,9 +16240,9 @@ func TemporalSimplifyMinTdelta(temp *Temporal, mint *Interval) (_r0 *Temporal, _ // TemporalTprecision wraps MEOS C function temporal_tprecision. -func TemporalTprecision(temp *Temporal, duration *Interval, origin int64) (_r0 *Temporal, _err error) { +func TemporalTprecision(temp *Temporal, duration *Interval, torigin int64) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.temporal_tprecision(temp._inner, duration._inner, C.TimestampTz(origin)) + _cret := C.temporal_tprecision(temp._inner, duration._inner, C.TimestampTz(torigin)) if _err = meosError(); _err != nil { return } @@ -15688,9 +16251,9 @@ func TemporalTprecision(temp *Temporal, duration *Interval, origin int64) (_r0 * // TemporalTsample wraps MEOS C function temporal_tsample. -func TemporalTsample(temp *Temporal, duration *Interval, origin int64, interp Interpolation) (_r0 *Temporal, _err error) { +func TemporalTsample(temp *Temporal, duration *Interval, torigin int64, interp Interpolation) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.temporal_tsample(temp._inner, duration._inner, C.TimestampTz(origin), C.interpType(interp)) + _cret := C.temporal_tsample(temp._inner, duration._inner, C.TimestampTz(torigin), C.interpType(interp)) if _err = meosError(); _err != nil { return } @@ -15699,9 +16262,9 @@ func TemporalTsample(temp *Temporal, duration *Interval, origin int64, interp In // TemporalDyntimewarpDistance wraps MEOS C function temporal_dyntimewarp_distance. -func TemporalDyntimewarpDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { +func TemporalDyntimewarpDistance(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.temporal_dyntimewarp_distance(temp1._inner, temp2._inner) + _cret := C.temporal_dyntimewarp_distance(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -15710,9 +16273,9 @@ func TemporalDyntimewarpDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, // TemporalDyntimewarpPath wraps MEOS C function temporal_dyntimewarp_path. -func TemporalDyntimewarpPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Pointer) (_r0 *Match, _err error) { +func TemporalDyntimewarpPath(temp1 *Temporal, temp2 *Temporal, spheroid bool, count unsafe.Pointer) (_r0 *Match, _err error) { C.meos_errno_reset() - _cret := C.temporal_dyntimewarp_path(temp1._inner, temp2._inner, (*C.int)(unsafe.Pointer(count))) + _cret := C.temporal_dyntimewarp_path(temp1._inner, temp2._inner, C.bool(spheroid), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15721,9 +16284,9 @@ func TemporalDyntimewarpPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Poin // TemporalFrechetDistance wraps MEOS C function temporal_frechet_distance. -func TemporalFrechetDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { +func TemporalFrechetDistance(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.temporal_frechet_distance(temp1._inner, temp2._inner) + _cret := C.temporal_frechet_distance(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -15732,9 +16295,9 @@ func TemporalFrechetDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _er // TemporalFrechetPath wraps MEOS C function temporal_frechet_path. -func TemporalFrechetPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Pointer) (_r0 *Match, _err error) { +func TemporalFrechetPath(temp1 *Temporal, temp2 *Temporal, spheroid bool, count unsafe.Pointer) (_r0 *Match, _err error) { C.meos_errno_reset() - _cret := C.temporal_frechet_path(temp1._inner, temp2._inner, (*C.int)(unsafe.Pointer(count))) + _cret := C.temporal_frechet_path(temp1._inner, temp2._inner, C.bool(spheroid), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15743,9 +16306,9 @@ func TemporalFrechetPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Pointer) // TemporalHausdorffDistance wraps MEOS C function temporal_hausdorff_distance. -func TemporalHausdorffDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { +func TemporalHausdorffDistance(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.temporal_hausdorff_distance(temp1._inner, temp2._inner) + _cret := C.temporal_hausdorff_distance(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -15754,9 +16317,9 @@ func TemporalHausdorffDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _ // TemporalAverageHausdorffDistance wraps MEOS C function temporal_average_hausdorff_distance. -func TemporalAverageHausdorffDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { +func TemporalAverageHausdorffDistance(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.temporal_average_hausdorff_distance(temp1._inner, temp2._inner) + _cret := C.temporal_average_hausdorff_distance(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -15765,9 +16328,9 @@ func TemporalAverageHausdorffDistance(temp1 *Temporal, temp2 *Temporal) (_r0 flo // TemporalLcssDistance wraps MEOS C function temporal_lcss_distance. -func TemporalLcssDistance(temp1 *Temporal, temp2 *Temporal, epsilon float64) (_r0 float64, _err error) { +func TemporalLcssDistance(temp1 *Temporal, temp2 *Temporal, epsilon float64, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.temporal_lcss_distance(temp1._inner, temp2._inner, C.double(epsilon)) + _cret := C.temporal_lcss_distance(temp1._inner, temp2._inner, C.double(epsilon), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -15787,9 +16350,9 @@ func TemporalExtKalmanFilter(temp *Temporal, gate float64, q float64, variance f // TemporalTimeBins wraps MEOS C function temporal_time_bins. -func TemporalTimeBins(temp *Temporal, duration *Interval, origin int64, count unsafe.Pointer) (_r0 *Span, _err error) { +func TemporalTimeBins(temp *Temporal, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.temporal_time_bins(temp._inner, duration._inner, C.TimestampTz(origin), (*C.int)(unsafe.Pointer(count))) + _cret := C.temporal_time_bins(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15798,9 +16361,75 @@ func TemporalTimeBins(temp *Temporal, duration *Interval, origin int64, count un // TemporalTimeSplit wraps MEOS C function temporal_time_split. -func TemporalTimeSplit(temp *Temporal, duration *Interval, torigin int64, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TemporalTimeSplit(temp *Temporal, duration *Interval, torigin int64, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.temporal_time_split(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (**C.TimestampTz)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TbigintTimeBoxes wraps MEOS C function tbigint_time_boxes. +func TbigintTimeBoxes(temp *Temporal, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TbigintValueBins wraps MEOS C function tbigint_value_bins. +func TbigintValueBins(temp *Temporal, vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_value_bins(temp._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &Span{_inner: _cret}, nil +} + + +// TbigintValueBoxes wraps MEOS C function tbigint_value_boxes. +func TbigintValueBoxes(temp *Temporal, vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_value_boxes(temp._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TbigintValueSplit wraps MEOS C function tbigint_value_split. +func TbigintValueSplit(temp *Temporal, vsize int64, vorigin int64, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_value_split(temp._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (**C.int64_t)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TbigintValueTimeBoxes wraps MEOS C function tbigint_value_time_boxes. +func TbigintValueTimeBoxes(temp *Temporal, vsize int64, duration *Interval, vorigin int64, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigint_value_time_boxes(temp._inner, C.int64_t(vsize), duration._inner, C.int64_t(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TbigintValueTimeSplit wraps MEOS C function tbigint_value_time_split. +func TbigintValueTimeSplit(temp *Temporal, vsize int64, duration *Interval, vorigin int64, torigin int64, border_inc bool, value_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.temporal_time_split(temp._inner, duration._inner, C.TimestampTz(torigin), (**C.TimestampTz)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) + _cret := C.tbigint_value_time_split(temp._inner, C.int64_t(vsize), duration._inner, C.int64_t(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (**C.int64_t)(unsafe.Pointer(value_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15808,10 +16437,87 @@ func TemporalTimeSplit(temp *Temporal, duration *Interval, torigin int64, bins u } +// TbigintboxTimeTiles wraps MEOS C function tbigintbox_time_tiles. +func TbigintboxTimeTiles(box *TBox, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigintbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TbigintboxValueTiles wraps MEOS C function tbigintbox_value_tiles. +func TbigintboxValueTiles(box *TBox, vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigintbox_value_tiles(box._inner, C.int64_t(vsize), C.int64_t(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TbigintboxValueTimeTiles wraps MEOS C function tbigintbox_value_time_tiles. +func TbigintboxValueTimeTiles(box *TBox, vsize int64, duration *Interval, vorigin int64, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbigintbox_value_time_tiles(box._inner, C.int64_t(vsize), duration._inner, C.int64_t(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TBOXGetTimeTile wraps MEOS C function tbox_get_time_tile. +func TBOXGetTimeTile(t int64, duration *Interval, torigin int64) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbox_get_time_tile(C.TimestampTz(t), duration._inner, C.TimestampTz(torigin)) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TBOXGetValueTile wraps MEOS C function tbox_get_value_tile. +func TBOXGetValueTile(value float64, vsize float64, vorigin float64) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbox_get_value_tile(C.double(value), C.double(vsize), C.double(vorigin)) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TBOXGetValueTimeTile wraps MEOS C function tbox_get_value_time_tile. +func TBOXGetValueTimeTile(value float64, t int64, vsize float64, duration *Interval, vorigin float64, torigin int64) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbox_get_value_time_tile(C.double(value), C.TimestampTz(t), C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin)) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + +// TBOXTimeTiles wraps MEOS C function tbox_time_tiles. +func TBOXTimeTiles(box *TBox, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { + C.meos_errno_reset() + _cret := C.tbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &TBox{_inner: _cret}, nil +} + + // TfloatTimeBoxes wraps MEOS C function tfloat_time_boxes. -func TfloatTimeBoxes(temp *Temporal, duration *Interval, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatTimeBoxes(temp *Temporal, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloat_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15820,9 +16526,9 @@ func TfloatTimeBoxes(temp *Temporal, duration *Interval, torigin int64, count un // TfloatValueBins wraps MEOS C function tfloat_value_bins. -func TfloatValueBins(temp *Temporal, vsize float64, vorigin float64, count unsafe.Pointer) (_r0 *Span, _err error) { +func TfloatValueBins(temp *Temporal, vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.tfloat_value_bins(temp._inner, C.double(vsize), C.double(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_value_bins(temp._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15831,9 +16537,9 @@ func TfloatValueBins(temp *Temporal, vsize float64, vorigin float64, count unsaf // TfloatValueBoxes wraps MEOS C function tfloat_value_boxes. -func TfloatValueBoxes(temp *Temporal, vsize float64, vorigin float64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatValueBoxes(temp *Temporal, vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloat_value_boxes(temp._inner, C.double(vsize), C.double(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_value_boxes(temp._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15842,9 +16548,9 @@ func TfloatValueBoxes(temp *Temporal, vsize float64, vorigin float64, count unsa // TfloatValueSplit wraps MEOS C function tfloat_value_split. -func TfloatValueSplit(temp *Temporal, size float64, origin float64, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TfloatValueSplit(temp *Temporal, vsize float64, vorigin float64, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tfloat_value_split(temp._inner, C.double(size), C.double(origin), (**C.double)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_value_split(temp._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (**C.double)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15853,9 +16559,9 @@ func TfloatValueSplit(temp *Temporal, size float64, origin float64, bins unsafe. // TfloatValueTimeBoxes wraps MEOS C function tfloat_value_time_boxes. -func TfloatValueTimeBoxes(temp *Temporal, vsize float64, duration *Interval, vorigin float64, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatValueTimeBoxes(temp *Temporal, vsize float64, duration *Interval, vorigin float64, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloat_value_time_boxes(temp._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_value_time_boxes(temp._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15864,9 +16570,9 @@ func TfloatValueTimeBoxes(temp *Temporal, vsize float64, duration *Interval, vor // TfloatValueTimeSplit wraps MEOS C function tfloat_value_time_split. -func TfloatValueTimeSplit(temp *Temporal, vsize float64, duration *Interval, vorigin float64, torigin int64, value_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TfloatValueTimeSplit(temp *Temporal, vsize float64, duration *Interval, vorigin float64, torigin int64, border_inc bool, value_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tfloat_value_time_split(temp._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), (**C.double)(unsafe.Pointer(value_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloat_value_time_split(temp._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (**C.double)(unsafe.Pointer(value_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15875,9 +16581,9 @@ func TfloatValueTimeSplit(temp *Temporal, vsize float64, duration *Interval, vor // TfloatboxTimeTiles wraps MEOS C function tfloatbox_time_tiles. -func TfloatboxTimeTiles(box *TBox, duration *Interval, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatboxTimeTiles(box *TBox, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloatbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloatbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15886,9 +16592,9 @@ func TfloatboxTimeTiles(box *TBox, duration *Interval, torigin int64, count unsa // TfloatboxValueTiles wraps MEOS C function tfloatbox_value_tiles. -func TfloatboxValueTiles(box *TBox, vsize float64, vorigin float64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatboxValueTiles(box *TBox, vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloatbox_value_tiles(box._inner, C.double(vsize), C.double(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloatbox_value_tiles(box._inner, C.double(vsize), C.double(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15897,9 +16603,9 @@ func TfloatboxValueTiles(box *TBox, vsize float64, vorigin float64, count unsafe // TfloatboxValueTimeTiles wraps MEOS C function tfloatbox_value_time_tiles. -func TfloatboxValueTimeTiles(box *TBox, vsize float64, duration *Interval, vorigin float64, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TfloatboxValueTimeTiles(box *TBox, vsize float64, duration *Interval, vorigin float64, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tfloatbox_value_time_tiles(box._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tfloatbox_value_time_tiles(box._inner, C.double(vsize), duration._inner, C.double(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15908,9 +16614,9 @@ func TfloatboxValueTimeTiles(box *TBox, vsize float64, duration *Interval, vorig // TintTimeBoxes wraps MEOS C function tint_time_boxes. -func TintTimeBoxes(temp *Temporal, duration *Interval, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintTimeBoxes(temp *Temporal, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tint_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15919,9 +16625,9 @@ func TintTimeBoxes(temp *Temporal, duration *Interval, torigin int64, count unsa // TintValueBins wraps MEOS C function tint_value_bins. -func TintValueBins(temp *Temporal, vsize int, vorigin int, count unsafe.Pointer) (_r0 *Span, _err error) { +func TintValueBins(temp *Temporal, vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (_r0 *Span, _err error) { C.meos_errno_reset() - _cret := C.tint_value_bins(temp._inner, C.int(vsize), C.int(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_value_bins(temp._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15930,9 +16636,9 @@ func TintValueBins(temp *Temporal, vsize int, vorigin int, count unsafe.Pointer) // TintValueBoxes wraps MEOS C function tint_value_boxes. -func TintValueBoxes(temp *Temporal, vsize int, vorigin int, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintValueBoxes(temp *Temporal, vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tint_value_boxes(temp._inner, C.int(vsize), C.int(vorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_value_boxes(temp._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15941,9 +16647,9 @@ func TintValueBoxes(temp *Temporal, vsize int, vorigin int, count unsafe.Pointer // TintValueSplit wraps MEOS C function tint_value_split. -func TintValueSplit(temp *Temporal, vsize int, vorigin int, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TintValueSplit(temp *Temporal, vsize int, vorigin int, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tint_value_split(temp._inner, C.int(vsize), C.int(vorigin), (**C.int)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_value_split(temp._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (**C.int)(unsafe.Pointer(bins)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15952,9 +16658,9 @@ func TintValueSplit(temp *Temporal, vsize int, vorigin int, bins unsafe.Pointer, // TintValueTimeBoxes wraps MEOS C function tint_value_time_boxes. -func TintValueTimeBoxes(temp *Temporal, vsize int, duration *Interval, vorigin int, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintValueTimeBoxes(temp *Temporal, vsize int, duration *Interval, vorigin int, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tint_value_time_boxes(temp._inner, C.int(vsize), duration._inner, C.int(vorigin), C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_value_time_boxes(temp._inner, C.int(vsize), duration._inner, C.int(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15963,9 +16669,9 @@ func TintValueTimeBoxes(temp *Temporal, vsize int, duration *Interval, vorigin i // TintValueTimeSplit wraps MEOS C function tint_value_time_split. -func TintValueTimeSplit(temp *Temporal, size int, duration *Interval, vorigin int, torigin int64, value_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TintValueTimeSplit(temp *Temporal, vsize int, duration *Interval, vorigin int, torigin int64, border_inc bool, value_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tint_value_time_split(temp._inner, C.int(size), duration._inner, C.int(vorigin), C.TimestampTz(torigin), (**C.int)(unsafe.Pointer(value_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) + _cret := C.tint_value_time_split(temp._inner, C.int(vsize), duration._inner, C.int(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (**C.int)(unsafe.Pointer(value_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15974,9 +16680,9 @@ func TintValueTimeSplit(temp *Temporal, size int, duration *Interval, vorigin in // TintboxTimeTiles wraps MEOS C function tintbox_time_tiles. -func TintboxTimeTiles(box *TBox, duration *Interval, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintboxTimeTiles(box *TBox, duration *Interval, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tintbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tintbox_time_tiles(box._inner, duration._inner, C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15985,9 +16691,9 @@ func TintboxTimeTiles(box *TBox, duration *Interval, torigin int64, count unsafe // TintboxValueTiles wraps MEOS C function tintbox_value_tiles. -func TintboxValueTiles(box *TBox, xsize int, xorigin int, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintboxValueTiles(box *TBox, vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tintbox_value_tiles(box._inner, C.int(xsize), C.int(xorigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tintbox_value_tiles(box._inner, C.int(vsize), C.int(vorigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -15996,9 +16702,9 @@ func TintboxValueTiles(box *TBox, xsize int, xorigin int, count unsafe.Pointer) // TintboxValueTimeTiles wraps MEOS C function tintbox_value_time_tiles. -func TintboxValueTimeTiles(box *TBox, xsize int, duration *Interval, xorigin int, torigin int64, count unsafe.Pointer) (_r0 *TBox, _err error) { +func TintboxValueTimeTiles(box *TBox, vsize int, duration *Interval, vorigin int, torigin int64, border_inc bool, count unsafe.Pointer) (_r0 *TBox, _err error) { C.meos_errno_reset() - _cret := C.tintbox_value_time_tiles(box._inner, C.int(xsize), duration._inner, C.int(xorigin), C.TimestampTz(torigin), (*C.int)(unsafe.Pointer(count))) + _cret := C.tintbox_value_time_tiles(box._inner, C.int(vsize), duration._inner, C.int(vorigin), C.TimestampTz(torigin), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } diff --git a/functions/meos_meos_catalog.go b/functions/meos_meos_catalog.go index 8aa924b..35b7bb6 100644 --- a/functions/meos_meos_catalog.go +++ b/functions/meos_meos_catalog.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -168,19 +174,6 @@ func InterptypeName(interp Interpolation) (_r0 string, _err error) { } -// InterptypeFromString wraps MEOS C function interptype_from_string. -func InterptypeFromString(interp_str string) (_r0 Interpolation, _err error) { - _c_interp_str := C.CString(interp_str) - defer C.free(unsafe.Pointer(_c_interp_str)) - C.meos_errno_reset() - _cret := C.interptype_from_string(_c_interp_str) - if _err = meosError(); _err != nil { - return - } - return Interpolation(_cret), nil -} - - // MeosTypeofHexwkb wraps MEOS C function meos_typeof_hexwkb. func MeosTypeofHexwkb(hexwkb string) (_r0 MeosType, _err error) { _c_hexwkb := C.CString(hexwkb) @@ -205,6 +198,19 @@ func MeostypeName(type_ MeosType) (_r0 string, _err error) { } +// MeostypeFromString wraps MEOS C function meostype_from_string. +func MeostypeFromString(name string) (_r0 MeosType, _err error) { + _c_name := C.CString(name) + defer C.free(unsafe.Pointer(_c_name)) + C.meos_errno_reset() + _cret := C.meostype_from_string(_c_name) + if _err = meosError(); _err != nil { + return + } + return MeosType(_cret), nil +} + + // TemptypeBasetype wraps MEOS C function temptype_basetype. func TemptypeBasetype(type_ MeosType) (_r0 MeosType, _err error) { C.meos_errno_reset() @@ -326,6 +332,17 @@ func AlphanumBasetype(type_ MeosType) (_r0 bool, _err error) { } +// EnsureAlphanumBasetype wraps MEOS C function ensure_alphanum_basetype. +func EnsureAlphanumBasetype(type_ MeosType) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.ensure_alphanum_basetype(C.MeosType(type_)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // AlphanumTemptype wraps MEOS C function alphanum_temptype. func AlphanumTemptype(type_ MeosType) (_r0 bool, _err error) { C.meos_errno_reset() @@ -667,6 +684,28 @@ func SpansetType(type_ MeosType) (_r0 bool, _err error) { } +// NumspansetType wraps MEOS C function numspanset_type. +func NumspansetType(type_ MeosType) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.numspanset_type(C.MeosType(type_)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// EnsureNumspansetType wraps MEOS C function ensure_numspanset_type. +func EnsureNumspansetType(type_ MeosType) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.ensure_numspanset_type(C.MeosType(type_)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // TimespansetType wraps MEOS C function timespanset_type. func TimespansetType(type_ MeosType) (_r0 bool, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_cbuffer.go b/functions/meos_meos_cbuffer.go index 37109d1..976b7c2 100644 --- a/functions/meos_meos_cbuffer.go +++ b/functions/meos_meos_cbuffer.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -87,6 +93,17 @@ import ( var _ = unsafe.Pointer(nil) +// CbufferAsEWKB wraps MEOS C function cbuffer_as_ewkb. +func CbufferAsEWKB(cb *Cbuffer, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.cbuffer_as_ewkb(cb._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // CbufferAsEWKT wraps MEOS C function cbuffer_as_ewkt. func CbufferAsEWKT(cb *Cbuffer, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -99,6 +116,18 @@ func CbufferAsEWKT(cb *Cbuffer, maxdd int) (_r0 string, _err error) { } +// CbufferAsHexewkb wraps MEOS C function cbuffer_as_hexewkb. +func CbufferAsHexewkb(cb *Cbuffer, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.cbuffer_as_hexewkb(cb._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // CbufferAsHexwkb wraps MEOS C function cbuffer_as_hexwkb. func CbufferAsHexwkb(cb *Cbuffer, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { C.meos_errno_reset() @@ -271,6 +300,17 @@ func CbufferHashExtended(cb *Cbuffer, seed uint64) (_r0 uint64, _err error) { } +// CbufferMemSize wraps MEOS C function cbuffer_mem_size. +func CbufferMemSize(cb *Cbuffer) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.cbuffer_mem_size(cb._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // CbufferPoint wraps MEOS C function cbuffer_point. func CbufferPoint(cb *Cbuffer) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -570,28 +610,6 @@ func CbufferNe(cb1 *Cbuffer, cb2 *Cbuffer) (_r0 bool, _err error) { } -// CbufferNsame wraps MEOS C function cbuffer_nsame. -func CbufferNsame(cb1 *Cbuffer, cb2 *Cbuffer) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.cbuffer_nsame(cb1._inner, cb2._inner) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - -// CbufferSame wraps MEOS C function cbuffer_same. -func CbufferSame(cb1 *Cbuffer, cb2 *Cbuffer) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.cbuffer_same(cb1._inner, cb2._inner) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - // CbuffersetIn wraps MEOS C function cbufferset_in. func CbuffersetIn(str string) (_r0 *Set, _err error) { _c_str := C.CString(str) @@ -618,9 +636,9 @@ func CbuffersetOut(s *Set, maxdd int) (_r0 string, _err error) { // CbuffersetMake wraps MEOS C function cbufferset_make. -func CbuffersetMake(values unsafe.Pointer, count int) (_r0 *Set, _err error) { +func CbuffersetMake(values *Cbuffer, count int) (_r0 *Set, _err error) { C.meos_errno_reset() - _cret := C.cbufferset_make((**C.Cbuffer)(unsafe.Pointer(values)), C.int(count)) + _cret := C.cbufferset_make(values._inner, C.int(count)) if _err = meosError(); _err != nil { return } @@ -941,6 +959,17 @@ func TcbufferStartValue(temp *Temporal) (_r0 *Cbuffer, _err error) { } +// TcbufferValue wraps MEOS C function tcbuffer_value. +func TcbufferValue(temp *Temporal) (_r0 *Cbuffer, _err error) { + C.meos_errno_reset() + _cret := C.tcbuffer_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Cbuffer{_inner: _cret}, nil +} + + // TcbufferValueAtTimestamptz wraps MEOS C function tcbuffer_value_at_timestamptz. func TcbufferValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Cbuffer, _err error) { var _out_value *C.Cbuffer @@ -976,6 +1005,17 @@ func TcbufferValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _ } +// TcbufferUnnest wraps MEOS C function tcbuffer_unnest. +func TcbufferUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tcbuffer_unnest(temp._inner, (***C.Cbuffer)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TcbufferToTfloat wraps MEOS C function tcbuffer_to_tfloat. func TcbufferToTfloat(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -1020,6 +1060,39 @@ func TcbufferExpand(temp *Temporal, dist float64) (_r0 *Temporal, _err error) { } +// TcbufferRotate wraps MEOS C function tcbuffer_rotate. +func TcbufferRotate(temp *Temporal, angle float64, x0 float64, y0 float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tcbuffer_rotate(temp._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TcbufferRotateZ wraps MEOS C function tcbuffer_rotate_z. +func TcbufferRotateZ(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tcbuffer_rotate_z(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TcbufferTranslate wraps MEOS C function tcbuffer_translate. +func TcbufferTranslate(temp *Temporal, deltax float64, deltay float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tcbuffer_translate(temp._inner, C.double(deltax), C.double(deltay)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TcbufferAtCbuffer wraps MEOS C function tcbuffer_at_cbuffer. func TcbufferAtCbuffer(temp *Temporal, cb *Cbuffer) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -1174,6 +1247,17 @@ func MindistanceTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal, threshold flo } +// MindistanceTcbufferarrTcbufferarr wraps MEOS C function mindistance_tcbufferarr_tcbufferarr. +func MindistanceTcbufferarrTcbufferarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.mindistance_tcbufferarr_tcbufferarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // NaiTcbufferCbuffer wraps MEOS C function nai_tcbuffer_cbuffer. func NaiTcbufferCbuffer(temp *Temporal, cb *Cbuffer) (_r0 *TInstant, _err error) { C.meos_errno_reset() @@ -1526,6 +1610,28 @@ func AcoversTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err er } +// AdisjointCbufferTcbuffer wraps MEOS C function adisjoint_cbuffer_tcbuffer. +func AdisjointCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.adisjoint_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// AdisjointGeoTcbuffer wraps MEOS C function adisjoint_geo_tcbuffer. +func AdisjointGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.adisjoint_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // AdisjointTcbufferGeo wraps MEOS C function adisjoint_tcbuffer_geo. func AdisjointTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1559,6 +1665,28 @@ func AdisjointTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err } +// AdwithinCbufferTcbuffer wraps MEOS C function adwithin_cbuffer_tcbuffer. +func AdwithinCbufferTcbuffer(cb *Cbuffer, temp *Temporal, dist float64) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.adwithin_cbuffer_tcbuffer(cb._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// AdwithinGeoTcbuffer wraps MEOS C function adwithin_geo_tcbuffer. +func AdwithinGeoTcbuffer(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.adwithin_geo_tcbuffer(gs._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // AdwithinTcbufferGeo wraps MEOS C function adwithin_tcbuffer_geo. func AdwithinTcbufferGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err error) { C.meos_errno_reset() @@ -1592,6 +1720,28 @@ func AdwithinTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal, dist float64) (_ } +// AintersectsCbufferTcbuffer wraps MEOS C function aintersects_cbuffer_tcbuffer. +func AintersectsCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.aintersects_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// AintersectsGeoTcbuffer wraps MEOS C function aintersects_geo_tcbuffer. +func AintersectsGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.aintersects_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // AintersectsTcbufferGeo wraps MEOS C function aintersects_tcbuffer_geo. func AintersectsTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1625,6 +1775,28 @@ func AintersectsTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _er } +// AtouchesCbufferTcbuffer wraps MEOS C function atouches_cbuffer_tcbuffer. +func AtouchesCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.atouches_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// AtouchesGeoTcbuffer wraps MEOS C function atouches_geo_tcbuffer. +func AtouchesGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.atouches_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // AtouchesTcbufferGeo wraps MEOS C function atouches_tcbuffer_geo. func AtouchesTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1669,6 +1841,17 @@ func EcontainsCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) } +// EcontainsGeoTcbuffer wraps MEOS C function econtains_geo_tcbuffer. +func EcontainsGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.econtains_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // EcontainsTcbufferCbuffer wraps MEOS C function econtains_tcbuffer_cbuffer. func EcontainsTcbufferCbuffer(temp *Temporal, cb *Cbuffer) (_r0 int, _err error) { C.meos_errno_reset() @@ -1757,6 +1940,28 @@ func EcoversTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err er } +// EdisjointCbufferTcbuffer wraps MEOS C function edisjoint_cbuffer_tcbuffer. +func EdisjointCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.edisjoint_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EdisjointGeoTcbuffer wraps MEOS C function edisjoint_geo_tcbuffer. +func EdisjointGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.edisjoint_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // EdisjointTcbufferGeo wraps MEOS C function edisjoint_tcbuffer_geo. func EdisjointTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1779,6 +1984,39 @@ func EdisjointTcbufferCbuffer(temp *Temporal, cb *Cbuffer) (_r0 int, _err error) } +// EdisjointTcbufferTcbuffer wraps MEOS C function edisjoint_tcbuffer_tcbuffer. +func EdisjointTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.edisjoint_tcbuffer_tcbuffer(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EdwithinCbufferTcbuffer wraps MEOS C function edwithin_cbuffer_tcbuffer. +func EdwithinCbufferTcbuffer(cb *Cbuffer, temp *Temporal, dist float64) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.edwithin_cbuffer_tcbuffer(cb._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EdwithinGeoTcbuffer wraps MEOS C function edwithin_geo_tcbuffer. +func EdwithinGeoTcbuffer(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.edwithin_geo_tcbuffer(gs._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // EdwithinTcbufferGeo wraps MEOS C function edwithin_tcbuffer_geo. func EdwithinTcbufferGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err error) { C.meos_errno_reset() @@ -1812,6 +2050,28 @@ func EdwithinTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal, dist float64) (_ } +// EintersectsCbufferTcbuffer wraps MEOS C function eintersects_cbuffer_tcbuffer. +func EintersectsCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.eintersects_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EintersectsGeoTcbuffer wraps MEOS C function eintersects_geo_tcbuffer. +func EintersectsGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.eintersects_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // EintersectsTcbufferGeo wraps MEOS C function eintersects_tcbuffer_geo. func EintersectsTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1845,6 +2105,28 @@ func EintersectsTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 int, _er } +// EtouchesCbufferTcbuffer wraps MEOS C function etouches_cbuffer_tcbuffer. +func EtouchesCbufferTcbuffer(cb *Cbuffer, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.etouches_cbuffer_tcbuffer(cb._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EtouchesGeoTcbuffer wraps MEOS C function etouches_geo_tcbuffer. +func EtouchesGeoTcbuffer(gs *Geom, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.etouches_geo_tcbuffer(gs._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // EtouchesTcbufferGeo wraps MEOS C function etouches_tcbuffer_geo. func EtouchesTcbufferGeo(temp *Temporal, gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() @@ -1988,6 +2270,17 @@ func TcoversTcbufferTcbuffer(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _ } +// TdwithinCbufferTcbuffer wraps MEOS C function tdwithin_cbuffer_tcbuffer. +func TdwithinCbufferTcbuffer(cb *Cbuffer, temp *Temporal, dist float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tdwithin_cbuffer_tcbuffer(cb._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TdwithinGeoTcbuffer wraps MEOS C function tdwithin_geo_tcbuffer. func TdwithinGeoTcbuffer(gs *Geom, temp *Temporal, dist float64) (_r0 *Temporal, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_geo.go b/functions/meos_meos_geo.go index 9e3b7ca..e1b1671 100644 --- a/functions/meos_meos_geo.go +++ b/functions/meos_meos_geo.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -274,11 +280,11 @@ func GeoOut(gs *Geom) (_r0 string, _err error) { // GeogFromHexewkb wraps MEOS C function geog_from_hexewkb. -func GeogFromHexewkb(wkt string) (_r0 *Geom, _err error) { - _c_wkt := C.CString(wkt) - defer C.free(unsafe.Pointer(_c_wkt)) +func GeogFromHexewkb(hexwkb string) (_r0 *Geom, _err error) { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) C.meos_errno_reset() - _cret := C.geog_from_hexewkb(_c_wkt) + _cret := C.geog_from_hexewkb(_c_hexwkb) if _err = meosError(); _err != nil { return } @@ -300,11 +306,11 @@ func GeogIn(str string, typmod int32) (_r0 *Geom, _err error) { // GeomFromHexewkb wraps MEOS C function geom_from_hexewkb. -func GeomFromHexewkb(wkt string) (_r0 *Geom, _err error) { - _c_wkt := C.CString(wkt) - defer C.free(unsafe.Pointer(_c_wkt)) +func GeomFromHexewkb(hexwkb string) (_r0 *Geom, _err error) { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) C.meos_errno_reset() - _cret := C.geom_from_hexewkb(_c_wkt) + _cret := C.geom_from_hexewkb(_c_hexwkb) if _err = meosError(); _err != nil { return } @@ -424,6 +430,61 @@ func GeoIsUnitary(gs *Geom) (_r0 bool, _err error) { } +// GeoMemSize wraps MEOS C function geo_mem_size. +func GeoMemSize(gs *Geom) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.geo_mem_size(gs._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// GeoArea wraps MEOS C function geo_area. +func GeoArea(gs *Geom, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geo_area(gs._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + +// GeoCentroid wraps MEOS C function geo_centroid. +func GeoCentroid(gs *Geom, spheroid bool) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_centroid(gs._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoLength wraps MEOS C function geo_length. +func GeoLength(gs *Geom, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geo_length(gs._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + +// GeoPerimeter wraps MEOS C function geo_perimeter. +func GeoPerimeter(gs *Geom, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geo_perimeter(gs._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // GeoTypename wraps MEOS C function geo_typename. func GeoTypename(type_ int) (_r0 string, _err error) { C.meos_errno_reset() @@ -546,6 +607,17 @@ func LinePointN(geom *Geom, n int) (_r0 *Geom, _err error) { } +// GeoAffine wraps MEOS C function geo_affine. +func GeoAffine(gs *Geom, a float64, b float64, c float64, d float64, e float64, f float64, g float64, h float64, i float64, xoff float64, yoff float64, zoff float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_affine(gs._inner, C.double(a), C.double(b), C.double(c), C.double(d), C.double(e), C.double(f), C.double(g), C.double(h), C.double(i), C.double(xoff), C.double(yoff), C.double(zoff)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeoReverse wraps MEOS C function geo_reverse. func GeoReverse(gs *Geom) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -557,6 +629,61 @@ func GeoReverse(gs *Geom) (_r0 *Geom, _err error) { } +// GeoRotate wraps MEOS C function geo_rotate. +func GeoRotate(gs *Geom, angle float64, x0 float64, y0 float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_rotate(gs._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoRotateGeo wraps MEOS C function geo_rotate_geo. +func GeoRotateGeo(gs *Geom, angle float64, origin *Geom) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_rotate_geo(gs._inner, C.double(angle), origin._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoRotateX wraps MEOS C function geo_rotate_x. +func GeoRotateX(gs *Geom, angle float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_rotate_x(gs._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoRotateY wraps MEOS C function geo_rotate_y. +func GeoRotateY(gs *Geom, angle float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_rotate_y(gs._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoRotateZ wraps MEOS C function geo_rotate_z. +func GeoRotateZ(gs *Geom, angle float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_rotate_z(gs._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeoRound wraps MEOS C function geo_round. func GeoRound(gs *Geom, maxdd int) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -568,6 +695,61 @@ func GeoRound(gs *Geom, maxdd int) (_r0 *Geom, _err error) { } +// GeoScale wraps MEOS C function geo_scale. +func GeoScale(gs *Geom, xfactor float64, yfactor float64, zfactor float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_scale(gs._inner, C.double(xfactor), C.double(yfactor), C.double(zfactor)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoScaleGeo wraps MEOS C function geo_scale_geo. +func GeoScaleGeo(gs *Geom, scale *Geom, sorigin *Geom) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_scale_geo(gs._inner, scale._inner, sorigin._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoSegmentize wraps MEOS C function geo_segmentize. +func GeoSegmentize(gs *Geom, max_seg_length float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_segmentize(gs._inner, C.double(max_seg_length)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoTranslate wraps MEOS C function geo_translate. +func GeoTranslate(gs *Geom, deltax float64, deltay float64, deltaz float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_translate(gs._inner, C.double(deltax), C.double(deltay), C.double(deltaz)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeoTransscale wraps MEOS C function geo_transscale. +func GeoTransscale(gs *Geom, deltax float64, deltay float64, xfactor float64, yfactor float64) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_transscale(gs._inner, C.double(deltax), C.double(deltay), C.double(xfactor), C.double(yfactor)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeoSetSRID wraps MEOS C function geo_set_srid. func GeoSetSRID(gs *Geom, srid int32) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -602,11 +784,11 @@ func GeoTransform(geom *Geom, srid_to int32) (_r0 *Geom, _err error) { // GeoTransformPipeline wraps MEOS C function geo_transform_pipeline. -func GeoTransformPipeline(gs *Geom, pipeline string, srid_to int32, is_forward bool) (_r0 *Geom, _err error) { - _c_pipeline := C.CString(pipeline) - defer C.free(unsafe.Pointer(_c_pipeline)) +func GeoTransformPipeline(gs *Geom, pipelinestr string, srid int32, is_forward bool) (_r0 *Geom, _err error) { + _c_pipelinestr := C.CString(pipelinestr) + defer C.free(unsafe.Pointer(_c_pipelinestr)) C.meos_errno_reset() - _cret := C.geo_transform_pipeline(gs._inner, _c_pipeline, C.int32_t(srid_to), C.bool(is_forward)) + _cret := C.geo_transform_pipeline(gs._inner, _c_pipelinestr, C.int32_t(srid), C.bool(is_forward)) if _err = meosError(); _err != nil { return } @@ -803,10 +985,10 @@ func GeomIntersection2dColl(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { } -// GeomMinBoundingRadius wraps MEOS C function geom_min_bounding_radius. -func GeomMinBoundingRadius(geom *Geom, radius unsafe.Pointer) (_r0 *Geom, _err error) { +// GeomMinimumBoundingRadius wraps MEOS C function geom_minimum_bounding_radius. +func GeomMinimumBoundingRadius(geom *Geom, radius unsafe.Pointer) (_r0 *Geom, _err error) { C.meos_errno_reset() - _cret := C.geom_min_bounding_radius(geom._inner, (*C.double)(unsafe.Pointer(radius))) + _cret := C.geom_minimum_bounding_radius(geom._inner, (*C.double)(unsafe.Pointer(radius))) if _err = meosError(); _err != nil { return } @@ -825,6 +1007,17 @@ func GeomOrientedEnvelope(gs *Geom) (_r0 *Geom, _err error) { } +// GeomShortestline wraps MEOS C function geom_shortestline. +func GeomShortestline(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geom_shortestline(gs1._inner, gs2._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeomShortestline2d wraps MEOS C function geom_shortestline2d. func GeomShortestline2d(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -847,10 +1040,32 @@ func GeomShortestline3d(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { } +// GeomSymdifference2d wraps MEOS C function geom_symdifference2d. +func GeomSymdifference2d(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geom_symdifference2d(gs1._inner, gs2._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeomUnaryUnion wraps MEOS C function geom_unary_union. -func GeomUnaryUnion(gs *Geom, prec float64) (_r0 *Geom, _err error) { +func GeomUnaryUnion(gs *Geom) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geom_unary_union(gs._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeomUnion2d wraps MEOS C function geom_union2d. +func GeomUnion2d(gs1 *Geom, gs2 *Geom) (_r0 *Geom, _err error) { C.meos_errno_reset() - _cret := C.geom_unary_union(gs._inner, C.double(prec)) + _cret := C.geom_union2d(gs1._inner, gs2._inner) if _err = meosError(); _err != nil { return } @@ -902,6 +1117,17 @@ func GeogDwithin(g1 *Geom, g2 *Geom, tolerance float64, use_spheroid bool) (_r0 } +// GeogDisjoint wraps MEOS C function geog_disjoint. +func GeogDisjoint(gs1 *Geom, gs2 *Geom, use_spheroid bool) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.geog_disjoint(gs1._inner, gs2._inner, C.bool(use_spheroid)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // GeogIntersects wraps MEOS C function geog_intersects. func GeogIntersects(gs1 *Geom, gs2 *Geom, use_spheroid bool) (_r0 bool, _err error) { C.meos_errno_reset() @@ -935,6 +1161,17 @@ func GeomCovers(gs1 *Geom, gs2 *Geom) (_r0 bool, _err error) { } +// GeomDisjoint wraps MEOS C function geom_disjoint. +func GeomDisjoint(gs1 *Geom, gs2 *Geom) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.geom_disjoint(gs1._inner, gs2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // GeomDisjoint2d wraps MEOS C function geom_disjoint2d. func GeomDisjoint2d(gs1 *Geom, gs2 *Geom) (_r0 bool, _err error) { C.meos_errno_reset() @@ -1081,10 +1318,54 @@ func GeoSplitNStboxes(gs *Geom, box_count int, count unsafe.Pointer) (_r0 *STBox } +// GeoDistance wraps MEOS C function geo_distance. +func GeoDistance(gs1 *Geom, gs2 *Geom, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geo_distance(gs1._inner, gs2._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + +// GeoShortestline wraps MEOS C function geo_shortestline. +func GeoShortestline(gs1 *Geom, gs2 *Geom, spheroid bool) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geo_shortestline(gs1._inner, gs2._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeogDistance wraps MEOS C function geog_distance. -func GeogDistance(g1 *Geom, g2 *Geom) (_r0 float64, _err error) { +func GeogDistance(g1 *Geom, g2 *Geom, use_spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.geog_distance(g1._inner, g2._inner) + _cret := C.geog_distance(g1._inner, g2._inner, C.bool(use_spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + +// GeogShortestline wraps MEOS C function geog_shortestline. +func GeogShortestline(gs1 *Geom, gs2 *Geom, use_spheroid bool) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geog_shortestline(gs1._inner, gs2._inner, C.bool(use_spheroid)) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + +// GeomDistance wraps MEOS C function geom_distance. +func GeomDistance(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geom_distance(gs1._inner, gs2._inner) if _err = meosError(); _err != nil { return } @@ -1103,6 +1384,17 @@ func GeomDistance2d(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { } +// GeomMaxDistance wraps MEOS C function geom_max_distance. +func GeomMaxDistance(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geom_max_distance(gs1._inner, gs2._inner) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // GeomMaxDistance2d wraps MEOS C function geom_max_distance2d. func GeomMaxDistance2d(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { C.meos_errno_reset() @@ -1114,6 +1406,17 @@ func GeomMaxDistance2d(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { } +// GeomMaxDistance3d wraps MEOS C function geom_max_distance3d. +func GeomMaxDistance3d(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.geom_max_distance3d(gs1._inner, gs2._inner) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // GeomDistance3d wraps MEOS C function geom_distance3d. func GeomDistance3d(gs1 *Geom, gs2 *Geom) (_r0 float64, _err error) { C.meos_errno_reset() @@ -1197,6 +1500,17 @@ func SpatialsetAsText(set *Set, maxdd int) (_r0 string, _err error) { } +// SpatialsetAsEWKB wraps MEOS C function spatialset_as_ewkb. +func SpatialsetAsEWKB(s *Set, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.spatialset_as_ewkb(s._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SpatialsetAsEWKT wraps MEOS C function spatialset_as_ewkt. func SpatialsetAsEWKT(set *Set, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -1209,6 +1523,18 @@ func SpatialsetAsEWKT(set *Set, maxdd int) (_r0 string, _err error) { } +// SpatialsetAsHexewkb wraps MEOS C function spatialset_as_hexewkb. +func SpatialsetAsHexewkb(s *Set, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.spatialset_as_hexewkb(s._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // GeosetMake wraps MEOS C function geoset_make. func GeosetMake(values unsafe.Pointer, count int) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -1231,6 +1557,17 @@ func GeoToSet(gs *Geom) (_r0 *Set, _err error) { } +// GeosetToGeo wraps MEOS C function geoset_to_geo. +func GeosetToGeo(s *Set) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.geoset_to_geo(s._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // GeosetEndValue wraps MEOS C function geoset_end_value. func GeosetEndValue(s *Set) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -1375,6 +1712,28 @@ func UnionSetGeo(s *Set, gs *Geom) (_r0 *Set, _err error) { } +// DistanceGeosetGeoset wraps MEOS C function distance_geoset_geoset. +func DistanceGeosetGeoset(s1 *Set, s2 *Set, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.distance_geoset_geoset(s1._inner, s2._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + +// DistanceSetGeo wraps MEOS C function distance_set_geo. +func DistanceSetGeo(s *Set, gs *Geom, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.distance_set_geo(s._inner, gs._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil +} + + // SpatialsetSetSRID wraps MEOS C function spatialset_set_srid. func SpatialsetSetSRID(s *Set, srid int32) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -1421,6 +1780,29 @@ func SpatialsetTransformPipeline(s *Set, pipelinestr string, srid int32, is_forw } +// STBOXAsEWKB wraps MEOS C function stbox_as_ewkb. +func STBOXAsEWKB(box *STBox, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.stbox_as_ewkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// STBOXAsHexewkb wraps MEOS C function stbox_as_hexewkb. +func STBOXAsHexewkb(box *STBox, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.stbox_as_hexewkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // STBOXAsHexwkb wraps MEOS C function stbox_as_hexwkb. func STBOXAsHexwkb(box *STBox, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { C.meos_errno_reset() @@ -2319,6 +2701,17 @@ func STBOXNe(box1 *STBox, box2 *STBox) (_r0 bool, _err error) { } +// STBOXSortkey wraps MEOS C function stbox_sortkey. +func STBOXSortkey(box *STBox, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.stbox_sortkey(box._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TspatialOut wraps MEOS C function tspatial_out. func TspatialOut(temp *Temporal, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -2435,6 +2828,17 @@ func TgeompointIn(str string) (_r0 *Temporal, _err error) { } +// TspatialAsEWKB wraps MEOS C function tspatial_as_ewkb. +func TspatialAsEWKB(temp *Temporal, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tspatial_as_ewkb(temp._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TspatialAsEWKT wraps MEOS C function tspatial_as_ewkt. func TspatialAsEWKT(temp *Temporal, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -2447,6 +2851,18 @@ func TspatialAsEWKT(temp *Temporal, maxdd int) (_r0 string, _err error) { } +// TspatialAsHexewkb wraps MEOS C function tspatial_as_hexewkb. +func TspatialAsHexewkb(temp *Temporal, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tspatial_as_hexewkb(temp._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // TspatialAsText wraps MEOS C function tspatial_as_text. func TspatialAsText(temp *Temporal, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -2657,6 +3073,28 @@ func TgeometryToTgeography(temp *Temporal) (_r0 *Temporal, _err error) { } +// TgeogpointToTgeompoint wraps MEOS C function tgeogpoint_to_tgeompoint. +func TgeogpointToTgeompoint(temp *Temporal) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeogpoint_to_tgeompoint(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeompointToTgeogpoint wraps MEOS C function tgeompoint_to_tgeogpoint. +func TgeompointToTgeogpoint(temp *Temporal) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeompoint_to_tgeogpoint(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TgeometryToTgeompoint wraps MEOS C function tgeometry_to_tgeompoint. func TgeometryToTgeompoint(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -2679,8 +3117,15 @@ func TgeompointToTgeometry(temp *Temporal) (_r0 *Temporal, _err error) { } -// TODO tpoint_as_mvtgeom: unsupported return type MvtGeom -// func TpointAsMvtgeom(...) { /* not yet handled by codegen */ } +// TpointAsMvtgeom wraps MEOS C function tpoint_as_mvtgeom. +func TpointAsMvtgeom(temp *Temporal, bounds *STBox, extent int32, buffer int32, clip_geom bool, gsarr unsafe.Pointer, timesarr unsafe.Pointer, count unsafe.Pointer) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.tpoint_as_mvtgeom(temp._inner, bounds._inner, C.int32_t(extent), C.int32_t(buffer), C.bool(clip_geom), (**C.GSERIALIZED)(unsafe.Pointer(gsarr)), (**C.int64_t)(unsafe.Pointer(timesarr)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} // TpointTfloatToGeomeas wraps MEOS C function tpoint_tfloat_to_geomeas. @@ -2741,9 +3186,9 @@ func BearingTpointTpoint(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err // TgeoCentroid wraps MEOS C function tgeo_centroid. -func TgeoCentroid(temp *Temporal) (_r0 *Temporal, _err error) { +func TgeoCentroid(temp *Temporal, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tgeo_centroid(temp._inner) + _cret := C.tgeo_centroid(temp._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -2795,6 +3240,17 @@ func TgeoTraversedArea(temp *Temporal, unary_union bool) (_r0 *Geom, _err error) } +// TgeoValue wraps MEOS C function tgeo_value. +func TgeoValue(temp *Temporal) (_r0 *Geom, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Geom{_inner: _cret}, nil +} + + // TgeoValueAtTimestamptz wraps MEOS C function tgeo_value_at_timestamptz. func TgeoValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Geom, _err error) { var _out_result *C.GSERIALIZED @@ -2830,6 +3286,17 @@ func TgeoValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err } +// TgeoUnnest wraps MEOS C function tgeo_unnest. +func TgeoUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_unnest(temp._inner, (***C.GSERIALIZED)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TpointAngularDifference wraps MEOS C function tpoint_angular_difference. func TpointAngularDifference(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -2853,9 +3320,9 @@ func TpointAzimuth(temp *Temporal) (_r0 *Temporal, _err error) { // TpointCumulativeLength wraps MEOS C function tpoint_cumulative_length. -func TpointCumulativeLength(temp *Temporal) (_r0 *Temporal, _err error) { +func TpointCumulativeLength(temp *Temporal, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tpoint_cumulative_length(temp._inner) + _cret := C.tpoint_cumulative_length(temp._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -2920,9 +3387,9 @@ func TpointIsSimple(temp *Temporal) (_r0 bool, _err error) { // TpointLength wraps MEOS C function tpoint_length. -func TpointLength(temp *Temporal) (_r0 float64, _err error) { +func TpointLength(temp *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.tpoint_length(temp._inner) + _cret := C.tpoint_length(temp._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -2931,9 +3398,9 @@ func TpointLength(temp *Temporal) (_r0 float64, _err error) { // TpointSpeed wraps MEOS C function tpoint_speed. -func TpointSpeed(temp *Temporal) (_r0 *Temporal, _err error) { +func TpointSpeed(temp *Temporal, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tpoint_speed(temp._inner) + _cret := C.tpoint_speed(temp._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -2964,9 +3431,64 @@ func TpointTwcentroid(temp *Temporal) (_r0 *Geom, _err error) { // TgeoAffine wraps MEOS C function tgeo_affine. -func TgeoAffine(temp *Temporal, a *AFFINE) (_r0 *Temporal, _err error) { +func TgeoAffine(temp *Temporal, a float64, b float64, c float64, d float64, e float64, f float64, g float64, h float64, i float64, xoff float64, yoff float64, zoff float64) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tgeo_affine(temp._inner, a._inner) + _cret := C.tgeo_affine(temp._inner, C.double(a), C.double(b), C.double(c), C.double(d), C.double(e), C.double(f), C.double(g), C.double(h), C.double(i), C.double(xoff), C.double(yoff), C.double(zoff)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoRotate wraps MEOS C function tgeo_rotate. +func TgeoRotate(temp *Temporal, angle float64, x0 float64, y0 float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_rotate(temp._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoRotateGeo wraps MEOS C function tgeo_rotate_geo. +func TgeoRotateGeo(temp *Temporal, angle float64, origin *Geom) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_rotate_geo(temp._inner, C.double(angle), origin._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoRotateX wraps MEOS C function tgeo_rotate_x. +func TgeoRotateX(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_rotate_x(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoRotateY wraps MEOS C function tgeo_rotate_y. +func TgeoRotateY(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_rotate_y(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoRotateZ wraps MEOS C function tgeo_rotate_z. +func TgeoRotateZ(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_rotate_z(temp._inner, C.double(angle)) if _err = meosError(); _err != nil { return } @@ -2975,9 +3497,42 @@ func TgeoAffine(temp *Temporal, a *AFFINE) (_r0 *Temporal, _err error) { // TgeoScale wraps MEOS C function tgeo_scale. -func TgeoScale(temp *Temporal, scale *Geom, sorigin *Geom) (_r0 *Temporal, _err error) { +func TgeoScale(temp *Temporal, xfactor float64, yfactor float64, zfactor float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_scale(temp._inner, C.double(xfactor), C.double(yfactor), C.double(zfactor)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoScaleGeo wraps MEOS C function tgeo_scale_geo. +func TgeoScaleGeo(temp *Temporal, scale *Geom, sorigin *Geom) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_scale_geo(temp._inner, scale._inner, sorigin._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoTranslate wraps MEOS C function tgeo_translate. +func TgeoTranslate(temp *Temporal, deltax float64, deltay float64, deltaz float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_translate(temp._inner, C.double(deltax), C.double(deltay), C.double(deltaz)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeoTransscale wraps MEOS C function tgeo_transscale. +func TgeoTransscale(temp *Temporal, deltax float64, deltay float64, xfactor float64, yfactor float64) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tgeo_scale(temp._inner, scale._inner, sorigin._inner) + _cret := C.tgeo_transscale(temp._inner, C.double(deltax), C.double(deltay), C.double(xfactor), C.double(yfactor)) if _err = meosError(); _err != nil { return } @@ -3372,6 +3927,17 @@ func TgeoSpaceBoxes(temp *Temporal, xsize float64, ysize float64, zsize float64, } +// TgeoTimeBoxes wraps MEOS C function tgeo_time_boxes. +func TgeoTimeBoxes(temp *Temporal, duration *Interval, torigin int64, bitmatrix bool, border_inc bool, count unsafe.Pointer) (_r0 *STBox, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(bitmatrix), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &STBox{_inner: _cret}, nil +} + + // TgeoSpaceTimeBoxes wraps MEOS C function tgeo_space_time_boxes. func TgeoSpaceTimeBoxes(temp *Temporal, xsize float64, ysize float64, zsize float64, duration *Interval, sorigin *Geom, torigin int64, bitmatrix bool, border_inc bool, count unsafe.Pointer) (_r0 *STBox, _err error) { C.meos_errno_reset() @@ -4198,9 +4764,9 @@ func AdisjointTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err error) { // AdwithinGeoTgeo wraps MEOS C function adwithin_geo_tgeo. -func AdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err error) { +func AdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.adwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist)) + _cret := C.adwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4209,9 +4775,9 @@ func AdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err erro // AdwithinTgeoGeo wraps MEOS C function adwithin_tgeo_geo. -func AdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err error) { +func AdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.adwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist)) + _cret := C.adwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4220,9 +4786,9 @@ func AdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err erro // AdwithinTgeoTgeo wraps MEOS C function adwithin_tgeo_tgeo. -func AdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64) (_r0 int, _err error) { +func AdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.adwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist)) + _cret := C.adwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4418,9 +4984,9 @@ func EdisjointTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 int, _err error) { // EdwithinGeoTgeo wraps MEOS C function edwithin_geo_tgeo. -func EdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err error) { +func EdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.edwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist)) + _cret := C.edwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4429,9 +4995,9 @@ func EdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 int, _err erro // EdwithinTgeoGeo wraps MEOS C function edwithin_tgeo_geo. -func EdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err error) { +func EdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.edwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist)) + _cret := C.edwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4440,9 +5006,9 @@ func EdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 int, _err erro // EdwithinTgeoTgeo wraps MEOS C function edwithin_tgeo_tgeo. -func EdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64) (_r0 int, _err error) { +func EdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64, spheroid bool) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.edwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist)) + _cret := C.edwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4638,9 +5204,9 @@ func TdisjointTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err er // TdwithinGeoTgeo wraps MEOS C function tdwithin_geo_tgeo. -func TdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 *Temporal, _err error) { +func TdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tdwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist)) + _cret := C.tdwithin_geo_tgeo(gs._inner, temp._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4649,9 +5215,9 @@ func TdwithinGeoTgeo(gs *Geom, temp *Temporal, dist float64) (_r0 *Temporal, _er // TdwithinTgeoGeo wraps MEOS C function tdwithin_tgeo_geo. -func TdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 *Temporal, _err error) { +func TdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tdwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist)) + _cret := C.tdwithin_tgeo_geo(temp._inner, gs._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4660,9 +5226,9 @@ func TdwithinTgeoGeo(temp *Temporal, gs *Geom, dist float64) (_r0 *Temporal, _er // TdwithinTgeoTgeo wraps MEOS C function tdwithin_tgeo_tgeo. -func TdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64) (_r0 *Temporal, _err error) { +func TdwithinTgeoTgeo(temp1 *Temporal, temp2 *Temporal, dist float64, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tdwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist)) + _cret := C.tdwithin_tgeo_tgeo(temp1._inner, temp2._inner, C.double(dist), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4737,9 +5303,9 @@ func TtouchesTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err err // EdwithinTgeoarrTgeoarr wraps MEOS C function edwithin_tgeoarr_tgeoarr. -func EdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func EdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, spheroid bool, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.edwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), (*C.int)(unsafe.Pointer(count))) + _cret := C.edwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), C.bool(spheroid), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -4748,9 +5314,9 @@ func EdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer // AdwithinTgeoarrTgeoarr wraps MEOS C function adwithin_tgeoarr_tgeoarr. -func AdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func AdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, spheroid bool, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.adwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), (*C.int)(unsafe.Pointer(count))) + _cret := C.adwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), C.bool(spheroid), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -4825,9 +5391,9 @@ func AdisjointTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointe // TdwithinTgeoarrTgeoarr wraps MEOS C function tdwithin_tgeoarr_tgeoarr. -func TdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, count unsafe.Pointer, periods unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { +func TdwithinTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, dist float64, spheroid bool, count unsafe.Pointer, periods unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.tdwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), (*C.int)(unsafe.Pointer(count)), (***C.SpanSet)(unsafe.Pointer(periods))) + _cret := C.tdwithin_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.double(dist), C.bool(spheroid), (*C.int)(unsafe.Pointer(count)), (***C.SpanSet)(unsafe.Pointer(periods))) if _err = meosError(); _err != nil { return } @@ -4869,9 +5435,9 @@ func TdisjointTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointe // TdistanceTgeoGeo wraps MEOS C function tdistance_tgeo_geo. -func TdistanceTgeoGeo(temp *Temporal, gs *Geom) (_r0 *Temporal, _err error) { +func TdistanceTgeoGeo(temp *Temporal, gs *Geom, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tdistance_tgeo_geo(temp._inner, gs._inner) + _cret := C.tdistance_tgeo_geo(temp._inner, gs._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4880,9 +5446,9 @@ func TdistanceTgeoGeo(temp *Temporal, gs *Geom) (_r0 *Temporal, _err error) { // TdistanceTgeoTgeo wraps MEOS C function tdistance_tgeo_tgeo. -func TdistanceTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err error) { +func TdistanceTgeoTgeo(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tdistance_tgeo_tgeo(temp1._inner, temp2._inner) + _cret := C.tdistance_tgeo_tgeo(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4891,9 +5457,9 @@ func TdistanceTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err er // NadSTBOXGeo wraps MEOS C function nad_stbox_geo. -func NadSTBOXGeo(box *STBox, gs *Geom) (_r0 float64, _err error) { +func NadSTBOXGeo(box *STBox, gs *Geom, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.nad_stbox_geo(box._inner, gs._inner) + _cret := C.nad_stbox_geo(box._inner, gs._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4902,9 +5468,9 @@ func NadSTBOXGeo(box *STBox, gs *Geom) (_r0 float64, _err error) { // NadSTBOXSTBOX wraps MEOS C function nad_stbox_stbox. -func NadSTBOXSTBOX(box1 *STBox, box2 *STBox) (_r0 float64, _err error) { +func NadSTBOXSTBOX(box1 *STBox, box2 *STBox, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.nad_stbox_stbox(box1._inner, box2._inner) + _cret := C.nad_stbox_stbox(box1._inner, box2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4924,9 +5490,9 @@ func STBOXSpatialDistance(box1 *STBox, box2 *STBox) (_r0 float64, _err error) { // NadTgeoGeo wraps MEOS C function nad_tgeo_geo. -func NadTgeoGeo(temp *Temporal, gs *Geom) (_r0 float64, _err error) { +func NadTgeoGeo(temp *Temporal, gs *Geom, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.nad_tgeo_geo(temp._inner, gs._inner) + _cret := C.nad_tgeo_geo(temp._inner, gs._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4935,9 +5501,9 @@ func NadTgeoGeo(temp *Temporal, gs *Geom) (_r0 float64, _err error) { // NadTgeoSTBOX wraps MEOS C function nad_tgeo_stbox. -func NadTgeoSTBOX(temp *Temporal, box *STBox) (_r0 float64, _err error) { +func NadTgeoSTBOX(temp *Temporal, box *STBox, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.nad_tgeo_stbox(temp._inner, box._inner) + _cret := C.nad_tgeo_stbox(temp._inner, box._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4946,9 +5512,9 @@ func NadTgeoSTBOX(temp *Temporal, box *STBox) (_r0 float64, _err error) { // NadTgeoTgeo wraps MEOS C function nad_tgeo_tgeo. -func NadTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { +func NadTgeoTgeo(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.nad_tgeo_tgeo(temp1._inner, temp2._inner) + _cret := C.nad_tgeo_tgeo(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4957,9 +5523,9 @@ func NadTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { // NaiTgeoGeo wraps MEOS C function nai_tgeo_geo. -func NaiTgeoGeo(temp *Temporal, gs *Geom) (_r0 *TInstant, _err error) { +func NaiTgeoGeo(temp *Temporal, gs *Geom, spheroid bool) (_r0 *TInstant, _err error) { C.meos_errno_reset() - _cret := C.nai_tgeo_geo(temp._inner, gs._inner) + _cret := C.nai_tgeo_geo(temp._inner, gs._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4968,9 +5534,9 @@ func NaiTgeoGeo(temp *Temporal, gs *Geom) (_r0 *TInstant, _err error) { // NaiTgeoTgeo wraps MEOS C function nai_tgeo_tgeo. -func NaiTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *TInstant, _err error) { +func NaiTgeoTgeo(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 *TInstant, _err error) { C.meos_errno_reset() - _cret := C.nai_tgeo_tgeo(temp1._inner, temp2._inner) + _cret := C.nai_tgeo_tgeo(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4979,9 +5545,9 @@ func NaiTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *TInstant, _err error) { // ShortestlineTgeoGeo wraps MEOS C function shortestline_tgeo_geo. -func ShortestlineTgeoGeo(temp *Temporal, gs *Geom) (_r0 *Geom, _err error) { +func ShortestlineTgeoGeo(temp *Temporal, gs *Geom, spheroid bool) (_r0 *Geom, _err error) { C.meos_errno_reset() - _cret := C.shortestline_tgeo_geo(temp._inner, gs._inner) + _cret := C.shortestline_tgeo_geo(temp._inner, gs._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -4990,9 +5556,9 @@ func ShortestlineTgeoGeo(temp *Temporal, gs *Geom) (_r0 *Geom, _err error) { // ShortestlineTgeoTgeo wraps MEOS C function shortestline_tgeo_tgeo. -func ShortestlineTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Geom, _err error) { +func ShortestlineTgeoTgeo(temp1 *Temporal, temp2 *Temporal, spheroid bool) (_r0 *Geom, _err error) { C.meos_errno_reset() - _cret := C.shortestline_tgeo_tgeo(temp1._inner, temp2._inner) + _cret := C.shortestline_tgeo_tgeo(temp1._inner, temp2._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -5000,10 +5566,10 @@ func ShortestlineTgeoTgeo(temp1 *Temporal, temp2 *Temporal) (_r0 *Geom, _err err } -// MindistanceTgeoTgeo wraps MEOS C function mindistance_tgeo_tgeo. -func MindistanceTgeoTgeo(temp1 *Temporal, temp2 *Temporal, threshold float64) (_r0 float64, _err error) { +// MindistanceTgeoarrTgeoarr wraps MEOS C function mindistance_tgeoarr_tgeoarr. +func MindistanceTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.mindistance_tgeo_tgeo(temp1._inner, temp2._inner, C.double(threshold)) + _cret := C.mindistance_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -5011,14 +5577,14 @@ func MindistanceTgeoTgeo(temp1 *Temporal, temp2 *Temporal, threshold float64) (_ } -// MindistanceTgeoarrTgeoarr wraps MEOS C function mindistance_tgeoarr_tgeoarr. -func MindistanceTgeoarrTgeoarr(arr1 unsafe.Pointer, count1 int, arr2 unsafe.Pointer, count2 int) (_r0 float64, _err error) { +// TpointTcentroidCombinefn wraps MEOS C function tpoint_tcentroid_combinefn. +func TpointTcentroidCombinefn(state1 *SkipList, state2 *SkipList) (_r0 *SkipList, _err error) { C.meos_errno_reset() - _cret := C.mindistance_tgeoarr_tgeoarr((**C.Temporal)(unsafe.Pointer(arr1)), C.int(count1), (**C.Temporal)(unsafe.Pointer(arr2)), C.int(count2)) + _cret := C.tpoint_tcentroid_combinefn(state1._inner, state2._inner) if _err = meosError(); _err != nil { return } - return float64(_cret), nil + return &SkipList{_inner: _cret}, nil } @@ -5044,10 +5610,21 @@ func TpointTcentroidTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _er } +// STBOXExtentTransfn wraps MEOS C function stbox_extent_transfn. +func STBOXExtentTransfn(state *STBox, box *STBox) (_r0 *STBox, _err error) { + C.meos_errno_reset() + _cret := C.stbox_extent_transfn(state._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return &STBox{_inner: _cret}, nil +} + + // TspatialExtentTransfn wraps MEOS C function tspatial_extent_transfn. -func TspatialExtentTransfn(box *STBox, temp *Temporal) (_r0 *STBox, _err error) { +func TspatialExtentTransfn(state *STBox, temp *Temporal) (_r0 *STBox, _err error) { C.meos_errno_reset() - _cret := C.tspatial_extent_transfn(box._inner, temp._inner) + _cret := C.tspatial_extent_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -5121,12 +5698,26 @@ func STBOXTimeTiles(bounds *STBox, duration *Interval, torigin int64, border_inc } -// TODO tgeo_space_split: unsupported return type SpaceSplit -// func TgeoSpaceSplit(...) { /* not yet handled by codegen */ } +// TgeoSpaceSplit wraps MEOS C function tgeo_space_split. +func TgeoSpaceSplit(temp *Temporal, xsize float64, ysize float64, zsize float64, sorigin *Geom, bitmatrix bool, border_inc bool, space_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_space_split(temp._inner, C.double(xsize), C.double(ysize), C.double(zsize), sorigin._inner, C.bool(bitmatrix), C.bool(border_inc), (***C.GSERIALIZED)(unsafe.Pointer(space_bins)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} -// TODO tgeo_space_time_split: unsupported return type SpaceTimeSplit -// func TgeoSpaceTimeSplit(...) { /* not yet handled by codegen */ } +// TgeoSpaceTimeSplit wraps MEOS C function tgeo_space_time_split. +func TgeoSpaceTimeSplit(temp *Temporal, xsize float64, ysize float64, zsize float64, duration *Interval, sorigin *Geom, torigin int64, bitmatrix bool, border_inc bool, space_bins unsafe.Pointer, time_bins unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_space_time_split(temp._inner, C.double(xsize), C.double(ysize), C.double(zsize), duration._inner, sorigin._inner, C.TimestampTz(torigin), C.bool(bitmatrix), C.bool(border_inc), (***C.GSERIALIZED)(unsafe.Pointer(space_bins)), (**C.TimestampTz)(unsafe.Pointer(time_bins)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} // GeoClusterKmeans wraps MEOS C function geo_cluster_kmeans. diff --git a/functions/meos_meos_h3.go b/functions/meos_meos_h3.go index 152b2fa..238901e 100644 --- a/functions/meos_meos_h3.go +++ b/functions/meos_meos_h3.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -100,6 +106,17 @@ func H3indexIn(str string) (_r0 uint64, _err error) { } +// BigintToH3index wraps MEOS C function bigint_to_h3index. +func BigintToH3index(i int64) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.bigint_to_h3index(C.int64_t(i)) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + // H3indexOut wraps MEOS C function h3index_out. func H3indexOut(cell uint64) (_r0 string, _err error) { C.meos_errno_reset() @@ -233,6 +250,17 @@ func H3indexHash(cell uint64) (_r0 uint32, _err error) { } +// H3indexHashExtended wraps MEOS C function h3index_hash_extended. +func H3indexHashExtended(cell uint64, seed uint64) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.h3index_hash_extended(C.uint64_t(cell), C.uint64_t(seed)) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + // H3GridDisk wraps MEOS C function h3_grid_disk. func H3GridDisk(origin uint64, k int) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -486,6 +514,31 @@ func Th3indexseqsetIn(str string) (_r0 *TSequenceSet, _err error) { } +// Th3indexOut wraps MEOS C function th3index_out. +func Th3indexOut(temp *Temporal) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.th3index_out(temp._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// Th3indexFromMFJSON wraps MEOS C function th3index_from_mfjson. +func Th3indexFromMFJSON(mfjson string) (_r0 *Temporal, _err error) { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + C.meos_errno_reset() + _cret := C.th3index_from_mfjson(_c_mfjson) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // Th3indexMake wraps MEOS C function th3index_make. func Th3indexMake(value uint64, t int64) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -508,6 +561,50 @@ func Th3indexinstMake(value uint64, t int64) (_r0 *TInstant, _err error) { } +// Th3indexFromBaseTemp wraps MEOS C function th3index_from_base_temp. +func Th3indexFromBaseTemp(value uint64, temp *Temporal) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.th3index_from_base_temp(C.uint64_t(value), temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// Th3indexseqFromBaseTstzset wraps MEOS C function th3indexseq_from_base_tstzset. +func Th3indexseqFromBaseTstzset(value uint64, s *Set) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.th3indexseq_from_base_tstzset(C.uint64_t(value), s._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// Th3indexseqFromBaseTstzspan wraps MEOS C function th3indexseq_from_base_tstzspan. +func Th3indexseqFromBaseTstzspan(value uint64, s *Span) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.th3indexseq_from_base_tstzspan(C.uint64_t(value), s._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// Th3indexseqsetFromBaseTstzspanset wraps MEOS C function th3indexseqset_from_base_tstzspanset. +func Th3indexseqsetFromBaseTstzspanset(value uint64, ss *SpanSet) (_r0 *TSequenceSet, _err error) { + C.meos_errno_reset() + _cret := C.th3indexseqset_from_base_tstzspanset(C.uint64_t(value), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + // Th3indexseqMake wraps MEOS C function th3indexseq_make. func Th3indexseqMake(values unsafe.Pointer, times unsafe.Pointer, count int, lower_inc bool, upper_inc bool) (_r0 *TSequence, _err error) { C.meos_errno_reset() @@ -552,6 +649,17 @@ func Th3indexEndValue(temp *Temporal) (_r0 uint64, _err error) { } +// Th3indexValue wraps MEOS C function th3index_value. +func Th3indexValue(temp *Temporal) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.th3index_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + // Th3indexValueN wraps MEOS C function th3index_value_n. func Th3indexValueN(temp *Temporal, n int) (_r0 bool, _r1 uint64, _err error) { var _out_result C.uint64_t @@ -575,6 +683,17 @@ func Th3indexValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _ } +// Th3indexUnnest wraps MEOS C function th3index_unnest. +func Th3indexUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.th3index_unnest(temp._inner, (**C.uint64_t)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // Th3indexValueAtTimestamptz wraps MEOS C function th3index_value_at_timestamptz. func Th3indexValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 uint64, _err error) { var _out_result C.uint64_t @@ -609,6 +728,28 @@ func Th3indexToTbigint(temp *Temporal) (_r0 *Temporal, _err error) { } +// Th3indexAtValue wraps MEOS C function th3index_at_value. +func Th3indexAtValue(temp *Temporal, cell uint64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.th3index_at_value(temp._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// Th3indexMinusValue wraps MEOS C function th3index_minus_value. +func Th3indexMinusValue(temp *Temporal, cell uint64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.th3index_minus_value(temp._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // EverEqH3indexTh3index wraps MEOS C function ever_eq_h3index_th3index. func EverEqH3indexTh3index(cell uint64, temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() @@ -896,9 +1037,9 @@ func Th3indexChildPosToCell(child_pos *Temporal, parent *Temporal, child_res int // TgeogpointToTh3index wraps MEOS C function tgeogpoint_to_th3index. -func TgeogpointToTh3index(temp *Temporal, resolution int32) (_r0 *Temporal, _err error) { +func TgeogpointToTh3index(temp *Temporal, resolution int32, border_inc bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tgeogpoint_to_th3index(temp._inner, C.int32(resolution)) + _cret := C.tgeogpoint_to_th3index(temp._inner, C.int32(resolution), C.bool(border_inc)) if _err = meosError(); _err != nil { return } @@ -907,9 +1048,9 @@ func TgeogpointToTh3index(temp *Temporal, resolution int32) (_r0 *Temporal, _err // TgeompointToTh3index wraps MEOS C function tgeompoint_to_th3index. -func TgeompointToTh3index(temp *Temporal, resolution int32) (_r0 *Temporal, _err error) { +func TgeompointToTh3index(temp *Temporal, resolution int32, border_inc bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tgeompoint_to_th3index(temp._inner, C.int32(resolution)) + _cret := C.tgeompoint_to_th3index(temp._inner, C.int32(resolution), C.bool(border_inc)) if _err = meosError(); _err != nil { return } @@ -917,6 +1058,28 @@ func TgeompointToTh3index(temp *Temporal, resolution int32) (_r0 *Temporal, _err } +// TgeogpointH3indexSplit wraps MEOS C function tgeogpoint_h3index_split. +func TgeogpointH3indexSplit(temp *Temporal, resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeogpoint_h3index_split(temp._inner, C.int32(resolution), C.bool(border_inc), (**C.uint64_t)(unsafe.Pointer(cells)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TgeompointH3indexSplit wraps MEOS C function tgeompoint_h3index_split. +func TgeompointH3indexSplit(temp *Temporal, resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeompoint_h3index_split(temp._inner, C.int32(resolution), C.bool(border_inc), (**C.uint64_t)(unsafe.Pointer(cells)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // Th3indexToTgeogpoint wraps MEOS C function th3index_to_tgeogpoint. func Th3indexToTgeogpoint(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -950,6 +1113,208 @@ func H3indexToSet(cell uint64) (_r0 *Set, _err error) { } +// H3indexsetIn wraps MEOS C function h3indexset_in. +func H3indexsetIn(str string) (_r0 *Set, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.h3indexset_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// H3indexsetOut wraps MEOS C function h3indexset_out. +func H3indexsetOut(s *Set) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_out(s._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// H3indexsetMake wraps MEOS C function h3indexset_make. +func H3indexsetMake(values unsafe.Pointer, count int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_make((*C.uint64_t)(unsafe.Pointer(values)), C.int(count)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// H3indexsetEndValue wraps MEOS C function h3indexset_end_value. +func H3indexsetEndValue(s *Set) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_end_value(s._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// H3indexsetStartValue wraps MEOS C function h3indexset_start_value. +func H3indexsetStartValue(s *Set) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_start_value(s._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// H3indexsetValueN wraps MEOS C function h3indexset_value_n. +func H3indexsetValueN(s *Set, n int) (_r0 bool, _r1 uint64, _err error) { + var _out_result C.uint64_t + C.meos_errno_reset() + _cret := C.h3indexset_value_n(s._inner, C.int(n), &_out_result) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), uint64(_out_result), nil +} + + +// H3indexsetValues wraps MEOS C function h3indexset_values. +func H3indexsetValues(s *Set, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_values(s._inner, (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// ContainedH3indexSet wraps MEOS C function contained_h3index_set. +func ContainedH3indexSet(cell uint64, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_h3index_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsSetH3index wraps MEOS C function contains_set_h3index. +func ContainsSetH3index(s *Set, cell uint64) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_set_h3index(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// IntersectionH3indexSet wraps MEOS C function intersection_h3index_set. +func IntersectionH3indexSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.intersection_h3index_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// IntersectionSetH3index wraps MEOS C function intersection_set_h3index. +func IntersectionSetH3index(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.intersection_set_h3index(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// MinusH3indexSet wraps MEOS C function minus_h3index_set. +func MinusH3indexSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.minus_h3index_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// MinusSetH3index wraps MEOS C function minus_set_h3index. +func MinusSetH3index(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.minus_set_h3index(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// UnionH3indexSet wraps MEOS C function union_h3index_set. +func UnionH3indexSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.gunion_h3index_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// UnionSetH3index wraps MEOS C function union_set_h3index. +func UnionSetH3index(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.gunion_set_h3index(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// H3indexUnionTransfn wraps MEOS C function h3index_union_transfn. +func H3indexUnionTransfn(state *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.h3index_union_transfn(state._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// H3indexsetGridDisk wraps MEOS C function h3indexset_grid_disk. +func H3indexsetGridDisk(cells *Set, k int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_grid_disk(cells._inner, C.int(k)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// H3indexsetCoverCells wraps MEOS C function h3indexset_cover_cells. +func H3indexsetCoverCells(cells *Set, resolution int32) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.h3indexset_cover_cells(cells._inner, C.int32(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // GeoToH3indexCell wraps MEOS C function geo_to_h3index_cell. func GeoToH3indexCell(point *Geom, resolution int32) (_r0 uint64, _err error) { C.meos_errno_reset() @@ -972,6 +1337,17 @@ func GeoToH3indexSet(gs *Geom, resolution int32) (_r0 *Set, _err error) { } +// H3indexCellToCover wraps MEOS C function h3index_cell_to_cover. +func H3indexCellToCover(cell uint64, resolution int32) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.h3index_cell_to_cover(C.uint64_t(cell), C.int32(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // H3indexToSTBOX wraps MEOS C function h3index_to_stbox. func H3indexToSTBOX(cell uint64) (_r0 *STBox, _err error) { C.meos_errno_reset() @@ -1016,6 +1392,17 @@ func EverEqH3indexsetTh3index(cells *Set, th3idx *Temporal) (_r0 int, _err error } +// EverEqTh3indexH3indexset wraps MEOS C function ever_eq_th3index_h3indexset. +func EverEqTh3indexH3indexset(th3idx *Temporal, cells *Set) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.ever_eq_th3index_h3indexset(th3idx._inner, cells._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // Th3indexAreNeighborCells wraps MEOS C function th3index_are_neighbor_cells. func Th3indexAreNeighborCells(origin *Temporal, dest *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_internal.go b/functions/meos_meos_internal.go index 0bfd366..d38ecd3 100644 --- a/functions/meos_meos_internal.go +++ b/functions/meos_meos_internal.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -87,6 +93,17 @@ import ( var _ = unsafe.Pointer(nil) +// MeosArrayGetIntl wraps MEOS C function meos_array_get_intl. +func MeosArrayGetIntl(array *MeosArray, n int) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.meos_array_get_intl(array._inner, C.int(n)) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // PrngGetGenerationRng wraps MEOS C function prng_get_generation_rng. func PrngGetGenerationRng() (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -155,11 +172,11 @@ func FloatspanRoundSet(s *Span, maxdd int) (_r0 *Span, _err error) { // SetIn wraps MEOS C function set_in. -func SetIn(str string, basetype MeosType) (_r0 *Set, _err error) { +func SetIn(str string, settype MeosType) (_r0 *Set, _err error) { _c_str := C.CString(str) defer C.free(unsafe.Pointer(_c_str)) C.meos_errno_reset() - _cret := C.set_in(_c_str, C.MeosType(basetype)) + _cret := C.set_in(_c_str, C.MeosType(settype)) if _err = meosError(); _err != nil { return } @@ -251,6 +268,39 @@ func SpansetMakeFree(spans *Span, count int, normalize bool, order bool) (_r0 *S } +// SetSortkeyIntl wraps MEOS C function set_sortkey_intl. +func SetSortkeyIntl(s *Set, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.set_sortkey_intl(s._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// SpanSortkeyIntl wraps MEOS C function span_sortkey_intl. +func SpanSortkeyIntl(s *Span, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.span_sortkey_intl(s._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// SpansetSortkeyIntl wraps MEOS C function spanset_sortkey_intl. +func SpansetSortkeyIntl(ss *SpanSet, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.spanset_sortkey_intl(ss._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // SetSpan wraps MEOS C function set_span. func SetSpan(s *Set) (_r0 *Span, _err error) { C.meos_errno_reset() @@ -273,17 +323,6 @@ func SetSpanset(s *Set) (_r0 *SpanSet, _err error) { } -// SetMemSize wraps MEOS C function set_mem_size. -func SetMemSize(s *Set) (_r0 int, _err error) { - C.meos_errno_reset() - _cret := C.set_mem_size(s._inner) - if _err = meosError(); _err != nil { - return - } - return int(_cret), nil -} - - // SetSetSubspan wraps MEOS C function set_set_subspan. func SetSetSubspan(s *Set, minidx int, maxidx int) (_r0 *Span, _err error) { var _out_result C.Span @@ -308,17 +347,6 @@ func SetSetSpan(s *Set) (_r0 *Span, _err error) { } -// SpansetMemSize wraps MEOS C function spanset_mem_size. -func SpansetMemSize(ss *SpanSet) (_r0 int, _err error) { - C.meos_errno_reset() - _cret := C.spanset_mem_size(ss._inner) - if _err = meosError(); _err != nil { - return - } - return int(_cret), nil -} - - // SpansetSps wraps MEOS C function spanset_sps. func SpansetSps(ss *SpanSet, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -585,6 +613,64 @@ func EnsureIndexJoinOp(op IndexSearchOp) (_r0 bool, _err error) { } +// EnsureIndexResult wraps MEOS C function ensure_index_result. +func EnsureIndexResult() (_r0 bool, _r1 *MeosArray, _err error) { + var _out_result C.MeosArray + C.meos_errno_reset() + _cret := C.ensure_index_result(&_out_result) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), &MeosArray{_inner: &_out_result}, nil +} + + +// RtreeCreate wraps MEOS C function rtree_create. +func RtreeCreate(bboxtype MeosType) (_r0 *RTree, _err error) { + C.meos_errno_reset() + _cret := C.rtree_create(C.MeosType(bboxtype)) + if _err = meosError(); _err != nil { + return + } + return &RTree{_inner: _cret}, nil +} + + +// SptreeCreate wraps MEOS C function sptree_create. +func SptreeCreate(bboxtype MeosType, kind SPTreeKind) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.sptree_create(C.MeosType(bboxtype), C.SPTreeKind(kind)) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// RtreeSearchIntl wraps MEOS C function rtree_search_intl. +func RtreeSearchIntl(rtree *RTree, op IndexSearchOp, query unsafe.Pointer) (_r0 int, _r1 *MeosArray, _err error) { + var _out_result C.MeosArray + C.meos_errno_reset() + _cret := C.rtree_search_intl(rtree._inner, C.IndexSearchOp(op), unsafe.Pointer(query), &_out_result) + if _err = meosError(); _err != nil { + return + } + return int(_cret), &MeosArray{_inner: &_out_result}, nil +} + + +// SptreeSearchIntl wraps MEOS C function sptree_search_intl. +func SptreeSearchIntl(sptree unsafe.Pointer, op IndexSearchOp, query unsafe.Pointer) (_r0 int, _r1 *MeosArray, _err error) { + var _out_result C.MeosArray + C.meos_errno_reset() + _cret := C.sptree_search_intl((*C.SPTree)(unsafe.Pointer(sptree)), C.IndexSearchOp(op), unsafe.Pointer(query), &_out_result) + if _err = meosError(); _err != nil { + return + } + return int(_cret), &MeosArray{_inner: &_out_result}, nil +} + + // BboxTemporalSplitBoxes wraps MEOS C function bbox_temporal_split_boxes. func BboxTemporalSplitBoxes(bboxtype MeosType, boxsize uint, temp *Temporal, maxboxes int, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -985,6 +1071,17 @@ func InterTBOXTBOX(box1 *TBox, box2 *TBox) (_r0 bool, _r1 *TBox, _err error) { } +// TBOXSortkeyIntl wraps MEOS C function tbox_sortkey_intl. +func TBOXSortkeyIntl(box *TBox, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tbox_sortkey_intl(box._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TboolinstIn wraps MEOS C function tboolinst_in. func TboolinstIn(str string) (_r0 *TInstant, _err error) { _c_str := C.CString(str) @@ -1137,6 +1234,19 @@ func TbigintinstIn(str string) (_r0 *TInstant, _err error) { } +// TbigintseqIn wraps MEOS C function tbigintseq_in. +func TbigintseqIn(str string, interp Interpolation) (_r0 *TSequence, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tbigintseq_in(_c_str, C.interpType(interp)) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + // TbigintseqsetIn wraps MEOS C function tbigintseqset_in. func TbigintseqsetIn(str string) (_r0 *TSequenceSet, _err error) { _c_str := C.CString(str) @@ -1313,6 +1423,17 @@ func TsequenceCopy(seq *TSequence) (_r0 *TSequence, _err error) { } +// TsequenceDerivative wraps MEOS C function tsequence_derivative. +func TsequenceDerivative(seq *TSequence, spheroid bool) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.tsequence_derivative(seq._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + // TsequenceMakeExp wraps MEOS C function tsequence_make_exp. func TsequenceMakeExp(instants unsafe.Pointer, count int, maxcount int, lower_inc bool, upper_inc bool, interp Interpolation, normalize bool) (_r0 *TSequence, _err error) { C.meos_errno_reset() @@ -1346,6 +1467,17 @@ func TsequencesetCopy(ss *TSequenceSet) (_r0 *TSequenceSet, _err error) { } +// TsequencesetDerivative wraps MEOS C function tsequenceset_derivative. +func TsequencesetDerivative(ss *TSequenceSet, spheroid bool) (_r0 *TSequenceSet, _err error) { + C.meos_errno_reset() + _cret := C.tsequenceset_derivative(ss._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + // TseqsetarrToTseqset wraps MEOS C function tseqsetarr_to_tseqset. func TseqsetarrToTseqset(seqsets unsafe.Pointer, count int, totalseqs int) (_r0 *TSequenceSet, _err error) { C.meos_errno_reset() @@ -1511,17 +1643,6 @@ func TemporalMaxInstP(temp *Temporal) (_r0 *TInstant, _err error) { } -// TemporalMemSize wraps MEOS C function temporal_mem_size. -func TemporalMemSize(temp *Temporal) (_r0 uint, _err error) { - C.meos_errno_reset() - _cret := C.temporal_mem_size(temp._inner) - if _err = meosError(); _err != nil { - return - } - return uint(_cret), nil -} - - // TemporalMinInstP wraps MEOS C function temporal_min_inst_p. func TemporalMinInstP(temp *Temporal) (_r0 *TInstant, _err error) { C.meos_errno_reset() @@ -2942,6 +3063,17 @@ func TinstantCmp(inst1 *TInstant, inst2 *TInstant) (_r0 int, _err error) { } +// TemporalSortkeyIntl wraps MEOS C function temporal_sortkey_intl. +func TemporalSortkeyIntl(temp *Temporal, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.temporal_sortkey_intl(temp._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TinstantEq wraps MEOS C function tinstant_eq. func TinstantEq(inst1 *TInstant, inst2 *TInstant) (_r0 bool, _err error) { C.meos_errno_reset() @@ -3249,25 +3381,3 @@ func SkiplistKeysValues(list *SkipList, values unsafe.Pointer) (_r0 unsafe.Point return unsafe.Pointer(_cret), nil } - -// TemporalAppTinstTransfn wraps MEOS C function temporal_app_tinst_transfn. -func TemporalAppTinstTransfn(state *Temporal, inst *TInstant, interp Interpolation, maxdist float64, maxt *Interval) (_r0 *Temporal, _err error) { - C.meos_errno_reset() - _cret := C.temporal_app_tinst_transfn(state._inner, inst._inner, C.interpType(interp), C.double(maxdist), maxt._inner) - if _err = meosError(); _err != nil { - return - } - return &Temporal{_inner: _cret}, nil -} - - -// TemporalAppTseqTransfn wraps MEOS C function temporal_app_tseq_transfn. -func TemporalAppTseqTransfn(state *Temporal, seq *TSequence) (_r0 *Temporal, _err error) { - C.meos_errno_reset() - _cret := C.temporal_app_tseq_transfn(state._inner, seq._inner) - if _err = meosError(); _err != nil { - return - } - return &Temporal{_inner: _cret}, nil -} - diff --git a/functions/meos_meos_internal_geo.go b/functions/meos_meos_internal_geo.go index c30bba6..426f2b4 100644 --- a/functions/meos_meos_internal_geo.go +++ b/functions/meos_meos_internal_geo.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -506,6 +512,17 @@ func STBOXGeo(box *STBox) (_r0 *Geom, _err error) { } +// STBOXSortkeyIntl wraps MEOS C function stbox_sortkey_intl. +func STBOXSortkeyIntl(box *STBox, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.stbox_sortkey_intl(box._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TgeogpointinstIn wraps MEOS C function tgeogpointinst_in. func TgeogpointinstIn(str string) (_r0 *TInstant, _err error) { _c_str := C.CString(str) @@ -718,6 +735,17 @@ func TgeoRestrictElevation(temp *Temporal, s *Span, atfunc bool) (_r0 *Temporal, } +// TgeoRestrictElevationIntl wraps MEOS C function tgeo_restrict_elevation_intl. +func TgeoRestrictElevationIntl(temp *Temporal, s *Span, atfunc bool) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeo_restrict_elevation_intl(temp._inner, s._inner, C.bool(atfunc)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TgeoRestrictGeom wraps MEOS C function tgeo_restrict_geom. func TgeoRestrictGeom(temp *Temporal, gs *Geom, atfunc bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -839,6 +867,28 @@ func GeoClipSubject(gs *Geom) (_r0 bool, _err error) { } +// GeoIsPlanarAreal wraps MEOS C function geo_is_planar_areal. +func GeoIsPlanarAreal(gs *Geom) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.geo_is_planar_areal(gs._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// GeoEveryPartBoundsArea wraps MEOS C function geo_every_part_bounds_area. +func GeoEveryPartBoundsArea(gs *Geom) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.geo_every_part_bounds_area(gs._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // GeoIsPointSet wraps MEOS C function geo_is_point_set. func GeoIsPointSet(gs *Geom) (_r0 bool, _err error) { C.meos_errno_reset() @@ -850,14 +900,14 @@ func GeoIsPointSet(gs *Geom) (_r0 bool, _err error) { } -// GeoMeosSupported wraps MEOS C function geo_meos_supported. -func GeoMeosSupported(gs *Geom) (_r0 bool, _err error) { +// GeoMeosCoverage wraps MEOS C function geo_meos_coverage. +func GeoMeosCoverage(gs *Geom) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.geo_meos_supported(gs._inner) + _cret := C.geo_meos_coverage(gs._inner) if _err = meosError(); _err != nil { return } - return bool(_cret), nil + return int(_cret), nil } @@ -993,14 +1043,25 @@ func TpointLinearRestrictGeom(temp *Temporal, gs *Geom, atfunc bool) (_r0 *Tempo } -// GeomMeosSupported wraps MEOS C function geom_meos_supported. -func GeomMeosSupported(geom unsafe.Pointer) (_r0 bool, _err error) { +// GeomMeosCoverage wraps MEOS C function geom_meos_coverage. +func GeomMeosCoverage(geom unsafe.Pointer) (_r0 int, _err error) { C.meos_errno_reset() - _cret := C.geom_meos_supported((*C.LWGEOM)(unsafe.Pointer(geom))) + _cret := C.geom_meos_coverage((*C.LWGEOM)(unsafe.Pointer(geom))) if _err = meosError(); _err != nil { return } - return bool(_cret), nil + return int(_cret), nil +} + + +// STBOXNad wraps MEOS C function stbox_nad. +func STBOXNad(box1 *STBox, box2 *STBox, spheroid bool) (_r0 float64, _err error) { + C.meos_errno_reset() + _cret := C.stbox_nad(box1._inner, box2._inner, C.bool(spheroid)) + if _err = meosError(); _err != nil { + return + } + return float64(_cret), nil } @@ -1027,9 +1088,9 @@ func TpointseqAzimuth(seq *TSequence) (_r0 *TSequenceSet, _err error) { // TpointseqCumulativeLength wraps MEOS C function tpointseq_cumulative_length. -func TpointseqCumulativeLength(seq *TSequence, prevlength float64) (_r0 *TSequence, _err error) { +func TpointseqCumulativeLength(seq *TSequence, prevlength float64, spheroid bool) (_r0 *TSequence, _err error) { C.meos_errno_reset() - _cret := C.tpointseq_cumulative_length(seq._inner, C.double(prevlength)) + _cret := C.tpointseq_cumulative_length(seq._inner, C.double(prevlength), C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -1049,9 +1110,9 @@ func TpointseqIsSimple(seq *TSequence) (_r0 bool, _err error) { // TpointseqLength wraps MEOS C function tpointseq_length. -func TpointseqLength(seq *TSequence) (_r0 float64, _err error) { +func TpointseqLength(seq *TSequence, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.tpointseq_length(seq._inner) + _cret := C.tpointseq_length(seq._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -1104,9 +1165,9 @@ func TpointseqsetAzimuth(ss *TSequenceSet) (_r0 *TSequenceSet, _err error) { // TpointseqsetCumulativeLength wraps MEOS C function tpointseqset_cumulative_length. -func TpointseqsetCumulativeLength(ss *TSequenceSet) (_r0 *TSequenceSet, _err error) { +func TpointseqsetCumulativeLength(ss *TSequenceSet, spheroid bool) (_r0 *TSequenceSet, _err error) { C.meos_errno_reset() - _cret := C.tpointseqset_cumulative_length(ss._inner) + _cret := C.tpointseqset_cumulative_length(ss._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } @@ -1126,9 +1187,9 @@ func TpointseqsetIsSimple(ss *TSequenceSet) (_r0 bool, _err error) { // TpointseqsetLength wraps MEOS C function tpointseqset_length. -func TpointseqsetLength(ss *TSequenceSet) (_r0 float64, _err error) { +func TpointseqsetLength(ss *TSequenceSet, spheroid bool) (_r0 float64, _err error) { C.meos_errno_reset() - _cret := C.tpointseqset_length(ss._inner) + _cret := C.tpointseqset_length(ss._inner, C.bool(spheroid)) if _err = meosError(); _err != nil { return } diff --git a/functions/meos_meos_json.go b/functions/meos_meos_json.go index 61ac06f..90648b9 100644 --- a/functions/meos_meos_json.go +++ b/functions/meos_meos_json.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -356,7 +362,7 @@ func JSONEach(js string, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsaf _c_js := C.cstring_to_text(C.CString(js)) defer C.free(unsafe.Pointer(_c_js)) C.meos_errno_reset() - _cret := C.json_each(_c_js, (**C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + _cret := C.json_each(_c_js, (***C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -369,7 +375,7 @@ func JSONEachText(js string, values unsafe.Pointer, count unsafe.Pointer) (_r0 u _c_js := C.cstring_to_text(C.CString(js)) defer C.free(unsafe.Pointer(_c_js)) C.meos_errno_reset() - _cret := C.json_each_text(_c_js, (**C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + _cret := C.json_each_text(_c_js, (***C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -539,7 +545,7 @@ func JsonbContains(jb1 *Jsonb, jb2 *Jsonb) (_r0 bool, _err error) { // JsonbEach wraps MEOS C function jsonb_each. func JsonbEach(jb *Jsonb, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.jsonb_each(jb._inner, (**C.Jsonb)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + _cret := C.jsonb_each(jb._inner, (***C.Jsonb)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -550,7 +556,7 @@ func JsonbEach(jb *Jsonb, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsa // JsonbEachText wraps MEOS C function jsonb_each_text. func JsonbEachText(jb *Jsonb, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.jsonb_each_text(jb._inner, (**C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + _cret := C.jsonb_each_text(jb._inner, (***C.text)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } @@ -626,6 +632,17 @@ func JsonbHashExtended(jb *Jsonb, seed uint64) (_r0 uint64, _err error) { } +// JsonbMemSize wraps MEOS C function jsonb_mem_size. +func JsonbMemSize(jb *Jsonb) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.jsonb_mem_size(jb._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // JsonbObjectField wraps MEOS C function jsonb_object_field. func JsonbObjectField(jb *Jsonb, key string) (_r0 *Jsonb, _err error) { _c_key := C.cstring_to_text(C.CString(key)) @@ -946,6 +963,17 @@ func JsonpathCopy(jp *JsonPath) (_r0 *JsonPath, _err error) { } +// JsonpathMemSize wraps MEOS C function jsonpath_mem_size. +func JsonpathMemSize(jp *JsonPath) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.jsonpath_mem_size(jp._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // JsonpathOut wraps MEOS C function jsonpath_out. func JsonpathOut(jp *JsonPath) (_r0 string, _err error) { C.meos_errno_reset() @@ -972,9 +1000,9 @@ func JsonbsetIn(str string) (_r0 *Set, _err error) { // JsonbsetOut wraps MEOS C function jsonbset_out. -func JsonbsetOut(s *Set, maxdd int) (_r0 string, _err error) { +func JsonbsetOut(s *Set) (_r0 string, _err error) { C.meos_errno_reset() - _cret := C.jsonbset_out(s._inner, C.int(maxdd)) + _cret := C.jsonbset_out(s._inner) if _err = meosError(); _err != nil { return } @@ -1005,6 +1033,28 @@ func JsonbToSet(jb *Jsonb) (_r0 *Set, _err error) { } +// JsonbsetToTextset wraps MEOS C function jsonbset_to_textset. +func JsonbsetToTextset(s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.jsonbset_to_textset(s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// TextsetToJsonbset wraps MEOS C function textset_to_jsonbset. +func TextsetToJsonbset(s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.textset_to_jsonbset(s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // JsonbsetEndValue wraps MEOS C function jsonbset_end_value. func JsonbsetEndValue(s *Set) (_r0 *Jsonb, _err error) { C.meos_errno_reset() @@ -1073,11 +1123,24 @@ func JsonbsetArrayLength(set *Set) (_r0 *Set, _err error) { // JsonbsetObjectField wraps MEOS C function jsonbset_object_field. -func JsonbsetObjectField(set *Set, key string, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { +func JsonbsetObjectField(set *Set, key string, null_handle NullHandleType) (_r0 *Set, _err error) { + _c_key := C.cstring_to_text(C.CString(key)) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.jsonbset_object_field(set._inner, _c_key, C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// JsonbsetObjectFieldText wraps MEOS C function jsonbset_object_field_text. +func JsonbsetObjectFieldText(set *Set, key string, null_handle NullHandleType) (_r0 *Set, _err error) { _c_key := C.cstring_to_text(C.CString(key)) defer C.free(unsafe.Pointer(_c_key)) C.meos_errno_reset() - _cret := C.jsonbset_object_field(set._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.jsonbset_object_field_text(set._inner, _c_key, C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1086,9 +1149,20 @@ func JsonbsetObjectField(set *Set, key string, astext bool, null_handle NullHand // JsonbsetArrayElement wraps MEOS C function jsonbset_array_element. -func JsonbsetArrayElement(set *Set, idx int, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { +func JsonbsetArrayElement(set *Set, idx int, null_handle NullHandleType) (_r0 *Set, _err error) { C.meos_errno_reset() - _cret := C.jsonbset_array_element(set._inner, C.int(idx), C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.jsonbset_array_element(set._inner, C.int(idx), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// JsonbsetArrayElementText wraps MEOS C function jsonbset_array_element_text. +func JsonbsetArrayElementText(set *Set, idx int, null_handle NullHandleType) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.jsonbset_array_element_text(set._inner, C.int(idx), C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1267,9 +1341,20 @@ func JsonbsetDeletePath(set *Set, path_elems unsafe.Pointer, path_len int) (_r0 // JsonbsetExtractPath wraps MEOS C function jsonbset_extract_path. -func JsonbsetExtractPath(set *Set, path_elems unsafe.Pointer, path_len int, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { +func JsonbsetExtractPath(set *Set, path_elems unsafe.Pointer, path_len int, null_handle NullHandleType) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.jsonbset_extract_path(set._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// JsonbsetExtractPathText wraps MEOS C function jsonbset_extract_path_text. +func JsonbsetExtractPathText(set *Set, path_elems unsafe.Pointer, path_len int, null_handle NullHandleType) (_r0 *Set, _err error) { C.meos_errno_reset() - _cret := C.jsonbset_extract_path(set._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.jsonbset_extract_path_text(set._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1332,6 +1417,41 @@ func JsonbsetPathQueryFirst(set *Set, jp *JsonPath, vars *Jsonb, silent bool, tz } +// JsonbsetArrayElementCommon wraps MEOS C function jsonbset_array_element_common. +func JsonbsetArrayElementCommon(set *Set, idx int, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.jsonbset_array_element_common(set._inner, C.int(idx), C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// JsonbsetExtractPathCommon wraps MEOS C function jsonbset_extract_path_common. +func JsonbsetExtractPathCommon(set *Set, path_elems unsafe.Pointer, path_len int, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.jsonbset_extract_path_common(set._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// JsonbsetObjectFieldCommon wraps MEOS C function jsonbset_object_field_common. +func JsonbsetObjectFieldCommon(set *Set, key string, astext bool, null_handle NullHandleType) (_r0 *Set, _err error) { + _c_key := C.cstring_to_text(C.CString(key)) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.jsonbset_object_field_common(set._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // ContainedJsonbSet wraps MEOS C function contained_jsonb_set. func ContainedJsonbSet(jb *Jsonb, s *Set) (_r0 bool, _err error) { C.meos_errno_reset() @@ -1607,6 +1727,17 @@ func TjsonbStartValue(temp *Temporal) (_r0 *Jsonb, _err error) { } +// TjsonbValue wraps MEOS C function tjsonb_value. +func TjsonbValue(temp *Temporal) (_r0 *Jsonb, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Jsonb{_inner: _cret}, nil +} + + // TjsonbValueAtTimestamptz wraps MEOS C function tjsonb_value_at_timestamptz. func TjsonbValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Jsonb, _err error) { var _out_value *C.Jsonb @@ -1642,6 +1773,17 @@ func TjsonbValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _er } +// TjsonbUnnest wraps MEOS C function tjsonb_unnest. +func TjsonbUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_unnest(temp._inner, (***C.Jsonb)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // ConcatTjsonbJsonb wraps MEOS C function concat_tjsonb_jsonb. func ConcatTjsonbJsonb(temp *Temporal, jb *Jsonb, invert bool) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -1733,11 +1875,11 @@ func TjsonExtractPath(temp *Temporal, path_elems unsafe.Pointer, path_len int, n // TjsonObjectField wraps MEOS C function tjson_object_field. -func TjsonObjectField(temp *Temporal, key string, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { +func TjsonObjectField(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { _c_key := C.cstring_to_text(C.CString(key)) defer C.free(unsafe.Pointer(_c_key)) C.meos_errno_reset() - _cret := C.tjson_object_field(temp._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.tjson_object_field(temp._inner, _c_key, C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1757,9 +1899,20 @@ func TjsonStripNulls(temp *Temporal, strip_in_arrays bool) (_r0 *Temporal, _err // TjsonbArrayElement wraps MEOS C function tjsonb_array_element. -func TjsonbArrayElement(temp *Temporal, idx int, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { +func TjsonbArrayElement(temp *Temporal, idx int, null_handle NullHandleType) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_array_element(temp._inner, C.int(idx), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbArrayElementText wraps MEOS C function tjsonb_array_element_text. +func TjsonbArrayElementText(temp *Temporal, idx int, null_handle NullHandleType) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tjsonb_array_element(temp._inner, C.int(idx), C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.tjsonb_array_element_text(temp._inner, C.int(idx), C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1871,9 +2024,20 @@ func TjsonbExistsArray(temp *Temporal, keys unsafe.Pointer, count int, any bool) // TjsonbExtractPath wraps MEOS C function tjsonb_extract_path. -func TjsonbExtractPath(temp *Temporal, path_elems unsafe.Pointer, path_len int, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { +func TjsonbExtractPath(temp *Temporal, path_elems unsafe.Pointer, path_len int, null_handle NullHandleType) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_extract_path(temp._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbExtractPathText wraps MEOS C function tjsonb_extract_path_text. +func TjsonbExtractPathText(temp *Temporal, path_elems unsafe.Pointer, path_len int, null_handle NullHandleType) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tjsonb_extract_path(temp._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.tjsonb_extract_path_text(temp._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1893,11 +2057,24 @@ func TjsonbInsert(temp *Temporal, keys unsafe.Pointer, count int, newjb *Jsonb, // TjsonbObjectField wraps MEOS C function tjsonb_object_field. -func TjsonbObjectField(temp *Temporal, key string, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { +func TjsonbObjectField(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { _c_key := C.cstring_to_text(C.CString(key)) defer C.free(unsafe.Pointer(_c_key)) C.meos_errno_reset() - _cret := C.tjsonb_object_field(temp._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + _cret := C.tjsonb_object_field(temp._inner, _c_key, C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbObjectFieldText wraps MEOS C function tjsonb_object_field_text. +func TjsonbObjectFieldText(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.cstring_to_text(C.CString(key)) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_object_field_text(temp._inner, _c_key, C.nullHandleType(null_handle)) if _err = meosError(); _err != nil { return } @@ -1984,6 +2161,19 @@ func TjsonbStripNulls(temp *Temporal, strip_in_arrays bool) (_r0 *Temporal, _err } +// TjsonbToTbigint wraps MEOS C function tjsonb_to_tbigint. +func TjsonbToTbigint(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.CString(key) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_to_tbigint(temp._inner, _c_key, C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TjsonbToTbool wraps MEOS C function tjsonb_to_tbool. func TjsonbToTbool(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { _c_key := C.CString(key) @@ -2010,6 +2200,58 @@ func TjsonbToTfloat(temp *Temporal, key string, interp Interpolation, null_handl } +// TjsonbToTgeogpoint wraps MEOS C function tjsonb_to_tgeogpoint. +func TjsonbToTgeogpoint(temp *Temporal, key string, interp Interpolation, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.CString(key) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_to_tgeogpoint(temp._inner, _c_key, C.interpType(interp), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbToTgeography wraps MEOS C function tjsonb_to_tgeography. +func TjsonbToTgeography(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.CString(key) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_to_tgeography(temp._inner, _c_key, C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbToTgeometry wraps MEOS C function tjsonb_to_tgeometry. +func TjsonbToTgeometry(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.CString(key) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_to_tgeometry(temp._inner, _c_key, C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbToTgeompoint wraps MEOS C function tjsonb_to_tgeompoint. +func TjsonbToTgeompoint(temp *Temporal, key string, interp Interpolation, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.CString(key) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_to_tgeompoint(temp._inner, _c_key, C.interpType(interp), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TjsonbToTint wraps MEOS C function tjsonb_to_tint. func TjsonbToTint(temp *Temporal, key string, null_handle NullHandleType) (_r0 *Temporal, _err error) { _c_key := C.CString(key) @@ -2036,6 +2278,54 @@ func TjsonbToTtextKey(temp *Temporal, key string, null_handle NullHandleType) (_ } +// TjsonObjectFieldCommon wraps MEOS C function tjson_object_field_common. +func TjsonObjectFieldCommon(temp *Temporal, key string, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.cstring_to_text(C.CString(key)) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjson_object_field_common(temp._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbArrayElementCommon wraps MEOS C function tjsonb_array_element_common. +func TjsonbArrayElementCommon(temp *Temporal, idx int, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_array_element_common(temp._inner, C.int(idx), C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbExtractPathCommon wraps MEOS C function tjsonb_extract_path_common. +func TjsonbExtractPathCommon(temp *Temporal, path_elems unsafe.Pointer, path_len int, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tjsonb_extract_path_common(temp._inner, (**C.text)(unsafe.Pointer(path_elems)), C.int(path_len), C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TjsonbObjectFieldCommon wraps MEOS C function tjsonb_object_field_common. +func TjsonbObjectFieldCommon(temp *Temporal, key string, astext bool, null_handle NullHandleType) (_r0 *Temporal, _err error) { + _c_key := C.cstring_to_text(C.CString(key)) + defer C.free(unsafe.Pointer(_c_key)) + C.meos_errno_reset() + _cret := C.tjsonb_object_field_common(temp._inner, _c_key, C.bool(astext), C.nullHandleType(null_handle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TjsonbAtValue wraps MEOS C function tjsonb_at_value. func TjsonbAtValue(temp *Temporal, jsb *Jsonb) (_r0 *Temporal, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_npoint.go b/functions/meos_meos_npoint.go index 1595991..a9956fb 100644 --- a/functions/meos_meos_npoint.go +++ b/functions/meos_meos_npoint.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -87,6 +93,17 @@ import ( var _ = unsafe.Pointer(nil) +// NpointAsEWKB wraps MEOS C function npoint_as_ewkb. +func NpointAsEWKB(np *Npoint, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.npoint_as_ewkb(np._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // NpointAsEWKT wraps MEOS C function npoint_as_ewkt. func NpointAsEWKT(np *Npoint, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -99,6 +116,18 @@ func NpointAsEWKT(np *Npoint, maxdd int) (_r0 string, _err error) { } +// NpointAsHexewkb wraps MEOS C function npoint_as_hexewkb. +func NpointAsHexewkb(np *Npoint, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.npoint_as_hexewkb(np._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // NpointAsHexwkb wraps MEOS C function npoint_as_hexwkb. func NpointAsHexwkb(np *Npoint, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { C.meos_errno_reset() @@ -183,6 +212,65 @@ func NpointOut(np *Npoint, maxdd int) (_r0 string, _err error) { } +// NsegmentAsHexewkb wraps MEOS C function nsegment_as_hexewkb. +func NsegmentAsHexewkb(ns *Nsegment, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_hexewkb(ns._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// NsegmentAsHexwkb wraps MEOS C function nsegment_as_hexwkb. +func NsegmentAsHexwkb(ns *Nsegment, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_hexwkb(ns._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// NsegmentAsWKB wraps MEOS C function nsegment_as_wkb. +func NsegmentAsWKB(ns *Nsegment, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_wkb(ns._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// NsegmentFromHexwkb wraps MEOS C function nsegment_from_hexwkb. +func NsegmentFromHexwkb(hexwkb string) (_r0 *Nsegment, _err error) { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + C.meos_errno_reset() + _cret := C.nsegment_from_hexwkb(_c_hexwkb) + if _err = meosError(); _err != nil { + return + } + return &Nsegment{_inner: _cret}, nil +} + + +// NsegmentFromWKB wraps MEOS C function nsegment_from_wkb. +func NsegmentFromWKB(wkb unsafe.Pointer, size uint) (_r0 *Nsegment, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_from_wkb((*C.uint8_t)(unsafe.Pointer(wkb)), C.size_t(size)) + if _err = meosError(); _err != nil { + return + } + return &Nsegment{_inner: _cret}, nil +} + + // NsegmentIn wraps MEOS C function nsegment_in. func NsegmentIn(str string) (_r0 *Nsegment, _err error) { _c_str := C.CString(str) @@ -208,6 +296,52 @@ func NsegmentOut(ns *Nsegment, maxdd int) (_r0 string, _err error) { } +// NsegmentAsEWKB wraps MEOS C function nsegment_as_ewkb. +func NsegmentAsEWKB(ns *Nsegment, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_ewkb(ns._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// NsegmentAsEWKT wraps MEOS C function nsegment_as_ewkt. +func NsegmentAsEWKT(ns *Nsegment, maxdd int) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_ewkt(ns._inner, C.int(maxdd)) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// NsegmentAsText wraps MEOS C function nsegment_as_text. +func NsegmentAsText(ns *Nsegment, maxdd int) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_as_text(ns._inner, C.int(maxdd)) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// NpointCopy wraps MEOS C function npoint_copy. +func NpointCopy(np *Npoint) (_r0 *Npoint, _err error) { + C.meos_errno_reset() + _cret := C.npoint_copy(np._inner) + if _err = meosError(); _err != nil { + return + } + return &Npoint{_inner: _cret}, nil +} + + // NpointMake wraps MEOS C function npoint_make. func NpointMake(rid int64, pos float64) (_r0 *Npoint, _err error) { C.meos_errno_reset() @@ -219,6 +353,17 @@ func NpointMake(rid int64, pos float64) (_r0 *Npoint, _err error) { } +// NsegmentCopy wraps MEOS C function nsegment_copy. +func NsegmentCopy(ns *Nsegment) (_r0 *Nsegment, _err error) { + C.meos_errno_reset() + _cret := C.nsegment_copy(ns._inner) + if _err = meosError(); _err != nil { + return + } + return &Nsegment{_inner: _cret}, nil +} + + // NsegmentMake wraps MEOS C function nsegment_make. func NsegmentMake(rid int64, pos1 float64, pos2 float64) (_r0 *Nsegment, _err error) { C.meos_errno_reset() @@ -571,17 +716,6 @@ func NpointNe(np1 *Npoint, np2 *Npoint) (_r0 bool, _err error) { } -// NpointSame wraps MEOS C function npoint_same. -func NpointSame(np1 *Npoint, np2 *Npoint) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.npoint_same(np1._inner, np2._inner) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - // NsegmentCmp wraps MEOS C function nsegment_cmp. func NsegmentCmp(ns1 *Nsegment, ns2 *Nsegment) (_r0 int, _err error) { C.meos_errno_reset() @@ -685,9 +819,9 @@ func NpointsetOut(s *Set, maxdd int) (_r0 string, _err error) { // NpointsetMake wraps MEOS C function npointset_make. -func NpointsetMake(values unsafe.Pointer, count int) (_r0 *Set, _err error) { +func NpointsetMake(values *Npoint, count int) (_r0 *Set, _err error) { C.meos_errno_reset() - _cret := C.npointset_make((**C.Npoint)(unsafe.Pointer(values)), C.int(count)) + _cret := C.npointset_make(values._inner, C.int(count)) if _err = meosError(); _err != nil { return } @@ -1075,6 +1209,17 @@ func TnpointTrajectory(temp *Temporal) (_r0 *Geom, _err error) { } +// TnpointValue wraps MEOS C function tnpoint_value. +func TnpointValue(temp *Temporal) (_r0 *Npoint, _err error) { + C.meos_errno_reset() + _cret := C.tnpoint_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Npoint{_inner: _cret}, nil +} + + // TnpointValueAtTimestamptz wraps MEOS C function tnpoint_value_at_timestamptz. func TnpointValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Npoint, _err error) { var _out_value *C.Npoint @@ -1110,6 +1255,17 @@ func TnpointValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _e } +// TnpointUnnest wraps MEOS C function tnpoint_unnest. +func TnpointUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tnpoint_unnest(temp._inner, (***C.Npoint)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TnpointTwcentroid wraps MEOS C function tnpoint_twcentroid. func TnpointTwcentroid(temp *Temporal) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -1516,3 +1672,223 @@ func TneTnpointNpoint(temp *Temporal, np *Npoint) (_r0 *Temporal, _err error) { return &Temporal{_inner: _cret}, nil } + +// ContainedRidBigintTnpoint wraps MEOS C function contained_rid_bigint_tnpoint. +func ContainedRidBigintTnpoint(rid int64, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_rid_bigint_tnpoint(C.int64_t(rid), temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainedRidBigintsetTnpoint wraps MEOS C function contained_rid_bigintset_tnpoint. +func ContainedRidBigintsetTnpoint(s *Set, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_rid_bigintset_tnpoint(s._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainedRidNpointTnpoint wraps MEOS C function contained_rid_npoint_tnpoint. +func ContainedRidNpointTnpoint(np *Npoint, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_rid_npoint_tnpoint(np._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainedRidTnpointBigintset wraps MEOS C function contained_rid_tnpoint_bigintset. +func ContainedRidTnpointBigintset(temp *Temporal, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_rid_tnpoint_bigintset(temp._inner, s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainedRidTnpointTnpoint wraps MEOS C function contained_rid_tnpoint_tnpoint. +func ContainedRidTnpointTnpoint(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_rid_tnpoint_tnpoint(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsRidBigintsetTnpoint wraps MEOS C function contains_rid_bigintset_tnpoint. +func ContainsRidBigintsetTnpoint(s *Set, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_rid_bigintset_tnpoint(s._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsRidTnpointBigint wraps MEOS C function contains_rid_tnpoint_bigint. +func ContainsRidTnpointBigint(temp *Temporal, rid int64) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_rid_tnpoint_bigint(temp._inner, C.int64_t(rid)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsRidTnpointBigintset wraps MEOS C function contains_rid_tnpoint_bigintset. +func ContainsRidTnpointBigintset(temp *Temporal, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_rid_tnpoint_bigintset(temp._inner, s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsRidTnpointNpoint wraps MEOS C function contains_rid_tnpoint_npoint. +func ContainsRidTnpointNpoint(temp *Temporal, np *Npoint) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_rid_tnpoint_npoint(temp._inner, np._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsRidTnpointTnpoint wraps MEOS C function contains_rid_tnpoint_tnpoint. +func ContainsRidTnpointTnpoint(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_rid_tnpoint_tnpoint(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverlapsRidBigintsetTnpoint wraps MEOS C function overlaps_rid_bigintset_tnpoint. +func OverlapsRidBigintsetTnpoint(s *Set, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overlaps_rid_bigintset_tnpoint(s._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverlapsRidTnpointBigintset wraps MEOS C function overlaps_rid_tnpoint_bigintset. +func OverlapsRidTnpointBigintset(temp *Temporal, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overlaps_rid_tnpoint_bigintset(temp._inner, s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverlapsRidTnpointTnpoint wraps MEOS C function overlaps_rid_tnpoint_tnpoint. +func OverlapsRidTnpointTnpoint(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overlaps_rid_tnpoint_tnpoint(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidBigintTnpoint wraps MEOS C function same_rid_bigint_tnpoint. +func SameRidBigintTnpoint(rid int64, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_bigint_tnpoint(C.int64_t(rid), temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidBigintsetTnpoint wraps MEOS C function same_rid_bigintset_tnpoint. +func SameRidBigintsetTnpoint(s *Set, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_bigintset_tnpoint(s._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidNpointTnpoint wraps MEOS C function same_rid_npoint_tnpoint. +func SameRidNpointTnpoint(np *Npoint, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_npoint_tnpoint(np._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidTnpointBigint wraps MEOS C function same_rid_tnpoint_bigint. +func SameRidTnpointBigint(temp *Temporal, rid int64) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_tnpoint_bigint(temp._inner, C.int64_t(rid)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidTnpointBigintset wraps MEOS C function same_rid_tnpoint_bigintset. +func SameRidTnpointBigintset(temp *Temporal, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_tnpoint_bigintset(temp._inner, s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidTnpointNpoint wraps MEOS C function same_rid_tnpoint_npoint. +func SameRidTnpointNpoint(temp *Temporal, np *Npoint) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_tnpoint_npoint(temp._inner, np._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// SameRidTnpointTnpoint wraps MEOS C function same_rid_tnpoint_tnpoint. +func SameRidTnpointTnpoint(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.same_rid_tnpoint_tnpoint(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + diff --git a/functions/meos_meos_pointcloud.go b/functions/meos_meos_pointcloud.go index c3b76f8..66428ef 100644 --- a/functions/meos_meos_pointcloud.go +++ b/functions/meos_meos_pointcloud.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -192,10 +198,21 @@ func PcpointHashExtended(pt *Pcpoint, seed uint64) (_r0 uint64, _err error) { } +// PcpointMemSize wraps MEOS C function pcpoint_mem_size. +func PcpointMemSize(pt *Pcpoint) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.pcpoint_mem_size(pt._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // PcpointGetX wraps MEOS C function pcpoint_get_x. -func PcpointGetX(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _err error) { +func PcpointGetX(pt *Pcpoint, out unsafe.Pointer) (_r0 bool, _err error) { C.meos_errno_reset() - _cret := C.pcpoint_get_x(pt._inner, schema._inner, (*C.double)(unsafe.Pointer(out))) + _cret := C.pcpoint_get_x(pt._inner, (*C.double)(unsafe.Pointer(out))) if _err = meosError(); _err != nil { return } @@ -204,9 +221,9 @@ func PcpointGetX(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _ // PcpointGetY wraps MEOS C function pcpoint_get_y. -func PcpointGetY(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _err error) { +func PcpointGetY(pt *Pcpoint, out unsafe.Pointer) (_r0 bool, _err error) { C.meos_errno_reset() - _cret := C.pcpoint_get_y(pt._inner, schema._inner, (*C.double)(unsafe.Pointer(out))) + _cret := C.pcpoint_get_y(pt._inner, (*C.double)(unsafe.Pointer(out))) if _err = meosError(); _err != nil { return } @@ -215,9 +232,9 @@ func PcpointGetY(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _ // PcpointGetZ wraps MEOS C function pcpoint_get_z. -func PcpointGetZ(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _err error) { +func PcpointGetZ(pt *Pcpoint, out unsafe.Pointer) (_r0 bool, _err error) { C.meos_errno_reset() - _cret := C.pcpoint_get_z(pt._inner, schema._inner, (*C.double)(unsafe.Pointer(out))) + _cret := C.pcpoint_get_z(pt._inner, (*C.double)(unsafe.Pointer(out))) if _err = meosError(); _err != nil { return } @@ -226,11 +243,11 @@ func PcpointGetZ(pt *Pcpoint, schema *PCSchema, out unsafe.Pointer) (_r0 bool, _ // PcpointGetDim wraps MEOS C function pcpoint_get_dim. -func PcpointGetDim(pt *Pcpoint, schema *PCSchema, name string, out unsafe.Pointer) (_r0 bool, _err error) { +func PcpointGetDim(pt *Pcpoint, name string, out unsafe.Pointer) (_r0 bool, _err error) { _c_name := C.CString(name) defer C.free(unsafe.Pointer(_c_name)) C.meos_errno_reset() - _cret := C.pcpoint_get_dim(pt._inner, schema._inner, _c_name, (*C.double)(unsafe.Pointer(out))) + _cret := C.pcpoint_get_dim(pt._inner, _c_name, (*C.double)(unsafe.Pointer(out))) if _err = meosError(); _err != nil { return } @@ -239,9 +256,9 @@ func PcpointGetDim(pt *Pcpoint, schema *PCSchema, name string, out unsafe.Pointe // PcpointToTpcbox wraps MEOS C function pcpoint_to_tpcbox. -func PcpointToTpcbox(pt *Pcpoint, schema *PCSchema) (_r0 *TPCBox, _err error) { +func PcpointToTpcbox(pt *Pcpoint) (_r0 *TPCBox, _err error) { C.meos_errno_reset() - _cret := C.pcpoint_to_tpcbox(pt._inner, schema._inner) + _cret := C.pcpoint_to_tpcbox(pt._inner) if _err = meosError(); _err != nil { return } @@ -378,6 +395,39 @@ func MeosSetPointcloudSchemasXml(path string) (_err error) { } +// MeosInitializePointcloud wraps MEOS C function meos_initialize_pointcloud. +func MeosInitializePointcloud() (_err error) { + C.meos_errno_reset() + C.meos_initialize_pointcloud() + if _err = meosError(); _err != nil { + return + } + return nil +} + + +// RtreeCreateTpcbox wraps MEOS C function rtree_create_tpcbox. +func RtreeCreateTpcbox() (_r0 *RTree, _err error) { + C.meos_errno_reset() + _cret := C.rtree_create_tpcbox() + if _err = meosError(); _err != nil { + return + } + return &RTree{_inner: _cret}, nil +} + + +// SptreeCreateTpcbox wraps MEOS C function sptree_create_tpcbox. +func SptreeCreateTpcbox(kind SPTreeKind) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.sptree_create_tpcbox(C.SPTreeKind(kind)) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // PcpointCmp wraps MEOS C function pcpoint_cmp. func PcpointCmp(pt1 *Pcpoint, pt2 *Pcpoint) (_r0 int, _err error) { C.meos_errno_reset() @@ -604,6 +654,17 @@ func PcpatchHashExtended(pa *Pcpatch, seed uint64) (_r0 uint64, _err error) { } +// PcpatchMemSize wraps MEOS C function pcpatch_mem_size. +func PcpatchMemSize(pa *Pcpatch) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.pcpatch_mem_size(pa._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // PcpatchToGeom wraps MEOS C function pcpatch_to_geom. func PcpatchToGeom(pa *Pcpatch) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -1074,6 +1135,76 @@ func PcpatchUnionTransfn(state *Set, pa *Pcpatch) (_r0 *Set, _err error) { } +// TpcboxAsEWKB wraps MEOS C function tpcbox_as_ewkb. +func TpcboxAsEWKB(box *TPCBox, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_as_ewkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TpcboxAsHexewkb wraps MEOS C function tpcbox_as_hexewkb. +func TpcboxAsHexewkb(box *TPCBox, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_as_hexewkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// TpcboxAsHexwkb wraps MEOS C function tpcbox_as_hexwkb. +func TpcboxAsHexwkb(box *TPCBox, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_as_hexwkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// TpcboxAsWKB wraps MEOS C function tpcbox_as_wkb. +func TpcboxAsWKB(box *TPCBox, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_as_wkb(box._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TpcboxFromHexwkb wraps MEOS C function tpcbox_from_hexwkb. +func TpcboxFromHexwkb(hexwkb string) (_r0 *TPCBox, _err error) { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + C.meos_errno_reset() + _cret := C.tpcbox_from_hexwkb(_c_hexwkb) + if _err = meosError(); _err != nil { + return + } + return &TPCBox{_inner: _cret}, nil +} + + +// TpcboxFromWKB wraps MEOS C function tpcbox_from_wkb. +func TpcboxFromWKB(wkb unsafe.Pointer, size uint) (_r0 *TPCBox, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_from_wkb((*C.uint8_t)(unsafe.Pointer(wkb)), C.size_t(size)) + if _err = meosError(); _err != nil { + return + } + return &TPCBox{_inner: _cret}, nil +} + + // TpcboxIn wraps MEOS C function tpcbox_in. func TpcboxIn(str string) (_r0 *TPCBox, _err error) { _c_str := C.CString(str) @@ -1100,9 +1231,9 @@ func TpcboxOut(box *TPCBox, maxdd int) (_r0 string, _err error) { // TpcboxMake wraps MEOS C function tpcbox_make. -func TpcboxMake(hasx bool, hasz bool, hast bool, geodetic bool, srid int32, pcid uint32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, period *Span) (_r0 *TPCBox, _err error) { +func TpcboxMake(hasx bool, hasz bool, hast bool, geodetic bool, pcid uint32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, period *Span) (_r0 *TPCBox, _err error) { C.meos_errno_reset() - _cret := C.tpcbox_make(C.bool(hasx), C.bool(hasz), C.bool(hast), C.bool(geodetic), C.int32_t(srid), C.uint32_t(pcid), C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax), period._inner) + _cret := C.tpcbox_make(C.bool(hasx), C.bool(hasz), C.bool(hast), C.bool(geodetic), C.uint32_t(pcid), C.double(xmin), C.double(xmax), C.double(ymin), C.double(ymax), C.double(zmin), C.double(zmax), period._inner) if _err = meosError(); _err != nil { return } @@ -1122,9 +1253,9 @@ func TpcboxCopy(box *TPCBox) (_r0 *TPCBox, _err error) { // PcpatchToTpcbox wraps MEOS C function pcpatch_to_tpcbox. -func PcpatchToTpcbox(pa *Pcpatch, srid int32) (_r0 *TPCBox, _err error) { +func PcpatchToTpcbox(pa *Pcpatch) (_r0 *TPCBox, _err error) { C.meos_errno_reset() - _cret := C.pcpatch_to_tpcbox(pa._inner, C.int32_t(srid)) + _cret := C.pcpatch_to_tpcbox(pa._inner) if _err = meosError(); _err != nil { return } @@ -1473,6 +1604,17 @@ func TpcboxNe(box1 *TPCBox, box2 *TPCBox) (_r0 bool, _err error) { } +// TpcboxSortkey wraps MEOS C function tpcbox_sortkey. +func TpcboxSortkey(box *TPCBox, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_sortkey(box._inner, (*C.size_t)(unsafe.Pointer(size))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TpcboxLt wraps MEOS C function tpcbox_lt. func TpcboxLt(box1 *TPCBox, box2 *TPCBox) (_r0 bool, _err error) { C.meos_errno_reset() @@ -1693,10 +1835,164 @@ func OverafterTpcboxTpcbox(box1 *TPCBox, box2 *TPCBox) (_r0 bool, _err error) { } -// TpointcloudToTgeompoint wraps MEOS C function tpointcloud_to_tgeompoint. -func TpointcloudToTgeompoint(temp *Temporal) (_r0 *Temporal, _err error) { +// TpcpointIn wraps MEOS C function tpcpoint_in. +func TpcpointIn(str string) (_r0 *Temporal, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpoint_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TpcpointOut wraps MEOS C function tpcpoint_out. +func TpcpointOut(temp *Temporal) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tpcpoint_out(temp._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// TpcpointFromMFJSON wraps MEOS C function tpcpoint_from_mfjson. +func TpcpointFromMFJSON(mfjson string) (_r0 *Temporal, _err error) { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + C.meos_errno_reset() + _cret := C.tpcpoint_from_mfjson(_c_mfjson) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TpcpatchIn wraps MEOS C function tpcpatch_in. +func TpcpatchIn(str string) (_r0 *Temporal, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpatch_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TpcpatchOut wraps MEOS C function tpcpatch_out. +func TpcpatchOut(temp *Temporal) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_out(temp._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// TpcpatchFromMFJSON wraps MEOS C function tpcpatch_from_mfjson. +func TpcpatchFromMFJSON(mfjson string) (_r0 *Temporal, _err error) { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + C.meos_errno_reset() + _cret := C.tpcpatch_from_mfjson(_c_mfjson) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TpcpointinstIn wraps MEOS C function tpcpointinst_in. +func TpcpointinstIn(str string) (_r0 *TInstant, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpointinst_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &TInstant{_inner: _cret}, nil +} + + +// TpcpointseqIn wraps MEOS C function tpcpointseq_in. +func TpcpointseqIn(str string, interp Interpolation) (_r0 *TSequence, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpointseq_in(_c_str, C.interpType(interp)) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TpcpointseqsetIn wraps MEOS C function tpcpointseqset_in. +func TpcpointseqsetIn(str string) (_r0 *TSequenceSet, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpointseqset_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + +// TpcpatchinstIn wraps MEOS C function tpcpatchinst_in. +func TpcpatchinstIn(str string) (_r0 *TInstant, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpatchinst_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &TInstant{_inner: _cret}, nil +} + + +// TpcpatchseqIn wraps MEOS C function tpcpatchseq_in. +func TpcpatchseqIn(str string, interp Interpolation) (_r0 *TSequence, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpatchseq_in(_c_str, C.interpType(interp)) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TpcpatchseqsetIn wraps MEOS C function tpcpatchseqset_in. +func TpcpatchseqsetIn(str string) (_r0 *TSequenceSet, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.tpcpatchseqset_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + +// TpcpointToTgeompoint wraps MEOS C function tpcpoint_to_tgeompoint. +func TpcpointToTgeompoint(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() - _cret := C.tpointcloud_to_tgeompoint(temp._inner) + _cret := C.tpcpoint_to_tgeompoint(temp._inner) if _err = meosError(); _err != nil { return } @@ -1792,6 +2088,17 @@ func TpcpointEndValue(temp *Temporal) (_r0 *Pcpoint, _err error) { } +// TpcpointValue wraps MEOS C function tpcpoint_value. +func TpcpointValue(temp *Temporal) (_r0 *Pcpoint, _err error) { + C.meos_errno_reset() + _cret := C.tpcpoint_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Pcpoint{_inner: _cret}, nil +} + + // TpcpointValueN wraps MEOS C function tpcpoint_value_n. func TpcpointValueN(temp *Temporal, n int) (_r0 bool, _r1 *Pcpoint, _err error) { var _out_result *C.Pcpoint @@ -1815,6 +2122,17 @@ func TpcpointValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _ } +// TpcpointUnnest wraps MEOS C function tpcpoint_unnest. +func TpcpointUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpcpoint_unnest(temp._inner, (***C.Pcpoint)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TpcpointValueAtTimestamptz wraps MEOS C function tpcpoint_value_at_timestamptz. func TpcpointValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Pcpoint, _err error) { var _out_value *C.Pcpoint @@ -1849,6 +2167,17 @@ func TpcpointMinusValue(temp *Temporal, pt *Pcpoint) (_r0 *Temporal, _err error) } +// TpcpointPcid wraps MEOS C function tpcpoint_pcid. +func TpcpointPcid(temp *Temporal) (_r0 uint32, _err error) { + C.meos_errno_reset() + _cret := C.tpcpoint_pcid(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint32(_cret), nil +} + + // TpcpatchinstMake wraps MEOS C function tpcpatchinst_make. func TpcpatchinstMake(pa *Pcpatch, t int64) (_r0 *TInstant, _err error) { C.meos_errno_reset() @@ -1926,6 +2255,17 @@ func TpcpatchEndValue(temp *Temporal) (_r0 *Pcpatch, _err error) { } +// TpcpatchValue wraps MEOS C function tpcpatch_value. +func TpcpatchValue(temp *Temporal) (_r0 *Pcpatch, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Pcpatch{_inner: _cret}, nil +} + + // TpcpatchValueN wraps MEOS C function tpcpatch_value_n. func TpcpatchValueN(temp *Temporal, n int) (_r0 bool, _r1 *Pcpatch, _err error) { var _out_result *C.Pcpatch @@ -1949,6 +2289,17 @@ func TpcpatchValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _ } +// TpcpatchUnnest wraps MEOS C function tpcpatch_unnest. +func TpcpatchUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_unnest(temp._inner, (***C.Pcpatch)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TpcpatchValueAtTimestamptz wraps MEOS C function tpcpatch_value_at_timestamptz. func TpcpatchValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Pcpatch, _err error) { var _out_value *C.Pcpatch @@ -1983,10 +2334,54 @@ func TpcpatchMinusValue(temp *Temporal, pa *Pcpatch) (_r0 *Temporal, _err error) } -// EverEqPcpointTpcpoint wraps MEOS C function ever_eq_pcpoint_tpcpoint. -func EverEqPcpointTpcpoint(pt *Pcpoint, temp *Temporal) (_r0 int, _err error) { +// TpcpatchPcid wraps MEOS C function tpcpatch_pcid. +func TpcpatchPcid(temp *Temporal) (_r0 uint32, _err error) { C.meos_errno_reset() - _cret := C.ever_eq_pcpoint_tpcpoint(pt._inner, temp._inner) + _cret := C.tpcpatch_pcid(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint32(_cret), nil +} + + +// TpcpatchStartNpoints wraps MEOS C function tpcpatch_start_npoints. +func TpcpatchStartNpoints(temp *Temporal) (_r0 uint32, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_start_npoints(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint32(_cret), nil +} + + +// TpcpatchEndNpoints wraps MEOS C function tpcpatch_end_npoints. +func TpcpatchEndNpoints(temp *Temporal) (_r0 uint32, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_end_npoints(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint32(_cret), nil +} + + +// TpcpatchNpoints wraps MEOS C function tpcpatch_npoints. +func TpcpatchNpoints(temp *Temporal) (_r0 int64, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_npoints(temp._inner) + if _err = meosError(); _err != nil { + return + } + return int64(_cret), nil +} + + +// EverEqPcpointTpcpoint wraps MEOS C function ever_eq_pcpoint_tpcpoint. +func EverEqPcpointTpcpoint(pt *Pcpoint, temp *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.ever_eq_pcpoint_tpcpoint(pt._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -2500,6 +2895,578 @@ func SameTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _er } +// LeftTpcboxTpointcloud wraps MEOS C function left_tpcbox_tpointcloud. +func LeftTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.left_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// LeftTpointcloudTpcbox wraps MEOS C function left_tpointcloud_tpcbox. +func LeftTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.left_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// LeftTpointcloudTpointcloud wraps MEOS C function left_tpointcloud_tpointcloud. +func LeftTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.left_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverleftTpcboxTpointcloud wraps MEOS C function overleft_tpcbox_tpointcloud. +func OverleftTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overleft_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverleftTpointcloudTpcbox wraps MEOS C function overleft_tpointcloud_tpcbox. +func OverleftTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overleft_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverleftTpointcloudTpointcloud wraps MEOS C function overleft_tpointcloud_tpointcloud. +func OverleftTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overleft_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// RightTpcboxTpointcloud wraps MEOS C function right_tpcbox_tpointcloud. +func RightTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.right_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// RightTpointcloudTpcbox wraps MEOS C function right_tpointcloud_tpcbox. +func RightTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.right_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// RightTpointcloudTpointcloud wraps MEOS C function right_tpointcloud_tpointcloud. +func RightTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.right_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverrightTpcboxTpointcloud wraps MEOS C function overright_tpcbox_tpointcloud. +func OverrightTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overright_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverrightTpointcloudTpcbox wraps MEOS C function overright_tpointcloud_tpcbox. +func OverrightTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overright_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverrightTpointcloudTpointcloud wraps MEOS C function overright_tpointcloud_tpointcloud. +func OverrightTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overright_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BelowTpcboxTpointcloud wraps MEOS C function below_tpcbox_tpointcloud. +func BelowTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.below_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BelowTpointcloudTpcbox wraps MEOS C function below_tpointcloud_tpcbox. +func BelowTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.below_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BelowTpointcloudTpointcloud wraps MEOS C function below_tpointcloud_tpointcloud. +func BelowTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.below_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbelowTpcboxTpointcloud wraps MEOS C function overbelow_tpcbox_tpointcloud. +func OverbelowTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbelow_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbelowTpointcloudTpcbox wraps MEOS C function overbelow_tpointcloud_tpcbox. +func OverbelowTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbelow_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbelowTpointcloudTpointcloud wraps MEOS C function overbelow_tpointcloud_tpointcloud. +func OverbelowTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbelow_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AboveTpcboxTpointcloud wraps MEOS C function above_tpcbox_tpointcloud. +func AboveTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.above_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AboveTpointcloudTpcbox wraps MEOS C function above_tpointcloud_tpcbox. +func AboveTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.above_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AboveTpointcloudTpointcloud wraps MEOS C function above_tpointcloud_tpointcloud. +func AboveTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.above_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OveraboveTpcboxTpointcloud wraps MEOS C function overabove_tpcbox_tpointcloud. +func OveraboveTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overabove_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OveraboveTpointcloudTpcbox wraps MEOS C function overabove_tpointcloud_tpcbox. +func OveraboveTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overabove_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OveraboveTpointcloudTpointcloud wraps MEOS C function overabove_tpointcloud_tpointcloud. +func OveraboveTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overabove_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// FrontTpcboxTpointcloud wraps MEOS C function front_tpcbox_tpointcloud. +func FrontTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.front_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// FrontTpointcloudTpcbox wraps MEOS C function front_tpointcloud_tpcbox. +func FrontTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.front_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// FrontTpointcloudTpointcloud wraps MEOS C function front_tpointcloud_tpointcloud. +func FrontTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.front_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverfrontTpcboxTpointcloud wraps MEOS C function overfront_tpcbox_tpointcloud. +func OverfrontTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overfront_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverfrontTpointcloudTpcbox wraps MEOS C function overfront_tpointcloud_tpcbox. +func OverfrontTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overfront_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverfrontTpointcloudTpointcloud wraps MEOS C function overfront_tpointcloud_tpointcloud. +func OverfrontTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overfront_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BackTpcboxTpointcloud wraps MEOS C function back_tpcbox_tpointcloud. +func BackTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.back_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BackTpointcloudTpcbox wraps MEOS C function back_tpointcloud_tpcbox. +func BackTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.back_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BackTpointcloudTpointcloud wraps MEOS C function back_tpointcloud_tpointcloud. +func BackTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.back_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbackTpcboxTpointcloud wraps MEOS C function overback_tpcbox_tpointcloud. +func OverbackTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overback_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbackTpointcloudTpcbox wraps MEOS C function overback_tpointcloud_tpcbox. +func OverbackTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overback_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbackTpointcloudTpointcloud wraps MEOS C function overback_tpointcloud_tpointcloud. +func OverbackTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overback_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BeforeTpcboxTpointcloud wraps MEOS C function before_tpcbox_tpointcloud. +func BeforeTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.before_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BeforeTpointcloudTpcbox wraps MEOS C function before_tpointcloud_tpcbox. +func BeforeTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.before_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// BeforeTpointcloudTpointcloud wraps MEOS C function before_tpointcloud_tpointcloud. +func BeforeTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.before_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbeforeTpcboxTpointcloud wraps MEOS C function overbefore_tpcbox_tpointcloud. +func OverbeforeTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbefore_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbeforeTpointcloudTpcbox wraps MEOS C function overbefore_tpointcloud_tpcbox. +func OverbeforeTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbefore_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverbeforeTpointcloudTpointcloud wraps MEOS C function overbefore_tpointcloud_tpointcloud. +func OverbeforeTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overbefore_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AfterTpcboxTpointcloud wraps MEOS C function after_tpcbox_tpointcloud. +func AfterTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.after_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AfterTpointcloudTpcbox wraps MEOS C function after_tpointcloud_tpcbox. +func AfterTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.after_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// AfterTpointcloudTpointcloud wraps MEOS C function after_tpointcloud_tpointcloud. +func AfterTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.after_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverafterTpcboxTpointcloud wraps MEOS C function overafter_tpcbox_tpointcloud. +func OverafterTpcboxTpointcloud(box *TPCBox, temp *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overafter_tpcbox_tpointcloud(box._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverafterTpointcloudTpcbox wraps MEOS C function overafter_tpointcloud_tpcbox. +func OverafterTpointcloudTpcbox(temp *Temporal, box *TPCBox) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overafter_tpointcloud_tpcbox(temp._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// OverafterTpointcloudTpointcloud wraps MEOS C function overafter_tpointcloud_tpointcloud. +func OverafterTpointcloudTpointcloud(temp1 *Temporal, temp2 *Temporal) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.overafter_tpointcloud_tpointcloud(temp1._inner, temp2._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// TpcExtentTransfn wraps MEOS C function tpc_extent_transfn. +func TpcExtentTransfn(state *TPCBox, temp *Temporal) (_r0 *TPCBox, _err error) { + C.meos_errno_reset() + _cret := C.tpc_extent_transfn(state._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return &TPCBox{_inner: _cret}, nil +} + + +// TpcboxExtentTransfn wraps MEOS C function tpcbox_extent_transfn. +func TpcboxExtentTransfn(state *TPCBox, box *TPCBox) (_r0 *TPCBox, _err error) { + C.meos_errno_reset() + _cret := C.tpcbox_extent_transfn(state._inner, box._inner) + if _err = meosError(); _err != nil { + return + } + return &TPCBox{_inner: _cret}, nil +} + + +// TpcpatchTdensityTransfn wraps MEOS C function tpcpatch_tdensity_transfn. +func TpcpatchTdensityTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_tdensity_transfn(state._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return &SkipList{_inner: _cret}, nil +} + + +// TpcpatchTnpointsTransfn wraps MEOS C function tpcpatch_tnpoints_transfn. +func TpcpatchTnpointsTransfn(state *SkipList, temp *Temporal) (_r0 *SkipList, _err error) { + C.meos_errno_reset() + _cret := C.tpcpatch_tnpoints_transfn(state._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return &SkipList{_inner: _cret}, nil +} + + // EintersectsTpcpointGeo wraps MEOS C function eintersects_tpcpoint_geo. func EintersectsTpcpointGeo(temp *Temporal, gs *Geom) (_r0 bool, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_pose.go b/functions/meos_meos_pose.go index e50774f..a9cbe5b 100644 --- a/functions/meos_meos_pose.go +++ b/functions/meos_meos_pose.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -87,6 +93,17 @@ import ( var _ = unsafe.Pointer(nil) +// PoseAsEWKB wraps MEOS C function pose_as_ewkb. +func PoseAsEWKB(pose *Pose, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.pose_as_ewkb(pose._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // PoseAsEWKT wraps MEOS C function pose_as_ewkt. func PoseAsEWKT(pose *Pose, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -99,6 +116,18 @@ func PoseAsEWKT(pose *Pose, maxdd int) (_r0 string, _err error) { } +// PoseAsHexewkb wraps MEOS C function pose_as_hexewkb. +func PoseAsHexewkb(pose *Pose, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.pose_as_hexewkb(pose._inner, C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // PoseAsHexwkb wraps MEOS C function pose_as_hexwkb. func PoseAsHexwkb(pose *Pose, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { C.meos_errno_reset() @@ -158,6 +187,19 @@ func PoseFromHexwkb(hexwkb string) (_r0 *Pose, _err error) { } +// PoseFromText wraps MEOS C function pose_from_text. +func PoseFromText(str string) (_r0 *Pose, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.pose_from_text(_c_str) + if _err = meosError(); _err != nil { + return + } + return &Pose{_inner: _cret}, nil +} + + // PoseIn wraps MEOS C function pose_in. func PoseIn(str string) (_r0 *Pose, _err error) { _c_str := C.CString(str) @@ -291,6 +333,40 @@ func GeoposeFrame(frame_id int32) (_r0 unsafe.Pointer, _err error) { } +// GeoposeFrameName wraps MEOS C function geopose_frame_name. +func GeoposeFrameName(frame_id int32) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.geopose_frame_name(C.int32_t(frame_id)) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// GeoposeFrameSRID wraps MEOS C function geopose_frame_srid. +func GeoposeFrameSRID(frame_id int32) (_r0 int32, _err error) { + C.meos_errno_reset() + _cret := C.geopose_frame_srid(C.int32_t(frame_id)) + if _err = meosError(); _err != nil { + return + } + return int32(_cret), nil +} + + +// GeoposeFrameIsGeographic wraps MEOS C function geopose_frame_is_geographic. +func GeoposeFrameIsGeographic(frame_id int32) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.geopose_frame_is_geographic(C.int32_t(frame_id)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + // PoseApplyGeo wraps MEOS C function pose_apply_geo. func PoseApplyGeo(pose *Pose, body *Geom) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -357,6 +433,61 @@ func TposeInverse(temp *Temporal) (_r0 *Temporal, _err error) { } +// TposeRotate wraps MEOS C function tpose_rotate. +func TposeRotate(temp *Temporal, angle float64, x0 float64, y0 float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tpose_rotate(temp._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposeRotateX wraps MEOS C function tpose_rotate_x. +func TposeRotateX(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tpose_rotate_x(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposeRotateY wraps MEOS C function tpose_rotate_y. +func TposeRotateY(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tpose_rotate_y(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposeRotateZ wraps MEOS C function tpose_rotate_z. +func TposeRotateZ(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tpose_rotate_z(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposeTranslate wraps MEOS C function tpose_translate. +func TposeTranslate(temp *Temporal, deltax float64, deltay float64, deltaz float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tpose_translate(temp._inner, C.double(deltax), C.double(deltay), C.double(deltaz)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // PoseCopy wraps MEOS C function pose_copy. func PoseCopy(pose *Pose) (_r0 *Pose, _err error) { C.meos_errno_reset() @@ -467,6 +598,17 @@ func PoseHashExtended(pose *Pose, seed uint64) (_r0 uint64, _err error) { } +// PoseMemSize wraps MEOS C function pose_mem_size. +func PoseMemSize(pose *Pose) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.pose_mem_size(pose._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // PoseQuaternion wraps MEOS C function pose_quaternion. func PoseQuaternion(pose *Pose, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -766,28 +908,6 @@ func PoseNe(pose1 *Pose, pose2 *Pose) (_r0 bool, _err error) { } -// PoseNsame wraps MEOS C function pose_nsame. -func PoseNsame(pose1 *Pose, pose2 *Pose) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.pose_nsame(pose1._inner, pose2._inner) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - -// PoseSame wraps MEOS C function pose_same. -func PoseSame(pose1 *Pose, pose2 *Pose) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.pose_same(pose1._inner, pose2._inner) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - // PosesetIn wraps MEOS C function poseset_in. func PosesetIn(str string) (_r0 *Set, _err error) { _c_str := C.CString(str) @@ -1181,6 +1301,17 @@ func TposeTrajectory(temp *Temporal) (_r0 *Geom, _err error) { } +// TposeValue wraps MEOS C function tpose_value. +func TposeValue(temp *Temporal) (_r0 *Pose, _err error) { + C.meos_errno_reset() + _cret := C.tpose_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Pose{_inner: _cret}, nil +} + + // TposeValueAtTimestamptz wraps MEOS C function tpose_value_at_timestamptz. func TposeValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 *Pose, _err error) { var _out_result *C.Pose @@ -1216,6 +1347,17 @@ func TposeValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err } +// TposeUnnest wraps MEOS C function tpose_unnest. +func TposeUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tpose_unnest(temp._inner, (***C.Pose)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TposeAtElevation wraps MEOS C function tpose_at_elevation. func TposeAtElevation(temp *Temporal, s *Span) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -1660,6 +1802,17 @@ func PosechainAsText(pc unsafe.Pointer, maxdd int) (_r0 string, _err error) { } +// PosechainAsEWKB wraps MEOS C function posechain_as_ewkb. +func PosechainAsEWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.posechain_as_ewkb((*C.PoseChain)(unsafe.Pointer(pc)), C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // PosechainAsEWKT wraps MEOS C function posechain_as_ewkt. func PosechainAsEWKT(pc unsafe.Pointer, maxdd int) (_r0 string, _err error) { C.meos_errno_reset() @@ -1683,6 +1836,18 @@ func PosechainAsWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) ( } +// PosechainAsHexewkb wraps MEOS C function posechain_as_hexewkb. +func PosechainAsHexewkb(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.posechain_as_hexewkb((*C.PoseChain)(unsafe.Pointer(pc)), C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // PosechainAsHexwkb wraps MEOS C function posechain_as_hexwkb. func PosechainAsHexwkb(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { C.meos_errno_reset() @@ -1906,6 +2071,17 @@ func PosechainHashExtended(pc unsafe.Pointer, seed uint64) (_r0 uint64, _err err } +// PosechainMemSize wraps MEOS C function posechain_mem_size. +func PosechainMemSize(pc unsafe.Pointer) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.posechain_mem_size((*C.PoseChain)(unsafe.Pointer(pc))) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // PosechainRound wraps MEOS C function posechain_round. func PosechainRound(pc unsafe.Pointer, maxdd int) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() @@ -1951,11 +2127,11 @@ func PosechainTransform(pc unsafe.Pointer, srid_to int32) (_r0 unsafe.Pointer, _ // PosechainTransformPipeline wraps MEOS C function posechain_transform_pipeline. -func PosechainTransformPipeline(pc unsafe.Pointer, pipeline string, srid_to int32, is_forward bool) (_r0 unsafe.Pointer, _err error) { - _c_pipeline := C.CString(pipeline) - defer C.free(unsafe.Pointer(_c_pipeline)) +func PosechainTransformPipeline(pc unsafe.Pointer, pipelinestr string, srid int32, is_forward bool) (_r0 unsafe.Pointer, _err error) { + _c_pipelinestr := C.CString(pipelinestr) + defer C.free(unsafe.Pointer(_c_pipelinestr)) C.meos_errno_reset() - _cret := C.posechain_transform_pipeline((*C.PoseChain)(unsafe.Pointer(pc)), _c_pipeline, C.int32_t(srid_to), C.bool(is_forward)) + _cret := C.posechain_transform_pipeline((*C.PoseChain)(unsafe.Pointer(pc)), _c_pipelinestr, C.int32_t(srid), C.bool(is_forward)) if _err = meosError(); _err != nil { return } @@ -2022,28 +2198,6 @@ func PosechainNe(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (_r0 bool, _err error) } -// PosechainSame wraps MEOS C function posechain_same. -func PosechainSame(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.posechain_same((*C.PoseChain)(unsafe.Pointer(pc1)), (*C.PoseChain)(unsafe.Pointer(pc2))) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - -// PosechainNsame wraps MEOS C function posechain_nsame. -func PosechainNsame(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (_r0 bool, _err error) { - C.meos_errno_reset() - _cret := C.posechain_nsame((*C.PoseChain)(unsafe.Pointer(pc1)), (*C.PoseChain)(unsafe.Pointer(pc2))) - if _err = meosError(); _err != nil { - return - } - return bool(_cret), nil -} - - // PosechainCmp wraps MEOS C function posechain_cmp. func PosechainCmp(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (_r0 int, _err error) { C.meos_errno_reset() @@ -2308,6 +2462,17 @@ func TposechainFromMFJSON(mfjson string) (_r0 *Temporal, _err error) { } +// TposechaininstMake wraps MEOS C function tposechaininst_make. +func TposechaininstMake(pc unsafe.Pointer, t int64) (_r0 *TInstant, _err error) { + C.meos_errno_reset() + _cret := C.tposechaininst_make((*C.PoseChain)(unsafe.Pointer(pc)), C.TimestampTz(t)) + if _err = meosError(); _err != nil { + return + } + return &TInstant{_inner: _cret}, nil +} + + // TposechainFromBaseTemp wraps MEOS C function tposechain_from_base_temp. func TposechainFromBaseTemp(pc unsafe.Pointer, temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -2319,6 +2484,39 @@ func TposechainFromBaseTemp(pc unsafe.Pointer, temp *Temporal) (_r0 *Temporal, _ } +// TposechainseqFromBaseTstzset wraps MEOS C function tposechainseq_from_base_tstzset. +func TposechainseqFromBaseTstzset(pc unsafe.Pointer, s *Set) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.tposechainseq_from_base_tstzset((*C.PoseChain)(unsafe.Pointer(pc)), s._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TposechainseqFromBaseTstzspan wraps MEOS C function tposechainseq_from_base_tstzspan. +func TposechainseqFromBaseTstzspan(pc unsafe.Pointer, s *Span, interp Interpolation) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.tposechainseq_from_base_tstzspan((*C.PoseChain)(unsafe.Pointer(pc)), s._inner, C.interpType(interp)) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TposechainseqsetFromBaseTstzspanset wraps MEOS C function tposechainseqset_from_base_tstzspanset. +func TposechainseqsetFromBaseTstzspanset(pc unsafe.Pointer, ss *SpanSet, interp Interpolation) (_r0 *TSequenceSet, _err error) { + C.meos_errno_reset() + _cret := C.tposechainseqset_from_base_tstzspanset((*C.PoseChain)(unsafe.Pointer(pc)), ss._inner, C.interpType(interp)) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + // TposechainToTpose wraps MEOS C function tposechain_to_tpose. func TposechainToTpose(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -2330,6 +2528,17 @@ func TposechainToTpose(temp *Temporal) (_r0 *Temporal, _err error) { } +// TposechainEndValue wraps MEOS C function tposechain_end_value. +func TposechainEndValue(temp *Temporal) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_end_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TposechainNumPoses wraps MEOS C function tposechain_num_poses. func TposechainNumPoses(temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() @@ -2341,6 +2550,131 @@ func TposechainNumPoses(temp *Temporal) (_r0 int, _err error) { } +// TposechainStartValue wraps MEOS C function tposechain_start_value. +func TposechainStartValue(temp *Temporal) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_start_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TposechainValue wraps MEOS C function tposechain_value. +func TposechainValue(temp *Temporal) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TODO tposechain_value_n: unhandled OUTPUT_SCALAR shape PoseChain ** +// func TposechainValueN(...) { /* not yet handled by codegen */ } + + +// TposechainValues wraps MEOS C function tposechain_values. +func TposechainValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_values(temp._inner, (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TposechainUnnest wraps MEOS C function tposechain_unnest. +func TposechainUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_unnest(temp._inner, (***C.PoseChain)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TposechainRotate wraps MEOS C function tposechain_rotate. +func TposechainRotate(temp *Temporal, angle float64, x0 float64, y0 float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_rotate(temp._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainRotateX wraps MEOS C function tposechain_rotate_x. +func TposechainRotateX(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_rotate_x(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainRotateY wraps MEOS C function tposechain_rotate_y. +func TposechainRotateY(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_rotate_y(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainRotateZ wraps MEOS C function tposechain_rotate_z. +func TposechainRotateZ(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_rotate_z(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainTranslate wraps MEOS C function tposechain_translate. +func TposechainTranslate(temp *Temporal, deltax float64, deltay float64, deltaz float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_translate(temp._inner, C.double(deltax), C.double(deltay), C.double(deltaz)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainAtValue wraps MEOS C function tposechain_at_value. +func TposechainAtValue(temp *Temporal, pc unsafe.Pointer) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_at_value(temp._inner, (*C.PoseChain)(unsafe.Pointer(pc))) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TposechainMinusValue wraps MEOS C function tposechain_minus_value. +func TposechainMinusValue(temp *Temporal, pc unsafe.Pointer) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tposechain_minus_value(temp._inner, (*C.PoseChain)(unsafe.Pointer(pc))) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // AlwaysEqPosechainTposechain wraps MEOS C function always_eq_posechain_tposechain. func AlwaysEqPosechainTposechain(posechain unsafe.Pointer, temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_quadbin.go b/functions/meos_meos_quadbin.go index 23c138a..7d4a55f 100644 --- a/functions/meos_meos_quadbin.go +++ b/functions/meos_meos_quadbin.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -87,6 +93,53 @@ import ( var _ = unsafe.Pointer(nil) +// QuadbinAsHexwkb wraps MEOS C function quadbin_as_hexwkb. +func QuadbinAsHexwkb(cell uint64, variant uint8, size_out unsafe.Pointer) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_as_hexwkb(C.uint64_t(cell), C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// QuadbinAsWKB wraps MEOS C function quadbin_as_wkb. +func QuadbinAsWKB(cell uint64, variant uint8, size_out unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_as_wkb(C.uint64_t(cell), C.uint8_t(variant), (*C.size_t)(unsafe.Pointer(size_out))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// QuadbinFromHexwkb wraps MEOS C function quadbin_from_hexwkb. +func QuadbinFromHexwkb(hexwkb string) (_r0 uint64, _err error) { + _c_hexwkb := C.CString(hexwkb) + defer C.free(unsafe.Pointer(_c_hexwkb)) + C.meos_errno_reset() + _cret := C.quadbin_from_hexwkb(_c_hexwkb) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// QuadbinFromWKB wraps MEOS C function quadbin_from_wkb. +func QuadbinFromWKB(wkb unsafe.Pointer, size uint) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_from_wkb((*C.uint8_t)(unsafe.Pointer(wkb)), C.size_t(size)) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + // QuadbinIn wraps MEOS C function quadbin_in. func QuadbinIn(str string) (_r0 uint64, _err error) { _c_str := C.CString(str) @@ -100,6 +153,29 @@ func QuadbinIn(str string) (_r0 uint64, _err error) { } +// BigintToQuadbin wraps MEOS C function bigint_to_quadbin. +func BigintToQuadbin(i int64) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.bigint_to_quadbin(C.int64_t(i)) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// QuadbinOut wraps MEOS C function quadbin_out. +func QuadbinOut(cell uint64) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_out(C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + // QuadbinEq wraps MEOS C function quadbin_eq. func QuadbinEq(a uint64, b uint64) (_r0 bool, _err error) { C.meos_errno_reset() @@ -233,13 +309,13 @@ func QuadbinTileToCell(x uint32, y uint32, z uint32) (_r0 uint64, _err error) { // QuadbinCellToTile wraps MEOS C function quadbin_cell_to_tile. -func QuadbinCellToTile(cell uint64, x unsafe.Pointer, y unsafe.Pointer, z unsafe.Pointer) (_r0 bool, _err error) { +func QuadbinCellToTile(cell uint64, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { C.meos_errno_reset() - _cret := C.quadbin_cell_to_tile(C.uint64_t(cell), (*C.uint32_t)(unsafe.Pointer(x)), (*C.uint32_t)(unsafe.Pointer(y)), (*C.uint32_t)(unsafe.Pointer(z))) + _cret := C.quadbin_cell_to_tile(C.uint64_t(cell), (*C.int)(unsafe.Pointer(count))) if _err = meosError(); _err != nil { return } - return bool(_cret), nil + return unsafe.Pointer(_cret), nil } @@ -322,6 +398,17 @@ func GeoToQuadbinCell(point *Geom, resolution int32) (_r0 uint64, _err error) { } +// GeoToQuadbinSet wraps MEOS C function geo_to_quadbin_set. +func GeoToQuadbinSet(gs *Geom, resolution int32) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.geo_to_quadbin_set(gs._inner, C.int32(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // QuadbinCellToGeompoint wraps MEOS C function quadbin_cell_to_geompoint. func QuadbinCellToGeompoint(cell uint64) (_r0 *Geom, _err error) { C.meos_errno_reset() @@ -344,6 +431,28 @@ func QuadbinCellToGeom(cell uint64) (_r0 *Geom, _err error) { } +// EverEqQuadbinsetTquadbin wraps MEOS C function ever_eq_quadbinset_tquadbin. +func EverEqQuadbinsetTquadbin(cells *Set, tqb *Temporal) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.ever_eq_quadbinset_tquadbin(cells._inner, tqb._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + +// EverEqTquadbinQuadbinset wraps MEOS C function ever_eq_tquadbin_quadbinset. +func EverEqTquadbinQuadbinset(tqb *Temporal, cells *Set) (_r0 int, _err error) { + C.meos_errno_reset() + _cret := C.ever_eq_tquadbin_quadbinset(tqb._inner, cells._inner) + if _err = meosError(); _err != nil { + return + } + return int(_cret), nil +} + + // QuadbinToSTBOX wraps MEOS C function quadbin_to_stbox. func QuadbinToSTBOX(cell uint64) (_r0 *STBox, _err error) { C.meos_errno_reset() @@ -436,6 +545,17 @@ func QuadbinGridDisk(origin uint64, k int) (_r0 *Set, _err error) { } +// QuadbinsetGridDisk wraps MEOS C function quadbinset_grid_disk. +func QuadbinsetGridDisk(cells *Set, k int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_grid_disk(cells._inner, C.int(k)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // QuadbinCellToChildrenSet wraps MEOS C function quadbin_cell_to_children_set. func QuadbinCellToChildrenSet(origin uint64, children_resolution int) (_r0 *Set, _err error) { C.meos_errno_reset() @@ -447,6 +567,230 @@ func QuadbinCellToChildrenSet(origin uint64, children_resolution int) (_r0 *Set, } +// QuadbinsetCompactCells wraps MEOS C function quadbinset_compact_cells. +func QuadbinsetCompactCells(cells *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_compact_cells(cells._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinsetUncompactCells wraps MEOS C function quadbinset_uncompact_cells. +func QuadbinsetUncompactCells(cells *Set, resolution int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_uncompact_cells(cells._inner, C.int(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinCellToCover wraps MEOS C function quadbin_cell_to_cover. +func QuadbinCellToCover(cell uint64, resolution int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_cell_to_cover(C.uint64_t(cell), C.int(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinsetCoverCells wraps MEOS C function quadbinset_cover_cells. +func QuadbinsetCoverCells(cells *Set, resolution int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_cover_cells(cells._inner, C.int(resolution)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinsetIn wraps MEOS C function quadbinset_in. +func QuadbinsetIn(str string) (_r0 *Set, _err error) { + _c_str := C.CString(str) + defer C.free(unsafe.Pointer(_c_str)) + C.meos_errno_reset() + _cret := C.quadbinset_in(_c_str) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinsetOut wraps MEOS C function quadbinset_out. +func QuadbinsetOut(s *Set) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_out(s._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// QuadbinsetMake wraps MEOS C function quadbinset_make. +func QuadbinsetMake(values unsafe.Pointer, count int) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_make((*C.uint64_t)(unsafe.Pointer(values)), C.int(count)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinsetEndValue wraps MEOS C function quadbinset_end_value. +func QuadbinsetEndValue(s *Set) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_end_value(s._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// QuadbinsetStartValue wraps MEOS C function quadbinset_start_value. +func QuadbinsetStartValue(s *Set) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_start_value(s._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + +// QuadbinsetValueN wraps MEOS C function quadbinset_value_n. +func QuadbinsetValueN(s *Set, n int) (_r0 bool, _r1 uint64, _err error) { + var _out_result C.uint64_t + C.meos_errno_reset() + _cret := C.quadbinset_value_n(s._inner, C.int(n), &_out_result) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), uint64(_out_result), nil +} + + +// QuadbinsetValues wraps MEOS C function quadbinset_values. +func QuadbinsetValues(s *Set, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.quadbinset_values(s._inner, (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// ContainedQuadbinSet wraps MEOS C function contained_quadbin_set. +func ContainedQuadbinSet(cell uint64, s *Set) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contained_quadbin_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// ContainsSetQuadbin wraps MEOS C function contains_set_quadbin. +func ContainsSetQuadbin(s *Set, cell uint64) (_r0 bool, _err error) { + C.meos_errno_reset() + _cret := C.contains_set_quadbin(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return bool(_cret), nil +} + + +// IntersectionQuadbinSet wraps MEOS C function intersection_quadbin_set. +func IntersectionQuadbinSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.intersection_quadbin_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// IntersectionSetQuadbin wraps MEOS C function intersection_set_quadbin. +func IntersectionSetQuadbin(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.intersection_set_quadbin(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// MinusQuadbinSet wraps MEOS C function minus_quadbin_set. +func MinusQuadbinSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.minus_quadbin_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// MinusSetQuadbin wraps MEOS C function minus_set_quadbin. +func MinusSetQuadbin(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.minus_set_quadbin(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// UnionQuadbinSet wraps MEOS C function union_quadbin_set. +func UnionQuadbinSet(cell uint64, s *Set) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.gunion_quadbin_set(C.uint64_t(cell), s._inner) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// UnionSetQuadbin wraps MEOS C function union_set_quadbin. +func UnionSetQuadbin(s *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.gunion_set_quadbin(s._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + +// QuadbinUnionTransfn wraps MEOS C function quadbin_union_transfn. +func QuadbinUnionTransfn(state *Set, cell uint64) (_r0 *Set, _err error) { + C.meos_errno_reset() + _cret := C.quadbin_union_transfn(state._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Set{_inner: _cret}, nil +} + + // TquadbinIn wraps MEOS C function tquadbin_in. func TquadbinIn(str string) (_r0 *Temporal, _err error) { _c_str := C.CString(str) @@ -499,6 +843,31 @@ func TquadbinseqsetIn(str string) (_r0 *TSequenceSet, _err error) { } +// TquadbinOut wraps MEOS C function tquadbin_out. +func TquadbinOut(temp *Temporal) (_r0 string, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_out(temp._inner) + if _err = meosError(); _err != nil { + return + } + defer C.free(unsafe.Pointer(_cret)) + return C.GoString(_cret), nil +} + + +// TquadbinFromMFJSON wraps MEOS C function tquadbin_from_mfjson. +func TquadbinFromMFJSON(mfjson string) (_r0 *Temporal, _err error) { + _c_mfjson := C.CString(mfjson) + defer C.free(unsafe.Pointer(_c_mfjson)) + C.meos_errno_reset() + _cret := C.tquadbin_from_mfjson(_c_mfjson) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TquadbinMake wraps MEOS C function tquadbin_make. func TquadbinMake(value uint64, t int64) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -521,6 +890,50 @@ func TquadbininstMake(value uint64, t int64) (_r0 *TInstant, _err error) { } +// TquadbinFromBaseTemp wraps MEOS C function tquadbin_from_base_temp. +func TquadbinFromBaseTemp(value uint64, temp *Temporal) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_from_base_temp(C.uint64_t(value), temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TquadbinseqFromBaseTstzset wraps MEOS C function tquadbinseq_from_base_tstzset. +func TquadbinseqFromBaseTstzset(value uint64, s *Set) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.tquadbinseq_from_base_tstzset(C.uint64_t(value), s._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TquadbinseqFromBaseTstzspan wraps MEOS C function tquadbinseq_from_base_tstzspan. +func TquadbinseqFromBaseTstzspan(value uint64, s *Span) (_r0 *TSequence, _err error) { + C.meos_errno_reset() + _cret := C.tquadbinseq_from_base_tstzspan(C.uint64_t(value), s._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequence{_inner: _cret}, nil +} + + +// TquadbinseqsetFromBaseTstzspanset wraps MEOS C function tquadbinseqset_from_base_tstzspanset. +func TquadbinseqsetFromBaseTstzspanset(value uint64, ss *SpanSet) (_r0 *TSequenceSet, _err error) { + C.meos_errno_reset() + _cret := C.tquadbinseqset_from_base_tstzspanset(C.uint64_t(value), ss._inner) + if _err = meosError(); _err != nil { + return + } + return &TSequenceSet{_inner: _cret}, nil +} + + // TquadbinseqMake wraps MEOS C function tquadbinseq_make. func TquadbinseqMake(values unsafe.Pointer, times unsafe.Pointer, count int, lower_inc bool, upper_inc bool) (_r0 *TSequence, _err error) { C.meos_errno_reset() @@ -565,6 +978,17 @@ func TquadbinEndValue(temp *Temporal) (_r0 uint64, _err error) { } +// TquadbinValue wraps MEOS C function tquadbin_value. +func TquadbinValue(temp *Temporal) (_r0 uint64, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return uint64(_cret), nil +} + + // TquadbinValueN wraps MEOS C function tquadbin_value_n. func TquadbinValueN(temp *Temporal, n int) (_r0 bool, _r1 uint64, _err error) { var _out_result C.uint64_t @@ -588,6 +1012,17 @@ func TquadbinValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _ } +// TquadbinUnnest wraps MEOS C function tquadbin_unnest. +func TquadbinUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_unnest(temp._inner, (**C.uint64_t)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TquadbinValueAtTimestamptz wraps MEOS C function tquadbin_value_at_timestamptz. func TquadbinValueAtTimestamptz(temp *Temporal, t int64, strict bool) (_r0 bool, _r1 uint64, _err error) { var _out_result C.uint64_t @@ -633,6 +1068,28 @@ func TquadbinToTbigint(temp *Temporal) (_r0 *Temporal, _err error) { } +// TquadbinAtValue wraps MEOS C function tquadbin_at_value. +func TquadbinAtValue(temp *Temporal, cell uint64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_at_value(temp._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TquadbinMinusValue wraps MEOS C function tquadbin_minus_value. +func TquadbinMinusValue(temp *Temporal, cell uint64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tquadbin_minus_value(temp._inner, C.uint64_t(cell)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // EverEqQuadbinTquadbin wraps MEOS C function ever_eq_quadbin_tquadbin. func EverEqQuadbinTquadbin(cell uint64, temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() @@ -831,6 +1288,50 @@ func TneTquadbinTquadbin(temp1 *Temporal, temp2 *Temporal) (_r0 *Temporal, _err } +// TgeogpointToTquadbin wraps MEOS C function tgeogpoint_to_tquadbin. +func TgeogpointToTquadbin(temp *Temporal, resolution int32, border_inc bool) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeogpoint_to_tquadbin(temp._inner, C.int32(resolution), C.bool(border_inc)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeompointToTquadbin wraps MEOS C function tgeompoint_to_tquadbin. +func TgeompointToTquadbin(temp *Temporal, resolution int32, border_inc bool) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tgeompoint_to_tquadbin(temp._inner, C.int32(resolution), C.bool(border_inc)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TgeogpointQuadbinSplit wraps MEOS C function tgeogpoint_quadbin_split. +func TgeogpointQuadbinSplit(temp *Temporal, resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeogpoint_quadbin_split(temp._inner, C.int32(resolution), C.bool(border_inc), (**C.uint64_t)(unsafe.Pointer(cells)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TgeompointQuadbinSplit wraps MEOS C function tgeompoint_quadbin_split. +func TgeompointQuadbinSplit(temp *Temporal, resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.tgeompoint_quadbin_split(temp._inner, C.int32(resolution), C.bool(border_inc), (**C.uint64_t)(unsafe.Pointer(cells)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TquadbinCellToQuadkey wraps MEOS C function tquadbin_cell_to_quadkey. func TquadbinCellToQuadkey(temp *Temporal) (_r0 *Temporal, _err error) { C.meos_errno_reset() diff --git a/functions/meos_meos_rgeo.go b/functions/meos_meos_rgeo.go index 2396520..bfc273c 100644 --- a/functions/meos_meos_rgeo.go +++ b/functions/meos_meos_rgeo.go @@ -28,6 +28,7 @@ package functions #define gunion_float_span union_float_span #define gunion_float_spanset union_float_spanset #define gunion_geo_set union_geo_set +#define gunion_h3index_set union_h3index_set #define gunion_int_set union_int_set #define gunion_int_span union_int_span #define gunion_int_spanset union_int_spanset @@ -37,11 +38,14 @@ package functions #define gunion_pcpoint_set union_pcpoint_set #define gunion_pose_set union_pose_set #define gunion_posechain_set union_posechain_set +#define gunion_quadbin_set union_quadbin_set +#define gunion_s2cell_set union_s2cell_set #define gunion_set_bigint union_set_bigint #define gunion_set_cbuffer union_set_cbuffer #define gunion_set_date union_set_date #define gunion_set_float union_set_float #define gunion_set_geo union_set_geo +#define gunion_set_h3index union_set_h3index #define gunion_set_int union_set_int #define gunion_set_jsonb union_set_jsonb #define gunion_set_npoint union_set_npoint @@ -49,6 +53,8 @@ package functions #define gunion_set_pcpoint union_set_pcpoint #define gunion_set_pose union_set_pose #define gunion_set_posechain union_set_posechain +#define gunion_set_quadbin union_set_quadbin +#define gunion_set_s2cell union_set_s2cell #define gunion_set_set union_set_set #define gunion_set_text union_set_text #define gunion_set_timestamptz union_set_timestamptz @@ -413,6 +419,39 @@ func TrgeometryStartValue(temp *Temporal) (_r0 *Geom, _err error) { } +// TrgeometryValue wraps MEOS C function trgeometry_value. +func TrgeometryValue(temp *Temporal) (_r0 *Pose, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_value(temp._inner) + if _err = meosError(); _err != nil { + return + } + return &Pose{_inner: _cret}, nil +} + + +// TrgeometryValues wraps MEOS C function trgeometry_values. +func TrgeometryValues(temp *Temporal, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_values(temp._inner, (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + +// TrgeometryUnnest wraps MEOS C function trgeometry_unnest. +func TrgeometryUnnest(temp *Temporal, values unsafe.Pointer, count unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_unnest(temp._inner, (***C.GSERIALIZED)(unsafe.Pointer(values)), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return unsafe.Pointer(_cret), nil +} + + // TrgeometryValueN wraps MEOS C function trgeometry_value_n. func TrgeometryValueN(temp *Temporal, n int) (_r0 bool, _r1 *Geom, _err error) { var _out_result *C.GSERIALIZED @@ -480,6 +519,17 @@ func TrgeometrySpaceBoxes(temp *Temporal, xsize float64, ysize float64, zsize fl } +// TrgeometryTimeBoxes wraps MEOS C function trgeometry_time_boxes. +func TrgeometryTimeBoxes(temp *Temporal, duration *Interval, torigin int64, bitmatrix bool, border_inc bool, count unsafe.Pointer) (_r0 *STBox, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_time_boxes(temp._inner, duration._inner, C.TimestampTz(torigin), C.bool(bitmatrix), C.bool(border_inc), (*C.int)(unsafe.Pointer(count))) + if _err = meosError(); _err != nil { + return + } + return &STBox{_inner: _cret}, nil +} + + // TrgeometrySpaceTimeBoxes wraps MEOS C function trgeometry_space_time_boxes. func TrgeometrySpaceTimeBoxes(temp *Temporal, xsize float64, ysize float64, zsize float64, duration *Interval, sorigin *Geom, torigin int64, bitmatrix bool, border_inc bool, count unsafe.Pointer) (_r0 *STBox, _err error) { C.meos_errno_reset() @@ -524,61 +574,6 @@ func TrgeometrySplitEachNStboxes(temp *Temporal, elem_count int, count unsafe.Po } -// TrgeometryHausdorffDistance wraps MEOS C function trgeometry_hausdorff_distance. -func TrgeometryHausdorffDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_hausdorff_distance(temp1._inner, temp2._inner) - if _err = meosError(); _err != nil { - return - } - return float64(_cret), nil -} - - -// TrgeometryFrechetDistance wraps MEOS C function trgeometry_frechet_distance. -func TrgeometryFrechetDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_frechet_distance(temp1._inner, temp2._inner) - if _err = meosError(); _err != nil { - return - } - return float64(_cret), nil -} - - -// TrgeometryDyntimewarpDistance wraps MEOS C function trgeometry_dyntimewarp_distance. -func TrgeometryDyntimewarpDistance(temp1 *Temporal, temp2 *Temporal) (_r0 float64, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_dyntimewarp_distance(temp1._inner, temp2._inner) - if _err = meosError(); _err != nil { - return - } - return float64(_cret), nil -} - - -// TrgeometryFrechetPath wraps MEOS C function trgeometry_frechet_path. -func TrgeometryFrechetPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Pointer) (_r0 *Match, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_frechet_path(temp1._inner, temp2._inner, (*C.int)(unsafe.Pointer(count))) - if _err = meosError(); _err != nil { - return - } - return &Match{_inner: _cret}, nil -} - - -// TrgeometryDyntimewarpPath wraps MEOS C function trgeometry_dyntimewarp_path. -func TrgeometryDyntimewarpPath(temp1 *Temporal, temp2 *Temporal, count unsafe.Pointer) (_r0 *Match, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_dyntimewarp_path(temp1._inner, temp2._inner, (*C.int)(unsafe.Pointer(count))) - if _err = meosError(); _err != nil { - return - } - return &Match{_inner: _cret}, nil -} - - // TrgeometryLength wraps MEOS C function trgeometry_length. func TrgeometryLength(temp *Temporal) (_r0 float64, _err error) { C.meos_errno_reset() @@ -733,6 +728,50 @@ func TrgeometryRound(temp *Temporal, maxdd int) (_r0 *Temporal, _err error) { } +// TrgeometryRotate wraps MEOS C function trgeometry_rotate. +func TrgeometryRotate(temp *Temporal, angle float64, x0 float64, y0 float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_rotate(temp._inner, C.double(angle), C.double(x0), C.double(y0)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TrgeometryRotateX wraps MEOS C function trgeometry_rotate_x. +func TrgeometryRotateX(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_rotate_x(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TrgeometryRotateY wraps MEOS C function trgeometry_rotate_y. +func TrgeometryRotateY(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_rotate_y(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TrgeometryRotateZ wraps MEOS C function trgeometry_rotate_z. +func TrgeometryRotateZ(temp *Temporal, angle float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_rotate_z(temp._inner, C.double(angle)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TrgeometrySetInterp wraps MEOS C function trgeometry_set_interp. func TrgeometrySetInterp(temp *Temporal, interp Interpolation) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -744,6 +783,17 @@ func TrgeometrySetInterp(temp *Temporal, interp Interpolation) (_r0 *Temporal, _ } +// TrgeometryTranslate wraps MEOS C function trgeometry_translate. +func TrgeometryTranslate(temp *Temporal, deltax float64, deltay float64, deltaz float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.trgeometry_translate(temp._inner, C.double(deltax), C.double(deltay), C.double(deltaz)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // TrgeometryAsTinstant wraps MEOS C function trgeometry_as_tinstant. func TrgeometryAsTinstant(temp *Temporal) (_r0 *TInstant, _err error) { C.meos_errno_reset() @@ -1034,28 +1084,6 @@ func TrgeometryMinusTstzspanset(temp *Temporal, ss *SpanSet) (_r0 *Temporal, _er } -// TrgeometryAtElevation wraps MEOS C function trgeometry_at_elevation. -func TrgeometryAtElevation(temp *Temporal, s *Span) (_r0 *Temporal, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_at_elevation(temp._inner, s._inner) - if _err = meosError(); _err != nil { - return - } - return &Temporal{_inner: _cret}, nil -} - - -// TrgeometryMinusElevation wraps MEOS C function trgeometry_minus_elevation. -func TrgeometryMinusElevation(temp *Temporal, s *Span) (_r0 *Temporal, _err error) { - C.meos_errno_reset() - _cret := C.trgeometry_minus_elevation(temp._inner, s._inner) - if _err = meosError(); _err != nil { - return - } - return &Temporal{_inner: _cret}, nil -} - - // TdistanceTrgeometryGeo wraps MEOS C function tdistance_trgeometry_geo. func TdistanceTrgeometryGeo(temp *Temporal, gs *Geom) (_r0 *Temporal, _err error) { C.meos_errno_reset() @@ -1210,6 +1238,39 @@ func ShortestlineTrgeometryTrgeometry(temp1 *Temporal, temp2 *Temporal) (_r0 *Ge } +// TdwithinGeoTrgeometry wraps MEOS C function tdwithin_geo_trgeometry. +func TdwithinGeoTrgeometry(gs *Geom, temp *Temporal, dist float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tdwithin_geo_trgeometry(gs._inner, temp._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TdwithinTrgeometryGeo wraps MEOS C function tdwithin_trgeometry_geo. +func TdwithinTrgeometryGeo(temp *Temporal, gs *Geom, dist float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tdwithin_trgeometry_geo(temp._inner, gs._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + +// TdwithinTrgeometryTrgeometry wraps MEOS C function tdwithin_trgeometry_trgeometry. +func TdwithinTrgeometryTrgeometry(temp1 *Temporal, temp2 *Temporal, dist float64) (_r0 *Temporal, _err error) { + C.meos_errno_reset() + _cret := C.tdwithin_trgeometry_trgeometry(temp1._inner, temp2._inner, C.double(dist)) + if _err = meosError(); _err != nil { + return + } + return &Temporal{_inner: _cret}, nil +} + + // AlwaysEqGeoTrgeometry wraps MEOS C function always_eq_geo_trgeometry. func AlwaysEqGeoTrgeometry(gs *Geom, temp *Temporal) (_r0 int, _err error) { C.meos_errno_reset() diff --git a/functions/types.go b/functions/types.go index dd2a8a3..6b1b41b 100644 --- a/functions/types.go +++ b/functions/types.go @@ -132,10 +132,6 @@ type GBox struct { _inner *C.GBOX } func (x *GBox) Inner() *C.GBOX { if x == nil { return nil }; return x._inner } func (x *GBox) Pointer() unsafe.Pointer { if x == nil { return nil }; return unsafe.Pointer(x._inner) } func GBoxFromPointer(p unsafe.Pointer) *GBox { if p == nil { return nil }; return &GBox{_inner: (*C.GBOX)(p)} } -type AFFINE struct { _inner *C.AFFINE } -func (x *AFFINE) Inner() *C.AFFINE { if x == nil { return nil }; return x._inner } -func (x *AFFINE) Pointer() unsafe.Pointer { if x == nil { return nil }; return unsafe.Pointer(x._inner) } -func AFFINEFromPointer(p unsafe.Pointer) *AFFINE { if p == nil { return nil }; return &AFFINE{_inner: (*C.AFFINE)(p)} } type PJContext struct { _inner *C.PJ_CONTEXT } func (x *PJContext) Inner() *C.PJ_CONTEXT { if x == nil { return nil }; return x._inner } func (x *PJContext) Pointer() unsafe.Pointer { if x == nil { return nil }; return unsafe.Pointer(x._inner) } diff --git a/main_temporal.go b/main_temporal.go index 4878330..8c5b174 100644 --- a/main_temporal.go +++ b/main_temporal.go @@ -41,7 +41,12 @@ func TemporalFromHexWKB[T Temporal](s string, output T) T { func TemporalAsMFJSON[T Temporal](temp T, with_bbox bool, flags int, precision int, srs string) string { c_srs := C.CString(srs) defer C.free(unsafe.Pointer(c_srs)) - c_mfjson := C.temporal_as_mfjson(temp.Inner(), C.bool(with_bbox), C.int(flags), C.int(precision), C.CString(srs)) + // Bit 1 of the option of temporal_as_mfjson writes the bounding box + option := 0 + if with_bbox { + option = 1 + } + c_mfjson := C.temporal_as_mfjson(temp.Inner(), C.int(option), C.int(flags), C.int(precision), c_srs) defer C.free(unsafe.Pointer(c_mfjson)) mfjson_out := C.GoString(c_mfjson) return mfjson_out @@ -471,17 +476,17 @@ func OverBeforeTemporalTemporal[T1, T2 Temporal](temp1 T1, temp2 T2) bool { // TemporalFrechetDistance Return the Frechet distance between two temporal values func TemporalFrechetDistance[T Temporal](temp1 T, temp2 T) float64 { - return float64(C.temporal_frechet_distance(temp1.Inner(), temp2.Inner())) + return float64(C.temporal_frechet_distance(temp1.Inner(), temp2.Inner(), C.bool(true))) } // TemporalDyntimewarpDistance Return the Dynamic Time Warp distance between two temporal values func TemporalDyntimewarpDistance[T Temporal](temp1 T, temp2 T) float64 { - return float64(C.temporal_dyntimewarp_distance(temp1.Inner(), temp2.Inner())) + return float64(C.temporal_dyntimewarp_distance(temp1.Inner(), temp2.Inner(), C.bool(true))) } // TemporalHausdorffDistance Return the Hausdorf distance between two temporal values func TemporalHausdorffDistance[T Temporal](temp1 T, temp2 T) float64 { - return float64(C.temporal_hausdorff_distance(temp1.Inner(), temp2.Inner())) + return float64(C.temporal_hausdorff_distance(temp1.Inner(), temp2.Inner(), C.bool(true))) } // TemporalSimplifyDP Return a temporal float/point simplified using the Douglas-Peucker line simplification algorithm diff --git a/main_tpoint.go b/main_tpoint.go index 1642b3e..2dd0641 100644 --- a/main_tpoint.go +++ b/main_tpoint.go @@ -107,18 +107,18 @@ func TPointValueSet[TP TPoint](tp TP) ([]*Geom, error) { // TPointLength Returns the length of the trajectory. func TPointLength[TP TPoint](tp TP) float64 { - return float64(C.tpoint_length(tp.Inner())) + return float64(C.tpoint_length(tp.Inner(), C.bool(true))) } // CumulativeLength Returns the cumulative length of the trajectory. func CumulativeLength[TP TPoint](tp TP) Temporal { - res := C.tpoint_cumulative_length(tp.Inner()) + res := C.tpoint_cumulative_length(tp.Inner(), C.bool(true)) return CreateTemporal(res) } // TPointSpeed Returns the speed of the temporal point. func TPointSpeed[TP TPoint](tp TP) Temporal { - res := C.tpoint_speed(tp.Inner()) + res := C.tpoint_speed(tp.Inner(), C.bool(true)) return CreateTemporal(res) } @@ -398,12 +398,12 @@ func AlwaysDisjointTPointTPoint(temp1, temp2 Temporal) bool { // AlwaysDWithinTPointGeo returns true if the temporal point is within the specified distance of the geometry. func AlwaysDWithinTPointGeo(temp Temporal, gs *Geom, dist float64) bool { - return int(C.adwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 + return int(C.adwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(true))) > 0 } // AlwaysDWithinTPointTPoint returns true if the two temporal points are within the specified distance. func AlwaysDWithinTPointTPoint(temp1, temp2 Temporal, dist float64) bool { - return int(C.adwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 + return int(C.adwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(true))) > 0 } // AlwaysIntersectsTPointGeo returns true if the temporal point intersects the geometry. @@ -434,11 +434,11 @@ func EverDisjointTPointTPoint(temp1, temp2 Temporal) bool { } func EverDWithinTPointGeo(temp Temporal, gs *Geom, dist float64) bool { - return int(C.edwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist))) > 0 + return int(C.edwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(true))) > 0 } func EverDWithinTPointTPoint(temp1, temp2 Temporal, dist float64) bool { - return int(C.edwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist))) > 0 + return int(C.edwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(true))) > 0 } func EverIntersectsTPointGeo(temp Temporal, gs *Geom) bool { @@ -485,12 +485,12 @@ func TDisjointTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2) Tempora } func TDWithinTPointGeo[TP TPoint](temp TP, gs *Geom, dist float64) Temporal { - res := C.tdwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist)) + res := C.tdwithin_tgeo_geo(temp.Inner(), gs._inner, C.double(dist), C.bool(true)) return CreateTemporal(res) } func TDWithinTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2, dist float64) Temporal { - res := C.tdwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist)) + res := C.tdwithin_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.double(dist), C.bool(true)) return CreateTemporal(res) } @@ -510,12 +510,12 @@ func TTouchesTPointGeo[TP TPoint](temp TP, gs *Geom) Temporal { } func DistanceTPointPoint[TP TPoint](temp TP, gs *Geom) Temporal { - res := C.tdistance_tgeo_geo(temp.Inner(), gs._inner) + res := C.tdistance_tgeo_geo(temp.Inner(), gs._inner, C.bool(true)) return CreateTemporal(res) } func DistanceTPointTPoint[TP1 TPoint, TP2 TPoint](temp1 TP1, temp2 TP2) Temporal { - res := C.tdistance_tgeo_tgeo(temp1.Inner(), temp2.Inner()) + res := C.tdistance_tgeo_tgeo(temp1.Inner(), temp2.Inner(), C.bool(true)) return CreateTemporal(res) } diff --git a/types/bigintspan.go b/types/bigintspan.go index b755290..3db078b 100644 --- a/types/bigintspan.go +++ b/types/bigintspan.go @@ -114,8 +114,17 @@ func (x *BigIntSpan) ShiftScale(shift int64, width int64, hasshift bool, haswidt } // Bins is MEOS bigintspan_bins. -func (x *BigIntSpan) Bins(vsize int64, vorigin int64, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.BigintspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *BigIntSpan) Bins(vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.BigintspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) + if _err != nil { + return nil, _err + } + return SpanFromPointer(_r0.Pointer()), nil +} + +// BigIntSpanGetBin is MEOS bigintspan_get_bin. +func BigIntSpanGetBin(value int64, vsize int64, vorigin int64) (*Span, error) { + _r0, _err := functions.BigintspanGetBin(value, vsize, vorigin) if _err != nil { return nil, _err } diff --git a/types/bigintspanset.go b/types/bigintspanset.go index 6422151..c21e6b8 100644 --- a/types/bigintspanset.go +++ b/types/bigintspanset.go @@ -78,8 +78,8 @@ func (x *BigIntSpanSet) ShiftScale(shift int64, width int64, hasshift bool, hasw } // Bins is MEOS bigintspanset_bins. -func (x *BigIntSpanSet) Bins(vsize int64, vorigin int64, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.BigintspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *BigIntSpanSet) Bins(vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.BigintspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } diff --git a/types/cbuffer.go b/types/cbuffer.go index 44ededc..9c7aa92 100644 --- a/types/cbuffer.go +++ b/types/cbuffer.go @@ -23,6 +23,15 @@ func CbufferFromPointer(p unsafe.Pointer) *Cbuffer { return v } +// AsEWKB is MEOS cbuffer_as_ewkb. +func (x *Cbuffer) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.CbufferAsEWKB(functions.CbufferFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AsEWKT is MEOS cbuffer_as_ewkt. func (x *Cbuffer) AsEWKT(maxdd int) (string, error) { _r0, _err := functions.CbufferAsEWKT(functions.CbufferFromPointer(x.Pointer()), maxdd) @@ -32,6 +41,15 @@ func (x *Cbuffer) AsEWKT(maxdd int) (string, error) { return _r0, nil } +// AsHEXEWKB is MEOS cbuffer_as_hexewkb. +func (x *Cbuffer) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.CbufferAsHexewkb(functions.CbufferFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsHEXWKB is MEOS cbuffer_as_hexwkb. func (x *Cbuffer) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { _r0, _err := functions.CbufferAsHexwkb(functions.CbufferFromPointer(x.Pointer()), variant, size_out) @@ -149,6 +167,15 @@ func (x *Cbuffer) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS cbuffer_mem_size. +func (x *Cbuffer) MemSize() (int, error) { + _r0, _err := functions.CbufferMemSize(functions.CbufferFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // Point is MEOS cbuffer_point. func (x *Cbuffer) Point() (*TRGeometrySeqSet, error) { _r0, _err := functions.CbufferPoint(functions.CbufferFromPointer(x.Pointer())) @@ -293,24 +320,6 @@ func (x *Cbuffer) Ne(cb2 *Cbuffer) (bool, error) { return _r0, nil } -// Nsame is MEOS cbuffer_nsame. -func (x *Cbuffer) Nsame(cb2 *Cbuffer) (bool, error) { - _r0, _err := functions.CbufferNsame(functions.CbufferFromPointer(x.Pointer()), functions.CbufferFromPointer(cb2.Pointer())) - if _err != nil { - return false, _err - } - return _r0, nil -} - -// Same is MEOS cbuffer_same. -func (x *Cbuffer) Same(cb2 *Cbuffer) (bool, error) { - _r0, _err := functions.CbufferSame(functions.CbufferFromPointer(x.Pointer()), functions.CbufferFromPointer(cb2.Pointer())) - if _err != nil { - return false, _err - } - return _r0, nil -} - // ToSet is MEOS cbuffer_to_set. func (x *Cbuffer) ToSet() (*Set, error) { _r0, _err := functions.CbufferToSet(functions.CbufferFromPointer(x.Pointer())) diff --git a/types/cbufferset.go b/types/cbufferset.go index 433ac07..f17d6dd 100644 --- a/types/cbufferset.go +++ b/types/cbufferset.go @@ -42,8 +42,8 @@ func (x *CbufferSet) Out(maxdd int) (string, error) { } // CbufferSetMake is MEOS cbufferset_make. -func CbufferSetMake(values unsafe.Pointer, count int) (*Set, error) { - _r0, _err := functions.CbuffersetMake(values, count) +func CbufferSetMake(values *Cbuffer, count int) (*Set, error) { + _r0, _err := functions.CbuffersetMake(functions.CbufferFromPointer(values.Pointer()), count) if _err != nil { return nil, _err } diff --git a/types/floatspan.go b/types/floatspan.go index 748f6b4..326626d 100644 --- a/types/floatspan.go +++ b/types/floatspan.go @@ -159,8 +159,17 @@ func (x *FloatSpan) ShiftScale(shift float64, width float64, hasshift bool, hasw } // Bins is MEOS floatspan_bins. -func (x *FloatSpan) Bins(vsize float64, vorigin float64, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.FloatspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *FloatSpan) Bins(vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.FloatspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) + if _err != nil { + return nil, _err + } + return SpanFromPointer(_r0.Pointer()), nil +} + +// FloatSpanGetBin is MEOS floatspan_get_bin. +func FloatSpanGetBin(value float64, vsize float64, vorigin float64) (*Span, error) { + _r0, _err := functions.FloatspanGetBin(value, vsize, vorigin) if _err != nil { return nil, _err } diff --git a/types/floatspanset.go b/types/floatspanset.go index a8aa492..62ab759 100644 --- a/types/floatspanset.go +++ b/types/floatspanset.go @@ -132,8 +132,8 @@ func (x *FloatSpanSet) ShiftScale(shift float64, width float64, hasshift bool, h } // Bins is MEOS floatspanset_bins. -func (x *FloatSpanSet) Bins(vsize float64, vorigin float64, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.FloatspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *FloatSpanSet) Bins(vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.FloatspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } diff --git a/types/geo.go b/types/geo.go index 51c20a0..691dec4 100644 --- a/types/geo.go +++ b/types/geo.go @@ -131,6 +131,51 @@ func GeoIsUnitary(gs *TRGeometrySeqSet) (bool, error) { return _r0, nil } +// GeoMemSize is MEOS geo_mem_size. +func GeoMemSize(gs *TRGeometrySeqSet) (int, error) { + _r0, _err := functions.GeoMemSize(functions.GeomFromPointer(gs.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + +// GeoArea is MEOS geo_area. +func GeoArea(gs *TRGeometrySeqSet, spheroid bool) (float64, error) { + _r0, _err := functions.GeoArea(functions.GeomFromPointer(gs.Pointer()), spheroid) + if _err != nil { + return 0, _err + } + return _r0, nil +} + +// GeoCentroid is MEOS geo_centroid. +func GeoCentroid(gs *TRGeometrySeqSet, spheroid bool) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoCentroid(functions.GeomFromPointer(gs.Pointer()), spheroid) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoLength is MEOS geo_length. +func GeoLength(gs *TRGeometrySeqSet, spheroid bool) (float64, error) { + _r0, _err := functions.GeoLength(functions.GeomFromPointer(gs.Pointer()), spheroid) + if _err != nil { + return 0, _err + } + return _r0, nil +} + +// GeoPerimeter is MEOS geo_perimeter. +func GeoPerimeter(gs *TRGeometrySeqSet, spheroid bool) (float64, error) { + _r0, _err := functions.GeoPerimeter(functions.GeomFromPointer(gs.Pointer()), spheroid) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // GeoTypename is MEOS geo_typename. func GeoTypename(type_ int) (string, error) { _r0, _err := functions.GeoTypename(type_) @@ -140,6 +185,15 @@ func GeoTypename(type_ int) (string, error) { return _r0, nil } +// GeoAffine is MEOS geo_affine. +func GeoAffine(gs *TRGeometrySeqSet, a float64, b float64, c float64, d float64, e float64, f float64, g float64, h float64, i float64, xoff float64, yoff float64, zoff float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoAffine(functions.GeomFromPointer(gs.Pointer()), a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeoReverse is MEOS geo_reverse. func GeoReverse(gs *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { _r0, _err := functions.GeoReverse(functions.GeomFromPointer(gs.Pointer())) @@ -149,6 +203,51 @@ func GeoReverse(gs *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// GeoRotate is MEOS geo_rotate. +func GeoRotate(gs *TRGeometrySeqSet, angle float64, x0 float64, y0 float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoRotate(functions.GeomFromPointer(gs.Pointer()), angle, x0, y0) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoRotateGeo is MEOS geo_rotate_geo. +func GeoRotateGeo(gs *TRGeometrySeqSet, angle float64, origin *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoRotateGeo(functions.GeomFromPointer(gs.Pointer()), angle, functions.GeomFromPointer(origin.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoRotateX is MEOS geo_rotate_x. +func GeoRotateX(gs *TRGeometrySeqSet, angle float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoRotateX(functions.GeomFromPointer(gs.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoRotateY is MEOS geo_rotate_y. +func GeoRotateY(gs *TRGeometrySeqSet, angle float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoRotateY(functions.GeomFromPointer(gs.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoRotateZ is MEOS geo_rotate_z. +func GeoRotateZ(gs *TRGeometrySeqSet, angle float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoRotateZ(functions.GeomFromPointer(gs.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeoRound is MEOS geo_round. func GeoRound(gs *TRGeometrySeqSet, maxdd int) (*TRGeometrySeqSet, error) { _r0, _err := functions.GeoRound(functions.GeomFromPointer(gs.Pointer()), maxdd) @@ -158,6 +257,51 @@ func GeoRound(gs *TRGeometrySeqSet, maxdd int) (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// GeoScale is MEOS geo_scale. +func GeoScale(gs *TRGeometrySeqSet, xfactor float64, yfactor float64, zfactor float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoScale(functions.GeomFromPointer(gs.Pointer()), xfactor, yfactor, zfactor) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoScaleGeo is MEOS geo_scale_geo. +func GeoScaleGeo(gs *TRGeometrySeqSet, scale *TRGeometrySeqSet, sorigin *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoScaleGeo(functions.GeomFromPointer(gs.Pointer()), functions.GeomFromPointer(scale.Pointer()), functions.GeomFromPointer(sorigin.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoSegmentize is MEOS geo_segmentize. +func GeoSegmentize(gs *TRGeometrySeqSet, max_seg_length float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoSegmentize(functions.GeomFromPointer(gs.Pointer()), max_seg_length) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoTranslate is MEOS geo_translate. +func GeoTranslate(gs *TRGeometrySeqSet, deltax float64, deltay float64, deltaz float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoTranslate(functions.GeomFromPointer(gs.Pointer()), deltax, deltay, deltaz) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeoTransscale is MEOS geo_transscale. +func GeoTransscale(gs *TRGeometrySeqSet, deltax float64, deltay float64, xfactor float64, yfactor float64) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoTransscale(functions.GeomFromPointer(gs.Pointer()), deltax, deltay, xfactor, yfactor) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeoSetSRID is MEOS geo_set_srid. func GeoSetSRID(gs *TRGeometrySeqSet, srid int32) (*TRGeometrySeqSet, error) { _r0, _err := functions.GeoSetSRID(functions.GeomFromPointer(gs.Pointer()), srid) @@ -186,8 +330,8 @@ func GeoTransform(geom *TRGeometrySeqSet, srid_to int32) (*TRGeometrySeqSet, err } // GeoTransformPipeline is MEOS geo_transform_pipeline. -func GeoTransformPipeline(gs *TRGeometrySeqSet, pipeline string, srid_to int32, is_forward bool) (*TRGeometrySeqSet, error) { - _r0, _err := functions.GeoTransformPipeline(functions.GeomFromPointer(gs.Pointer()), pipeline, srid_to, is_forward) +func GeoTransformPipeline(gs *TRGeometrySeqSet, pipelinestr string, srid int32, is_forward bool) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoTransformPipeline(functions.GeomFromPointer(gs.Pointer()), pipelinestr, srid, is_forward) if _err != nil { return nil, _err } @@ -284,6 +428,24 @@ func GeoSplitNStboxes(gs *TRGeometrySeqSet, box_count int, count unsafe.Pointer) return STBoxFromPointer(_r0.Pointer()), nil } +// GeoDistance is MEOS geo_distance. +func GeoDistance(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, spheroid bool) (float64, error) { + _r0, _err := functions.GeoDistance(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer()), spheroid) + if _err != nil { + return 0, _err + } + return _r0, nil +} + +// GeoShortestline is MEOS geo_shortestline. +func GeoShortestline(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, spheroid bool) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeoShortestline(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer()), spheroid) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeoEquals is MEOS geo_equals. func GeoEquals(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (int, error) { _r0, _err := functions.GeoEquals(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -400,3 +562,12 @@ func GeoToQuadbinCell(point *TRGeometrySeqSet, resolution int32) (uint64, error) } return _r0, nil } + +// GeoToQuadbinSet is MEOS geo_to_quadbin_set. +func GeoToQuadbinSet(gs *TRGeometrySeqSet, resolution int32) (*Set, error) { + _r0, _err := functions.GeoToQuadbinSet(functions.GeomFromPointer(gs.Pointer()), resolution) + if _err != nil { + return nil, _err + } + return SetFromPointer(_r0.Pointer()), nil +} diff --git a/types/geography.go b/types/geography.go index cb18390..3f05449 100644 --- a/types/geography.go +++ b/types/geography.go @@ -24,8 +24,8 @@ func GeographyFromPointer(p unsafe.Pointer) *Geography { } // GeographyFromHEXEWKB is MEOS geog_from_hexewkb. -func GeographyFromHEXEWKB(wkt string) (*TRGeometrySeqSet, error) { - _r0, _err := functions.GeogFromHexewkb(wkt) +func GeographyFromHEXEWKB(hexwkb string) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeogFromHexewkb(hexwkb) if _err != nil { return nil, _err } @@ -104,11 +104,38 @@ func GeographyDwithin(g1 *TRGeometrySeqSet, g2 *TRGeometrySeqSet, tolerance floa return _r0, nil } +// GeographyDisjoint is MEOS geog_disjoint. +func GeographyDisjoint(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, use_spheroid bool) (bool, error) { + _r0, _err := functions.GeogDisjoint(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer()), use_spheroid) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// GeographyIntersects is MEOS geog_intersects. +func GeographyIntersects(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, use_spheroid bool) (bool, error) { + _r0, _err := functions.GeogIntersects(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer()), use_spheroid) + if _err != nil { + return false, _err + } + return _r0, nil +} + // GeographyDistance is MEOS geog_distance. -func GeographyDistance(g1 *TRGeometrySeqSet, g2 *TRGeometrySeqSet) (float64, error) { - _r0, _err := functions.GeogDistance(functions.GeomFromPointer(g1.Pointer()), functions.GeomFromPointer(g2.Pointer())) +func GeographyDistance(g1 *TRGeometrySeqSet, g2 *TRGeometrySeqSet, use_spheroid bool) (float64, error) { + _r0, _err := functions.GeogDistance(functions.GeomFromPointer(g1.Pointer()), functions.GeomFromPointer(g2.Pointer()), use_spheroid) if _err != nil { return 0, _err } return _r0, nil } + +// GeographyShortestline is MEOS geog_shortestline. +func GeographyShortestline(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, use_spheroid bool) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeogShortestline(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer()), use_spheroid) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} diff --git a/types/geometry.go b/types/geometry.go index 1b20685..24f1f46 100644 --- a/types/geometry.go +++ b/types/geometry.go @@ -24,8 +24,8 @@ func GeometryFromPointer(p unsafe.Pointer) *Geometry { } // GeometryFromHEXEWKB is MEOS geom_from_hexewkb. -func GeometryFromHEXEWKB(wkt string) (*TRGeometrySeqSet, error) { - _r0, _err := functions.GeomFromHexewkb(wkt) +func GeometryFromHEXEWKB(hexwkb string) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomFromHexewkb(hexwkb) if _err != nil { return nil, _err } @@ -170,9 +170,9 @@ func GeometryIntersection2dColl(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (* return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } -// GeometryMinBoundingRadius is MEOS geom_min_bounding_radius. -func GeometryMinBoundingRadius(geom *TRGeometrySeqSet, radius unsafe.Pointer) (*TRGeometrySeqSet, error) { - _r0, _err := functions.GeomMinBoundingRadius(functions.GeomFromPointer(geom.Pointer()), radius) +// GeometryMinimumBoundingRadius is MEOS geom_minimum_bounding_radius. +func GeometryMinimumBoundingRadius(geom *TRGeometrySeqSet, radius unsafe.Pointer) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomMinimumBoundingRadius(functions.GeomFromPointer(geom.Pointer()), radius) if _err != nil { return nil, _err } @@ -188,6 +188,15 @@ func GeometryOrientedEnvelope(gs *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// GeometryShortestline is MEOS geom_shortestline. +func GeometryShortestline(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomShortestline(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeometryShortestline2d is MEOS geom_shortestline2d. func GeometryShortestline2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { _r0, _err := functions.GeomShortestline2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -206,15 +215,42 @@ func GeometryShortestline3d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (*TRGe return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// GeometrySymdifference2d is MEOS geom_symdifference2d. +func GeometrySymdifference2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomSymdifference2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // GeometryUnaryUnion is MEOS geom_unary_union. -func GeometryUnaryUnion(gs *TRGeometrySeqSet, prec float64) (*TRGeometrySeqSet, error) { - _r0, _err := functions.GeomUnaryUnion(functions.GeomFromPointer(gs.Pointer()), prec) +func GeometryUnaryUnion(gs *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomUnaryUnion(functions.GeomFromPointer(gs.Pointer())) if _err != nil { return nil, _err } return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// GeometryUnion2d is MEOS geom_union2d. +func GeometryUnion2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeomUnion2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + +// GeometryContains is MEOS geom_contains. +func GeometryContains(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { + _r0, _err := functions.GeomContains(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // GeometryCovers is MEOS geom_covers. func GeometryCovers(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { _r0, _err := functions.GeomCovers(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -224,6 +260,15 @@ func GeometryCovers(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) return _r0, nil } +// GeometryDisjoint is MEOS geom_disjoint. +func GeometryDisjoint(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { + _r0, _err := functions.GeomDisjoint(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // GeometryDisjoint2d is MEOS geom_disjoint2d. func GeometryDisjoint2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { _r0, _err := functions.GeomDisjoint2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -260,6 +305,15 @@ func GeometryDwithin3d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet, tolerance f return _r0, nil } +// GeometryIntersects is MEOS geom_intersects. +func GeometryIntersects(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { + _r0, _err := functions.GeomIntersects(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // GeometryIntersects2d is MEOS geom_intersects2d. func GeometryIntersects2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) { _r0, _err := functions.GeomIntersects2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -305,6 +359,15 @@ func GeometryTouches(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (bool, error) return _r0, nil } +// GeometryDistance is MEOS geom_distance. +func GeometryDistance(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { + _r0, _err := functions.GeomDistance(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // GeometryDistance2d is MEOS geom_distance2d. func GeometryDistance2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { _r0, _err := functions.GeomDistance2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -314,6 +377,15 @@ func GeometryDistance2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, return _r0, nil } +// GeometryMaxDistance is MEOS geom_max_distance. +func GeometryMaxDistance(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { + _r0, _err := functions.GeomMaxDistance(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // GeometryMaxDistance2d is MEOS geom_max_distance2d. func GeometryMaxDistance2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { _r0, _err := functions.GeomMaxDistance2d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) @@ -323,6 +395,15 @@ func GeometryMaxDistance2d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float6 return _r0, nil } +// GeometryMaxDistance3d is MEOS geom_max_distance3d. +func GeometryMaxDistance3d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { + _r0, _err := functions.GeomMaxDistance3d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // GeometryDistance3d is MEOS geom_distance3d. func GeometryDistance3d(gs1 *TRGeometrySeqSet, gs2 *TRGeometrySeqSet) (float64, error) { _r0, _err := functions.GeomDistance3d(functions.GeomFromPointer(gs1.Pointer()), functions.GeomFromPointer(gs2.Pointer())) diff --git a/types/geomset.go b/types/geomset.go index da0d951..b0ca24e 100644 --- a/types/geomset.go +++ b/types/geomset.go @@ -41,6 +41,15 @@ func GeomSetMake(values unsafe.Pointer, count int) (*Set, error) { return SetFromPointer(_r0.Pointer()), nil } +// ToGeo is MEOS geoset_to_geo. +func (x *GeomSet) ToGeo() (*TRGeometrySeqSet, error) { + _r0, _err := functions.GeosetToGeo(functions.SetFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // EndValue is MEOS geoset_end_value. func (x *GeomSet) EndValue() (*TRGeometrySeqSet, error) { _r0, _err := functions.GeosetEndValue(functions.SetFromPointer(x.Pointer())) diff --git a/types/intspan.go b/types/intspan.go index a40fa7c..2c4a1e7 100644 --- a/types/intspan.go +++ b/types/intspan.go @@ -114,8 +114,17 @@ func (x *IntSpan) ShiftScale(shift int, width int, hasshift bool, haswidth bool) } // Bins is MEOS intspan_bins. -func (x *IntSpan) Bins(vsize int, vorigin int, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.IntspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *IntSpan) Bins(vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.IntspanBins(functions.SpanFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) + if _err != nil { + return nil, _err + } + return SpanFromPointer(_r0.Pointer()), nil +} + +// IntSpanGetBin is MEOS intspan_get_bin. +func IntSpanGetBin(value int, vsize int, vorigin int) (*Span, error) { + _r0, _err := functions.IntspanGetBin(value, vsize, vorigin) if _err != nil { return nil, _err } diff --git a/types/intspanset.go b/types/intspanset.go index 4aa9aaf..cca2a0b 100644 --- a/types/intspanset.go +++ b/types/intspanset.go @@ -87,8 +87,8 @@ func (x *IntSpanSet) ShiftScale(shift int, width int, hasshift bool, haswidth bo } // Bins is MEOS intspanset_bins. -func (x *IntSpanSet) Bins(vsize int, vorigin int, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.IntspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *IntSpanSet) Bins(vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.IntspansetBins(functions.SpanSetFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } diff --git a/types/jsonb.go b/types/jsonb.go index f18012f..680c782 100644 --- a/types/jsonb.go +++ b/types/jsonb.go @@ -185,6 +185,15 @@ func (x *Jsonb) Contained(jb2 *Jsonb) (bool, error) { return _r0, nil } +// Contains is MEOS jsonb_contains. +func (x *Jsonb) Contains(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbContains(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // Each is MEOS jsonb_each. func (x *Jsonb) Each(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { _r0, _err := functions.JsonbEach(functions.JsonbFromPointer(x.Pointer()), values, count) @@ -257,6 +266,15 @@ func (x *Jsonb) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS jsonb_mem_size. +func (x *Jsonb) MemSize() (int, error) { + _r0, _err := functions.JsonbMemSize(functions.JsonbFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // ObjectField is MEOS jsonb_object_field. func (x *Jsonb) ObjectField(key string) (*Jsonb, error) { _r0, _err := functions.JsonbObjectField(functions.JsonbFromPointer(x.Pointer()), key) @@ -374,6 +392,69 @@ func (x *Jsonb) StripNulls(strip_in_arrays bool) (*Jsonb, error) { return JsonbFromPointer(_r0.Pointer()), nil } +// Cmp is MEOS jsonb_cmp. +func (x *Jsonb) Cmp(jb2 *Jsonb) (int, error) { + _r0, _err := functions.JsonbCmp(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + +// Eq is MEOS jsonb_eq. +func (x *Jsonb) Eq(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbEq(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ge is MEOS jsonb_ge. +func (x *Jsonb) Ge(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbGe(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Gt is MEOS jsonb_gt. +func (x *Jsonb) Gt(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbGt(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Le is MEOS jsonb_le. +func (x *Jsonb) Le(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbLe(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Lt is MEOS jsonb_lt. +func (x *Jsonb) Lt(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbLt(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ne is MEOS jsonb_ne. +func (x *Jsonb) Ne(jb2 *Jsonb) (bool, error) { + _r0, _err := functions.JsonbNe(functions.JsonbFromPointer(x.Pointer()), functions.JsonbFromPointer(jb2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // PathExists is MEOS jsonb_path_exists. func (x *Jsonb) PathExists(jp *JsonPath, vars *Jsonb, silent bool, tz bool) (int, error) { _r0, _err := functions.JsonbPathExists(functions.JsonbFromPointer(x.Pointer()), functions.JsonPathFromPointer(jp.Pointer()), functions.JsonbFromPointer(vars.Pointer()), silent, tz) diff --git a/types/jsonpath.go b/types/jsonpath.go index 8af2c65..fbd035c 100644 --- a/types/jsonpath.go +++ b/types/jsonpath.go @@ -41,6 +41,15 @@ func (x *JsonPath) Copy() (*JsonPath, error) { return JsonPathFromPointer(_r0.Pointer()), nil } +// MemSize is MEOS jsonpath_mem_size. +func (x *JsonPath) MemSize() (int, error) { + _r0, _err := functions.JsonpathMemSize(functions.JsonPathFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // Out is MEOS jsonpath_out. func (x *JsonPath) Out() (string, error) { _r0, _err := functions.JsonpathOut(functions.JsonPathFromPointer(x.Pointer())) diff --git a/types/npoint.go b/types/npoint.go index 3c40f63..ac1b446 100644 --- a/types/npoint.go +++ b/types/npoint.go @@ -23,6 +23,15 @@ func NpointFromPointer(p unsafe.Pointer) *Npoint { return v } +// AsEWKB is MEOS npoint_as_ewkb. +func (x *Npoint) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.NpointAsEWKB(functions.NpointFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AsEWKT is MEOS npoint_as_ewkt. func (x *Npoint) AsEWKT(maxdd int) (string, error) { _r0, _err := functions.NpointAsEWKT(functions.NpointFromPointer(x.Pointer()), maxdd) @@ -32,6 +41,15 @@ func (x *Npoint) AsEWKT(maxdd int) (string, error) { return _r0, nil } +// AsHEXEWKB is MEOS npoint_as_hexewkb. +func (x *Npoint) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.NpointAsHexewkb(functions.NpointFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsHEXWKB is MEOS npoint_as_hexwkb. func (x *Npoint) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { _r0, _err := functions.NpointAsHexwkb(functions.NpointFromPointer(x.Pointer()), variant, size_out) @@ -95,6 +113,15 @@ func (x *Npoint) Out(maxdd int) (string, error) { return _r0, nil } +// Copy is MEOS npoint_copy. +func (x *Npoint) Copy() (*Npoint, error) { + _r0, _err := functions.NpointCopy(functions.NpointFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return NpointFromPointer(_r0.Pointer()), nil +} + // NpointMake is MEOS npoint_make. func NpointMake(rid int64, pos float64) (*Npoint, error) { _r0, _err := functions.NpointMake(rid, pos) @@ -266,15 +293,6 @@ func (x *Npoint) Ne(np2 *Npoint) (bool, error) { return _r0, nil } -// Same is MEOS npoint_same. -func (x *Npoint) Same(np2 *Npoint) (bool, error) { - _r0, _err := functions.NpointSame(functions.NpointFromPointer(x.Pointer()), functions.NpointFromPointer(np2.Pointer())) - if _err != nil { - return false, _err - } - return _r0, nil -} - // ToSet is MEOS npoint_to_set. func (x *Npoint) ToSet() (*Set, error) { _r0, _err := functions.NpointToSet(functions.NpointFromPointer(x.Pointer())) diff --git a/types/npointset.go b/types/npointset.go index 6720a7c..6421dc7 100644 --- a/types/npointset.go +++ b/types/npointset.go @@ -42,8 +42,8 @@ func (x *NpointSet) Out(maxdd int) (string, error) { } // NpointSetMake is MEOS npointset_make. -func NpointSetMake(values unsafe.Pointer, count int) (*Set, error) { - _r0, _err := functions.NpointsetMake(values, count) +func NpointSetMake(values *Npoint, count int) (*Set, error) { + _r0, _err := functions.NpointsetMake(functions.NpointFromPointer(values.Pointer()), count) if _err != nil { return nil, _err } diff --git a/types/nsegment.go b/types/nsegment.go index 63d9521..5f91a02 100644 --- a/types/nsegment.go +++ b/types/nsegment.go @@ -23,6 +23,51 @@ func NsegmentFromPointer(p unsafe.Pointer) *Nsegment { return v } +// AsHEXEWKB is MEOS nsegment_as_hexewkb. +func (x *Nsegment) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.NsegmentAsHexewkb(functions.NsegmentFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// AsHEXWKB is MEOS nsegment_as_hexwkb. +func (x *Nsegment) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.NsegmentAsHexwkb(functions.NsegmentFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// AsWKB is MEOS nsegment_as_wkb. +func (x *Nsegment) AsWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.NsegmentAsWKB(functions.NsegmentFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// NsegmentFromHEXWKB is MEOS nsegment_from_hexwkb. +func NsegmentFromHEXWKB(hexwkb string) (*Nsegment, error) { + _r0, _err := functions.NsegmentFromHexwkb(hexwkb) + if _err != nil { + return nil, _err + } + return NsegmentFromPointer(_r0.Pointer()), nil +} + +// NsegmentFromWKB is MEOS nsegment_from_wkb. +func NsegmentFromWKB(wkb unsafe.Pointer, size uint) (*Nsegment, error) { + _r0, _err := functions.NsegmentFromWKB(wkb, size) + if _err != nil { + return nil, _err + } + return NsegmentFromPointer(_r0.Pointer()), nil +} + // NsegmentIn is MEOS nsegment_in. func NsegmentIn(str string) (*Nsegment, error) { _r0, _err := functions.NsegmentIn(str) @@ -41,6 +86,42 @@ func (x *Nsegment) Out(maxdd int) (string, error) { return _r0, nil } +// AsEWKB is MEOS nsegment_as_ewkb. +func (x *Nsegment) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.NsegmentAsEWKB(functions.NsegmentFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// AsEWKT is MEOS nsegment_as_ewkt. +func (x *Nsegment) AsEWKT(maxdd int) (string, error) { + _r0, _err := functions.NsegmentAsEWKT(functions.NsegmentFromPointer(x.Pointer()), maxdd) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// AsText is MEOS nsegment_as_text. +func (x *Nsegment) AsText(maxdd int) (string, error) { + _r0, _err := functions.NsegmentAsText(functions.NsegmentFromPointer(x.Pointer()), maxdd) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// Copy is MEOS nsegment_copy. +func (x *Nsegment) Copy() (*Nsegment, error) { + _r0, _err := functions.NsegmentCopy(functions.NsegmentFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return NsegmentFromPointer(_r0.Pointer()), nil +} + // NsegmentMake is MEOS nsegment_make. func NsegmentMake(rid int64, pos1 float64, pos2 float64) (*Nsegment, error) { _r0, _err := functions.NsegmentMake(rid, pos1, pos2) diff --git a/types/pcpatch.go b/types/pcpatch.go index 1ca4211..44f8d79 100644 --- a/types/pcpatch.go +++ b/types/pcpatch.go @@ -140,6 +140,15 @@ func (x *Pcpatch) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS pcpatch_mem_size. +func (x *Pcpatch) MemSize() (int, error) { + _r0, _err := functions.PcpatchMemSize(functions.PcpatchFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // ToGeom is MEOS pcpatch_to_geom. func (x *Pcpatch) ToGeom() (*TRGeometrySeqSet, error) { _r0, _err := functions.PcpatchToGeom(functions.PcpatchFromPointer(x.Pointer())) @@ -158,6 +167,60 @@ func (x *Pcpatch) Cmp(pa2 *Pcpatch) (int, error) { return _r0, nil } +// Eq is MEOS pcpatch_eq. +func (x *Pcpatch) Eq(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchEq(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ne is MEOS pcpatch_ne. +func (x *Pcpatch) Ne(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchNe(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Lt is MEOS pcpatch_lt. +func (x *Pcpatch) Lt(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchLt(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Le is MEOS pcpatch_le. +func (x *Pcpatch) Le(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchLe(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Gt is MEOS pcpatch_gt. +func (x *Pcpatch) Gt(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchGt(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ge is MEOS pcpatch_ge. +func (x *Pcpatch) Ge(pa2 *Pcpatch) (bool, error) { + _r0, _err := functions.PcpatchGe(functions.PcpatchFromPointer(x.Pointer()), functions.PcpatchFromPointer(pa2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // ToSet is MEOS pcpatch_to_set. func (x *Pcpatch) ToSet() (*Set, error) { _r0, _err := functions.PcpatchToSet(functions.PcpatchFromPointer(x.Pointer())) @@ -168,8 +231,8 @@ func (x *Pcpatch) ToSet() (*Set, error) { } // ToTpcbox is MEOS pcpatch_to_tpcbox. -func (x *Pcpatch) ToTpcbox(srid int32) (*TPCBox, error) { - _r0, _err := functions.PcpatchToTpcbox(functions.PcpatchFromPointer(x.Pointer()), srid) +func (x *Pcpatch) ToTpcbox() (*TPCBox, error) { + _r0, _err := functions.PcpatchToTpcbox(functions.PcpatchFromPointer(x.Pointer())) if _err != nil { return nil, _err } diff --git a/types/pcpoint.go b/types/pcpoint.go index 9bb8f45..fdd4d1b 100644 --- a/types/pcpoint.go +++ b/types/pcpoint.go @@ -104,9 +104,18 @@ func (x *Pcpoint) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS pcpoint_mem_size. +func (x *Pcpoint) MemSize() (int, error) { + _r0, _err := functions.PcpointMemSize(functions.PcpointFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // GetX is MEOS pcpoint_get_x. -func (x *Pcpoint) GetX(schema *Pcschema, out unsafe.Pointer) (bool, error) { - _r0, _err := functions.PcpointGetX(functions.PcpointFromPointer(x.Pointer()), functions.PCSchemaFromPointer(schema.Pointer()), out) +func (x *Pcpoint) GetX(out unsafe.Pointer) (bool, error) { + _r0, _err := functions.PcpointGetX(functions.PcpointFromPointer(x.Pointer()), out) if _err != nil { return false, _err } @@ -114,8 +123,8 @@ func (x *Pcpoint) GetX(schema *Pcschema, out unsafe.Pointer) (bool, error) { } // GetY is MEOS pcpoint_get_y. -func (x *Pcpoint) GetY(schema *Pcschema, out unsafe.Pointer) (bool, error) { - _r0, _err := functions.PcpointGetY(functions.PcpointFromPointer(x.Pointer()), functions.PCSchemaFromPointer(schema.Pointer()), out) +func (x *Pcpoint) GetY(out unsafe.Pointer) (bool, error) { + _r0, _err := functions.PcpointGetY(functions.PcpointFromPointer(x.Pointer()), out) if _err != nil { return false, _err } @@ -123,8 +132,8 @@ func (x *Pcpoint) GetY(schema *Pcschema, out unsafe.Pointer) (bool, error) { } // GetZ is MEOS pcpoint_get_z. -func (x *Pcpoint) GetZ(schema *Pcschema, out unsafe.Pointer) (bool, error) { - _r0, _err := functions.PcpointGetZ(functions.PcpointFromPointer(x.Pointer()), functions.PCSchemaFromPointer(schema.Pointer()), out) +func (x *Pcpoint) GetZ(out unsafe.Pointer) (bool, error) { + _r0, _err := functions.PcpointGetZ(functions.PcpointFromPointer(x.Pointer()), out) if _err != nil { return false, _err } @@ -132,8 +141,8 @@ func (x *Pcpoint) GetZ(schema *Pcschema, out unsafe.Pointer) (bool, error) { } // GetDim is MEOS pcpoint_get_dim. -func (x *Pcpoint) GetDim(schema *Pcschema, name string, out unsafe.Pointer) (bool, error) { - _r0, _err := functions.PcpointGetDim(functions.PcpointFromPointer(x.Pointer()), functions.PCSchemaFromPointer(schema.Pointer()), name, out) +func (x *Pcpoint) GetDim(name string, out unsafe.Pointer) (bool, error) { + _r0, _err := functions.PcpointGetDim(functions.PcpointFromPointer(x.Pointer()), name, out) if _err != nil { return false, _err } @@ -141,8 +150,8 @@ func (x *Pcpoint) GetDim(schema *Pcschema, name string, out unsafe.Pointer) (boo } // ToTpcbox is MEOS pcpoint_to_tpcbox. -func (x *Pcpoint) ToTpcbox(schema *Pcschema) (*TPCBox, error) { - _r0, _err := functions.PcpointToTpcbox(functions.PcpointFromPointer(x.Pointer()), functions.PCSchemaFromPointer(schema.Pointer())) +func (x *Pcpoint) ToTpcbox() (*TPCBox, error) { + _r0, _err := functions.PcpointToTpcbox(functions.PcpointFromPointer(x.Pointer())) if _err != nil { return nil, _err } @@ -158,6 +167,60 @@ func (x *Pcpoint) Cmp(pt2 *Pcpoint) (int, error) { return _r0, nil } +// Eq is MEOS pcpoint_eq. +func (x *Pcpoint) Eq(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointEq(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ne is MEOS pcpoint_ne. +func (x *Pcpoint) Ne(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointNe(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Lt is MEOS pcpoint_lt. +func (x *Pcpoint) Lt(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointLt(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Le is MEOS pcpoint_le. +func (x *Pcpoint) Le(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointLe(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Gt is MEOS pcpoint_gt. +func (x *Pcpoint) Gt(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointGt(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + +// Ge is MEOS pcpoint_ge. +func (x *Pcpoint) Ge(pt2 *Pcpoint) (bool, error) { + _r0, _err := functions.PcpointGe(functions.PcpointFromPointer(x.Pointer()), functions.PcpointFromPointer(pt2.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // ToSet is MEOS pcpoint_to_set. func (x *Pcpoint) ToSet() (*Set, error) { _r0, _err := functions.PcpointToSet(functions.PcpointFromPointer(x.Pointer())) diff --git a/types/pose.go b/types/pose.go index 982b60d..468f3a4 100644 --- a/types/pose.go +++ b/types/pose.go @@ -23,6 +23,15 @@ func PoseFromPointer(p unsafe.Pointer) *Pose { return v } +// AsEWKB is MEOS pose_as_ewkb. +func (x *Pose) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.PoseAsEWKB(functions.PoseFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AsEWKT is MEOS pose_as_ewkt. func (x *Pose) AsEWKT(maxdd int) (string, error) { _r0, _err := functions.PoseAsEWKT(functions.PoseFromPointer(x.Pointer()), maxdd) @@ -32,6 +41,15 @@ func (x *Pose) AsEWKT(maxdd int) (string, error) { return _r0, nil } +// AsHEXEWKB is MEOS pose_as_hexewkb. +func (x *Pose) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.PoseAsHexewkb(functions.PoseFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsHEXWKB is MEOS pose_as_hexwkb. func (x *Pose) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { _r0, _err := functions.PoseAsHexwkb(functions.PoseFromPointer(x.Pointer()), variant, size_out) @@ -77,6 +95,15 @@ func PoseFromHEXWKB(hexwkb string) (*Pose, error) { return PoseFromPointer(_r0.Pointer()), nil } +// PoseFromText is MEOS pose_from_text. +func PoseFromText(str string) (*Pose, error) { + _r0, _err := functions.PoseFromText(str) + if _err != nil { + return nil, _err + } + return PoseFromPointer(_r0.Pointer()), nil +} + // PoseIn is MEOS pose_in. func PoseIn(str string) (*Pose, error) { _r0, _err := functions.PoseIn(str) @@ -221,6 +248,15 @@ func (x *Pose) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS pose_mem_size. +func (x *Pose) MemSize() (int, error) { + _r0, _err := functions.PoseMemSize(functions.PoseFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // Quaternion is MEOS pose_quaternion. func (x *Pose) Quaternion(count unsafe.Pointer) (unsafe.Pointer, error) { _r0, _err := functions.PoseQuaternion(functions.PoseFromPointer(x.Pointer()), count) @@ -428,24 +464,6 @@ func (x *Pose) Ne(pose2 *Pose) (bool, error) { return _r0, nil } -// Nsame is MEOS pose_nsame. -func (x *Pose) Nsame(pose2 *Pose) (bool, error) { - _r0, _err := functions.PoseNsame(functions.PoseFromPointer(x.Pointer()), functions.PoseFromPointer(pose2.Pointer())) - if _err != nil { - return false, _err - } - return _r0, nil -} - -// Same is MEOS pose_same. -func (x *Pose) Same(pose2 *Pose) (bool, error) { - _r0, _err := functions.PoseSame(functions.PoseFromPointer(x.Pointer()), functions.PoseFromPointer(pose2.Pointer())) - if _err != nil { - return false, _err - } - return _r0, nil -} - // ToSet is MEOS pose_to_set. func (x *Pose) ToSet() (*Set, error) { _r0, _err := functions.PoseToSet(functions.PoseFromPointer(x.Pointer())) diff --git a/types/posechain.go b/types/posechain.go index f070a85..d7ecc44 100644 --- a/types/posechain.go +++ b/types/posechain.go @@ -50,6 +50,15 @@ func PoseChainAsText(pc unsafe.Pointer, maxdd int) (string, error) { return _r0, nil } +// PoseChainAsEWKB is MEOS posechain_as_ewkb. +func PoseChainAsEWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.PosechainAsEWKB(pc, variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // PoseChainAsEWKT is MEOS posechain_as_ewkt. func PoseChainAsEWKT(pc unsafe.Pointer, maxdd int) (string, error) { _r0, _err := functions.PosechainAsEWKT(pc, maxdd) @@ -68,6 +77,15 @@ func PoseChainAsWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) ( return _r0, nil } +// PoseChainAsHEXEWKB is MEOS posechain_as_hexewkb. +func PoseChainAsHEXEWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.PosechainAsHexewkb(pc, variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // PoseChainAsHEXWKB is MEOS posechain_as_hexwkb. func PoseChainAsHEXWKB(pc unsafe.Pointer, variant uint8, size_out unsafe.Pointer) (string, error) { _r0, _err := functions.PosechainAsHexwkb(pc, variant, size_out) @@ -239,6 +257,15 @@ func PoseChainHashExtended(pc unsafe.Pointer, seed uint64) (uint64, error) { return _r0, nil } +// PoseChainMemSize is MEOS posechain_mem_size. +func PoseChainMemSize(pc unsafe.Pointer) (int, error) { + _r0, _err := functions.PosechainMemSize(pc) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // PoseChainRound is MEOS posechain_round. func PoseChainRound(pc unsafe.Pointer, maxdd int) (unsafe.Pointer, error) { _r0, _err := functions.PosechainRound(pc, maxdd) @@ -276,8 +303,8 @@ func PoseChainTransform(pc unsafe.Pointer, srid_to int32) (unsafe.Pointer, error } // PoseChainTransformPipeline is MEOS posechain_transform_pipeline. -func PoseChainTransformPipeline(pc unsafe.Pointer, pipeline string, srid_to int32, is_forward bool) (unsafe.Pointer, error) { - _r0, _err := functions.PosechainTransformPipeline(pc, pipeline, srid_to, is_forward) +func PoseChainTransformPipeline(pc unsafe.Pointer, pipelinestr string, srid int32, is_forward bool) (unsafe.Pointer, error) { + _r0, _err := functions.PosechainTransformPipeline(pc, pipelinestr, srid, is_forward) if _err != nil { return nil, _err } @@ -302,24 +329,6 @@ func PoseChainNe(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (bool, error) { return _r0, nil } -// PoseChainSame is MEOS posechain_same. -func PoseChainSame(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (bool, error) { - _r0, _err := functions.PosechainSame(pc1, pc2) - if _err != nil { - return false, _err - } - return _r0, nil -} - -// PoseChainNsame is MEOS posechain_nsame. -func PoseChainNsame(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (bool, error) { - _r0, _err := functions.PosechainNsame(pc1, pc2) - if _err != nil { - return false, _err - } - return _r0, nil -} - // PoseChainCmp is MEOS posechain_cmp. func PoseChainCmp(pc1 unsafe.Pointer, pc2 unsafe.Pointer) (int, error) { _r0, _err := functions.PosechainCmp(pc1, pc2) diff --git a/types/raster.go b/types/raster.go new file mode 100644 index 0000000..e0d0455 --- /dev/null +++ b/types/raster.go @@ -0,0 +1,22 @@ +package types + +// Code generated by tools/objectgen.py from meos-idl.json. DO NOT EDIT. + +import ( + "unsafe" +) + +type Raster struct { + Value +} + +// RasterFromPointer wraps a MEOS pointer, answering nil for nil so an +// absent MEOS result stays absent rather than becoming a live handle. +func RasterFromPointer(p unsafe.Pointer) *Raster { + if p == nil { + return nil + } + v := &Raster{} + v.ptr = p + return v +} diff --git a/types/rtree.go b/types/rtree.go index f61cb38..770f023 100644 --- a/types/rtree.go +++ b/types/rtree.go @@ -86,15 +86,6 @@ func RTreeCreateStbox() (*RTree, error) { return RTreeFromPointer(_r0.Pointer()), nil } -// RTreeCreateTpcbox is MEOS rtree_create_tpcbox. -func RTreeCreateTpcbox() (*RTree, error) { - _r0, _err := functions.RtreeCreateTpcbox() - if _err != nil { - return nil, _err - } - return RTreeFromPointer(_r0.Pointer()), nil -} - // Free is MEOS rtree_free. func (x *RTree) Free() error { return functions.RtreeFree(functions.RTreeFromPointer(x.Pointer())) @@ -189,3 +180,21 @@ func (x *RTree) SearchTemporal(op functions.IndexSearchOp, temp *Temporal) (int, } return _r0, MeosArrayFromPointer(_r1.Pointer()), nil } + +// SearchTemporalDedup is MEOS rtree_search_temporal_dedup. +func (x *RTree) SearchTemporalDedup(op functions.IndexSearchOp, temp *Temporal, maxboxes int) (int, *MeosArray, error) { + _r0, _r1, _err := functions.RtreeSearchTemporalDedup(functions.RTreeFromPointer(x.Pointer()), op, functions.TemporalFromPointer(temp.Pointer()), maxboxes) + if _err != nil { + return 0, nil, _err + } + return _r0, MeosArrayFromPointer(_r1.Pointer()), nil +} + +// RTreeCreateTpcbox is MEOS rtree_create_tpcbox. +func RTreeCreateTpcbox() (*RTree, error) { + _r0, _err := functions.RtreeCreateTpcbox() + if _err != nil { + return nil, _err + } + return RTreeFromPointer(_r0.Pointer()), nil +} diff --git a/types/set.go b/types/set.go index d6d5ffb..a028d26 100644 --- a/types/set.go +++ b/types/set.go @@ -104,6 +104,15 @@ func (x *Set) HashExtended(seed uint64) (uint64, error) { return _r0, nil } +// MemSize is MEOS set_mem_size. +func (x *Set) MemSize() (int, error) { + _r0, _err := functions.SetMemSize(functions.SetFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // NumValues is MEOS set_num_values. func (x *Set) NumValues() (int, error) { _r0, _err := functions.SetNumValues(functions.SetFromPointer(x.Pointer())) @@ -185,6 +194,15 @@ func (x *Set) Ne(s2 *Set) (bool, error) { return _r0, nil } +// Sortkey is MEOS set_sortkey. +func (x *Set) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.SetSortkey(functions.SetFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Spans is MEOS set_spans. func (x *Set) Spans(count unsafe.Pointer) (*Span, error) { _r0, _err := functions.SetSpans(functions.SetFromPointer(x.Pointer()), count) diff --git a/types/span.go b/types/span.go index d362268..7c5ac38 100644 --- a/types/span.go +++ b/types/span.go @@ -176,6 +176,15 @@ func (x *Span) Ne(s2 *Span) (bool, error) { return _r0, nil } +// Sortkey is MEOS span_sortkey. +func (x *Span) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.SpanSortkey(functions.SpanFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ToTbox is MEOS span_to_tbox. func (x *Span) ToTbox() (*TBox, error) { _r0, _err := functions.SpanToTBOX(functions.SpanFromPointer(x.Pointer())) diff --git a/types/spanset.go b/types/spanset.go index 86db18a..ae58bd6 100644 --- a/types/spanset.go +++ b/types/spanset.go @@ -113,6 +113,15 @@ func (x *SpanSet) LowerInc() (bool, error) { return _r0, nil } +// MemSize is MEOS spanset_mem_size. +func (x *SpanSet) MemSize() (int, error) { + _r0, _err := functions.SpansetMemSize(functions.SpanSetFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // NumSpans is MEOS spanset_num_spans. func (x *SpanSet) NumSpans() (int, error) { _r0, _err := functions.SpansetNumSpans(functions.SpanSetFromPointer(x.Pointer())) @@ -230,6 +239,15 @@ func (x *SpanSet) Ne(ss2 *SpanSet) (bool, error) { return _r0, nil } +// Sortkey is MEOS spanset_sortkey. +func (x *SpanSet) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.SpansetSortkey(functions.SpanSetFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Spans is MEOS spanset_spans. func (x *SpanSet) Spans(count unsafe.Pointer) (*Span, error) { _r0, _err := functions.SpansetSpans(functions.SpanSetFromPointer(x.Pointer()), count) diff --git a/types/sptree.go b/types/sptree.go index e2c209a..1e89d4b 100644 --- a/types/sptree.go +++ b/types/sptree.go @@ -86,15 +86,6 @@ func SPTreeCreateStbox(kind functions.SPTreeKind) (unsafe.Pointer, error) { return _r0, nil } -// SPTreeCreateTpcbox is MEOS sptree_create_tpcbox. -func SPTreeCreateTpcbox(kind functions.SPTreeKind) (unsafe.Pointer, error) { - _r0, _err := functions.SptreeCreateTpcbox(kind) - if _err != nil { - return nil, _err - } - return _r0, nil -} - // SPTreeFree is MEOS sptree_free. func SPTreeFree(sptree unsafe.Pointer) error { return functions.SptreeFree(sptree) @@ -189,3 +180,21 @@ func SPTreeSearchTemporal(sptree unsafe.Pointer, op functions.IndexSearchOp, tem } return _r0, MeosArrayFromPointer(_r1.Pointer()), nil } + +// SPTreeSearchTemporalDedup is MEOS sptree_search_temporal_dedup. +func SPTreeSearchTemporalDedup(sptree unsafe.Pointer, op functions.IndexSearchOp, temp *Temporal, maxboxes int) (int, *MeosArray, error) { + _r0, _r1, _err := functions.SptreeSearchTemporalDedup(sptree, op, functions.TemporalFromPointer(temp.Pointer()), maxboxes) + if _err != nil { + return 0, nil, _err + } + return _r0, MeosArrayFromPointer(_r1.Pointer()), nil +} + +// SPTreeCreateTpcbox is MEOS sptree_create_tpcbox. +func SPTreeCreateTpcbox(kind functions.SPTreeKind) (unsafe.Pointer, error) { + _r0, _err := functions.SptreeCreateTpcbox(kind) + if _err != nil { + return nil, _err + } + return _r0, nil +} diff --git a/types/stbox.go b/types/stbox.go index 59ef53b..32e1a69 100644 --- a/types/stbox.go +++ b/types/stbox.go @@ -23,6 +23,24 @@ func STBoxFromPointer(p unsafe.Pointer) *STBox { return v } +// AsEWKB is MEOS stbox_as_ewkb. +func (x *STBox) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.STBOXAsEWKB(functions.STBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// AsHEXEWKB is MEOS stbox_as_hexewkb. +func (x *STBox) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.STBOXAsHexewkb(functions.STBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsHEXWKB is MEOS stbox_as_hexwkb. func (x *STBox) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { _r0, _err := functions.STBOXAsHexwkb(functions.STBoxFromPointer(x.Pointer()), variant, size_out) @@ -449,6 +467,15 @@ func (x *STBox) Ne(box2 *STBox) (bool, error) { return _r0, nil } +// Sortkey is MEOS stbox_sortkey. +func (x *STBox) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.STBOXSortkey(functions.STBoxFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // SpatialDistance is MEOS stbox_spatial_distance. func (x *STBox) SpatialDistance(box2 *STBox) (float64, error) { _r0, _err := functions.STBOXSpatialDistance(functions.STBoxFromPointer(x.Pointer()), functions.STBoxFromPointer(box2.Pointer())) diff --git a/types/tbigint.go b/types/tbigint.go index f49e9c7..9848dff 100644 --- a/types/tbigint.go +++ b/types/tbigint.go @@ -113,6 +113,15 @@ func (x *TBigint) StartValue() (int64, error) { return _r0, nil } +// Value is MEOS tbigint_value. +func (x *TBigint) Value() (int64, error) { + _r0, _err := functions.TbigintValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // ValueAtTimestamptz is MEOS tbigint_value_at_timestamptz. func (x *TBigint) ValueAtTimestamptz(t int64, strict bool) (int64, bool, error) { _found, _value, _err := functions.TbigintValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -146,6 +155,15 @@ func (x *TBigint) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tbigint_unnest. +func (x *TBigint) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TbigintUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ScaleValue is MEOS tbigint_scale_value. func (x *TBigint) ScaleValue(width int64) (*Temporal, error) { _r0, _err := functions.TbigintScaleValue(functions.TemporalFromPointer(x.Pointer()), width) @@ -173,6 +191,51 @@ func (x *TBigint) ShiftValue(shift int64) (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// AtValue is MEOS tbigint_at_value. +func (x *TBigint) AtValue(i int64) (*Temporal, error) { + _r0, _err := functions.TbigintAtValue(functions.TemporalFromPointer(x.Pointer()), i) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// MinusValue is MEOS tbigint_minus_value. +func (x *TBigint) MinusValue(i int64) (*Temporal, error) { + _r0, _err := functions.TbigintMinusValue(functions.TemporalFromPointer(x.Pointer()), i) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ValueBins is MEOS tbigint_value_bins. +func (x *TBigint) ValueBins(vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.TbigintValueBins(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) + if _err != nil { + return nil, _err + } + return SpanFromPointer(_r0.Pointer()), nil +} + +// ValueBoxes is MEOS tbigint_value_boxes. +func (x *TBigint) ValueBoxes(vsize int64, vorigin int64, border_inc bool, count unsafe.Pointer) (*TBox, error) { + _r0, _err := functions.TbigintValueBoxes(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) + if _err != nil { + return nil, _err + } + return TBoxFromPointer(_r0.Pointer()), nil +} + +// ValueSplit is MEOS tbigint_value_split. +func (x *TBigint) ValueSplit(vsize int64, vorigin int64, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TbigintValueSplit(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, bins, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ToTh3index is MEOS tbigint_to_th3index. func (x *TBigint) ToTh3index() (*Temporal, error) { _r0, _err := functions.TbigintToTh3index(functions.TemporalFromPointer(x.Pointer())) diff --git a/types/tbool.go b/types/tbool.go index 74ea38a..ac72ad9 100644 --- a/types/tbool.go +++ b/types/tbool.go @@ -86,6 +86,15 @@ func (x *TBool) StartValue() (bool, error) { return _r0, nil } +// Value is MEOS tbool_value. +func (x *TBool) Value() (bool, error) { + _r0, _err := functions.TboolValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return false, _err + } + return _r0, nil +} + // ValueAtTimestamptz is MEOS tbool_value_at_timestamptz. func (x *TBool) ValueAtTimestamptz(t int64, strict bool) (bool, bool, error) { _found, _value, _err := functions.TboolValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -119,6 +128,15 @@ func (x *TBool) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tbool_unnest. +func (x *TBool) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TboolUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AtValue is MEOS tbool_at_value. func (x *TBool) AtValue(b bool) (*Temporal, error) { _r0, _err := functions.TboolAtValue(functions.TemporalFromPointer(x.Pointer()), b) diff --git a/types/tbox.go b/types/tbox.go index ea24554..c516aa3 100644 --- a/types/tbox.go +++ b/types/tbox.go @@ -334,3 +334,21 @@ func (x *TBox) Ne(box2 *TBox) (bool, error) { } return _r0, nil } + +// Sortkey is MEOS tbox_sortkey. +func (x *TBox) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TBOXSortkey(functions.TBoxFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// TBoxGetValueTile is MEOS tbox_get_value_tile. +func TBoxGetValueTile(value float64, vsize float64, vorigin float64) (*TBox, error) { + _r0, _err := functions.TBOXGetValueTile(value, vsize, vorigin) + if _err != nil { + return nil, _err + } + return TBoxFromPointer(_r0.Pointer()), nil +} diff --git a/types/tcbuffer.go b/types/tcbuffer.go index d211e97..dcd0aa2 100644 --- a/types/tcbuffer.go +++ b/types/tcbuffer.go @@ -113,6 +113,15 @@ func (x *TCbuffer) StartValue() (*Cbuffer, error) { return CbufferFromPointer(_r0.Pointer()), nil } +// Value is MEOS tcbuffer_value. +func (x *TCbuffer) Value() (*Cbuffer, error) { + _r0, _err := functions.TcbufferValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return CbufferFromPointer(_r0.Pointer()), nil +} + // ValueAtTimestamptz is MEOS tcbuffer_value_at_timestamptz. func (x *TCbuffer) ValueAtTimestamptz(t int64, strict bool) (*Cbuffer, bool, error) { _found, _value, _err := functions.TcbufferValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -146,6 +155,15 @@ func (x *TCbuffer) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tcbuffer_unnest. +func (x *TCbuffer) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TcbufferUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ToTfloat is MEOS tcbuffer_to_tfloat. func (x *TCbuffer) ToTfloat() (*Temporal, error) { _r0, _err := functions.TcbufferToTfloat(functions.TemporalFromPointer(x.Pointer())) @@ -173,6 +191,33 @@ func (x *TCbuffer) Expand(dist float64) (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// Rotate is MEOS tcbuffer_rotate. +func (x *TCbuffer) Rotate(angle float64, x0 float64, y0 float64) (*Temporal, error) { + _r0, _err := functions.TcbufferRotate(functions.TemporalFromPointer(x.Pointer()), angle, x0, y0) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateZ is MEOS tcbuffer_rotate_z. +func (x *TCbuffer) RotateZ(angle float64) (*Temporal, error) { + _r0, _err := functions.TcbufferRotateZ(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// Translate is MEOS tcbuffer_translate. +func (x *TCbuffer) Translate(deltax float64, deltay float64) (*Temporal, error) { + _r0, _err := functions.TcbufferTranslate(functions.TemporalFromPointer(x.Pointer()), deltax, deltay) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // AtCbuffer is MEOS tcbuffer_at_cbuffer. func (x *TCbuffer) AtCbuffer(cb *Cbuffer) (*Temporal, error) { _r0, _err := functions.TcbufferAtCbuffer(functions.TemporalFromPointer(x.Pointer()), functions.CbufferFromPointer(cb.Pointer())) diff --git a/types/temporal.go b/types/temporal.go index feb840f..7566496 100644 --- a/types/temporal.go +++ b/types/temporal.go @@ -35,8 +35,8 @@ func (x *Temporal) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, err } // AsMFJSON is MEOS temporal_as_mfjson. -func (x *Temporal) AsMFJSON(with_bbox bool, flags int, precision int, srs string) (string, error) { - _r0, _err := functions.TemporalAsMFJSON(functions.TemporalFromPointer(x.Pointer()), with_bbox, flags, precision, srs) +func (x *Temporal) AsMFJSON(option int, flags int, precision int, srs string) (string, error) { + _r0, _err := functions.TemporalAsMFJSON(functions.TemporalFromPointer(x.Pointer()), option, flags, precision, srs) if _err != nil { return "", _err } @@ -178,6 +178,15 @@ func (x *Temporal) MaxInstant() (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// MemSize is MEOS temporal_mem_size. +func (x *Temporal) MemSize() (int, error) { + _r0, _err := functions.TemporalMemSize(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // MinInstant is MEOS temporal_min_instant. func (x *Temporal) MinInstant() (*Temporal, error) { _r0, _err := functions.TemporalMinInstant(functions.TemporalFromPointer(x.Pointer())) @@ -325,6 +334,15 @@ func (x *Temporal) UpperInc() (bool, error) { return _r0, nil } +// Valueset is MEOS temporal_valueset. +func (x *Temporal) Valueset() (*Set, error) { + _r0, _err := functions.TemporalValueset(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return SetFromPointer(_r0.Pointer()), nil +} + // Round is MEOS temporal_round. func (x *Temporal) Round(maxdd int) (*Temporal, error) { _r0, _err := functions.TemporalRound(functions.TemporalFromPointer(x.Pointer()), maxdd) @@ -658,6 +676,15 @@ func (x *Temporal) Ne(temp2 *Temporal) (bool, error) { return _r0, nil } +// Sortkey is MEOS temporal_sortkey. +func (x *Temporal) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TemporalSortkey(functions.TemporalFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Spans is MEOS temporal_spans. func (x *Temporal) Spans(count unsafe.Pointer) (*Span, error) { _r0, _err := functions.TemporalSpans(functions.TemporalFromPointer(x.Pointer()), count) @@ -722,8 +749,8 @@ func (x *Temporal) SimplifyMinDist(dist float64) (*Temporal, error) { } // DyntimewarpDistance is MEOS temporal_dyntimewarp_distance. -func (x *Temporal) DyntimewarpDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TemporalDyntimewarpDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) +func (x *Temporal) DyntimewarpDistance(temp2 *Temporal, spheroid bool) (float64, error) { + _r0, _err := functions.TemporalDyntimewarpDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), spheroid) if _err != nil { return 0, _err } @@ -731,8 +758,8 @@ func (x *Temporal) DyntimewarpDistance(temp2 *Temporal) (float64, error) { } // FrechetDistance is MEOS temporal_frechet_distance. -func (x *Temporal) FrechetDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TemporalFrechetDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) +func (x *Temporal) FrechetDistance(temp2 *Temporal, spheroid bool) (float64, error) { + _r0, _err := functions.TemporalFrechetDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), spheroid) if _err != nil { return 0, _err } @@ -740,8 +767,8 @@ func (x *Temporal) FrechetDistance(temp2 *Temporal) (float64, error) { } // HausdorffDistance is MEOS temporal_hausdorff_distance. -func (x *Temporal) HausdorffDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TemporalHausdorffDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) +func (x *Temporal) HausdorffDistance(temp2 *Temporal, spheroid bool) (float64, error) { + _r0, _err := functions.TemporalHausdorffDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), spheroid) if _err != nil { return 0, _err } @@ -749,8 +776,8 @@ func (x *Temporal) HausdorffDistance(temp2 *Temporal) (float64, error) { } // AverageHausdorffDistance is MEOS temporal_average_hausdorff_distance. -func (x *Temporal) AverageHausdorffDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TemporalAverageHausdorffDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) +func (x *Temporal) AverageHausdorffDistance(temp2 *Temporal, spheroid bool) (float64, error) { + _r0, _err := functions.TemporalAverageHausdorffDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), spheroid) if _err != nil { return 0, _err } @@ -758,8 +785,8 @@ func (x *Temporal) AverageHausdorffDistance(temp2 *Temporal) (float64, error) { } // LcssDistance is MEOS temporal_lcss_distance. -func (x *Temporal) LcssDistance(temp2 *Temporal, epsilon float64) (float64, error) { - _r0, _err := functions.TemporalLcssDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), epsilon) +func (x *Temporal) LcssDistance(temp2 *Temporal, epsilon float64, spheroid bool) (float64, error) { + _r0, _err := functions.TemporalLcssDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer()), epsilon, spheroid) if _err != nil { return 0, _err } diff --git a/types/textset.go b/types/textset.go index 7688c77..4418608 100644 --- a/types/textset.go +++ b/types/textset.go @@ -115,3 +115,12 @@ func (x *TextSet) Upper() (*Set, error) { } return SetFromPointer(_r0.Pointer()), nil } + +// ToJsonbset is MEOS textset_to_jsonbset. +func (x *TextSet) ToJsonbset() (*Set, error) { + _r0, _err := functions.TextsetToJsonbset(functions.SetFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return SetFromPointer(_r0.Pointer()), nil +} diff --git a/types/tfloat.go b/types/tfloat.go index 63ac9c4..f05fda1 100644 --- a/types/tfloat.go +++ b/types/tfloat.go @@ -113,6 +113,15 @@ func (x *TFloat) StartValue() (float64, error) { return _r0, nil } +// Value is MEOS tfloat_value. +func (x *TFloat) Value() (float64, error) { + _r0, _err := functions.TfloatValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // ValueAtTimestamptz is MEOS tfloat_value_at_timestamptz. func (x *TFloat) ValueAtTimestamptz(t int64, strict bool) (float64, bool, error) { _found, _value, _err := functions.TfloatValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -146,6 +155,15 @@ func (x *TFloat) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tfloat_unnest. +func (x *TFloat) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TfloatUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Ceil is MEOS tfloat_ceil. func (x *TFloat) Ceil() (*Temporal, error) { _r0, _err := functions.TfloatCeil(functions.TemporalFromPointer(x.Pointer())) @@ -282,8 +300,8 @@ func (x *TFloat) Tan() (*Temporal, error) { } // ValueBins is MEOS tfloat_value_bins. -func (x *TFloat) ValueBins(vsize float64, vorigin float64, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.TfloatValueBins(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *TFloat) ValueBins(vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.TfloatValueBins(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } @@ -291,8 +309,8 @@ func (x *TFloat) ValueBins(vsize float64, vorigin float64, count unsafe.Pointer) } // ValueBoxes is MEOS tfloat_value_boxes. -func (x *TFloat) ValueBoxes(vsize float64, vorigin float64, count unsafe.Pointer) (*TBox, error) { - _r0, _err := functions.TfloatValueBoxes(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *TFloat) ValueBoxes(vsize float64, vorigin float64, border_inc bool, count unsafe.Pointer) (*TBox, error) { + _r0, _err := functions.TfloatValueBoxes(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } @@ -300,8 +318,8 @@ func (x *TFloat) ValueBoxes(vsize float64, vorigin float64, count unsafe.Pointer } // ValueSplit is MEOS tfloat_value_split. -func (x *TFloat) ValueSplit(size float64, origin float64, bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { - _r0, _err := functions.TfloatValueSplit(functions.TemporalFromPointer(x.Pointer()), size, origin, bins, count) +func (x *TFloat) ValueSplit(vsize float64, vorigin float64, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TfloatValueSplit(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, bins, count) if _err != nil { return nil, _err } diff --git a/types/tgeo.go b/types/tgeo.go index 885ca1f..6d55732 100644 --- a/types/tgeo.go +++ b/types/tgeo.go @@ -35,8 +35,8 @@ func TGeoFromBaseTemp(gs *TRGeometrySeqSet, temp *Temporal) (*Temporal, error) { } // Centroid is MEOS tgeo_centroid. -func (x *TGeo) Centroid() (*Temporal, error) { - _r0, _err := functions.TgeoCentroid(functions.TemporalFromPointer(x.Pointer())) +func (x *TGeo) Centroid(spheroid bool) (*Temporal, error) { + _r0, _err := functions.TgeoCentroid(functions.TemporalFromPointer(x.Pointer()), spheroid) if _err != nil { return nil, _err } @@ -79,6 +79,15 @@ func (x *TGeo) TraversedArea(unary_union bool) (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// Value is MEOS tgeo_value. +func (x *TGeo) Value() (*TRGeometrySeqSet, error) { + _r0, _err := functions.TgeoValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil +} + // ValueAtTimestamptz is MEOS tgeo_value_at_timestamptz. func (x *TGeo) ValueAtTimestamptz(t int64, strict bool) (*TRGeometrySeqSet, bool, error) { _found, _value, _err := functions.TgeoValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -112,9 +121,99 @@ func (x *TGeo) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tgeo_unnest. +func (x *TGeo) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeoUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// Affine is MEOS tgeo_affine. +func (x *TGeo) Affine(a float64, b float64, c float64, d float64, e float64, f float64, g float64, h float64, i float64, xoff float64, yoff float64, zoff float64) (*Temporal, error) { + _r0, _err := functions.TgeoAffine(functions.TemporalFromPointer(x.Pointer()), a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// Rotate is MEOS tgeo_rotate. +func (x *TGeo) Rotate(angle float64, x0 float64, y0 float64) (*Temporal, error) { + _r0, _err := functions.TgeoRotate(functions.TemporalFromPointer(x.Pointer()), angle, x0, y0) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateGeo is MEOS tgeo_rotate_geo. +func (x *TGeo) RotateGeo(angle float64, origin *TRGeometrySeqSet) (*Temporal, error) { + _r0, _err := functions.TgeoRotateGeo(functions.TemporalFromPointer(x.Pointer()), angle, functions.GeomFromPointer(origin.Pointer())) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateX is MEOS tgeo_rotate_x. +func (x *TGeo) RotateX(angle float64) (*Temporal, error) { + _r0, _err := functions.TgeoRotateX(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateY is MEOS tgeo_rotate_y. +func (x *TGeo) RotateY(angle float64) (*Temporal, error) { + _r0, _err := functions.TgeoRotateY(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateZ is MEOS tgeo_rotate_z. +func (x *TGeo) RotateZ(angle float64) (*Temporal, error) { + _r0, _err := functions.TgeoRotateZ(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // Scale is MEOS tgeo_scale. -func (x *TGeo) Scale(scale *TRGeometrySeqSet, sorigin *TRGeometrySeqSet) (*Temporal, error) { - _r0, _err := functions.TgeoScale(functions.TemporalFromPointer(x.Pointer()), functions.GeomFromPointer(scale.Pointer()), functions.GeomFromPointer(sorigin.Pointer())) +func (x *TGeo) Scale(xfactor float64, yfactor float64, zfactor float64) (*Temporal, error) { + _r0, _err := functions.TgeoScale(functions.TemporalFromPointer(x.Pointer()), xfactor, yfactor, zfactor) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ScaleGeo is MEOS tgeo_scale_geo. +func (x *TGeo) ScaleGeo(scale *TRGeometrySeqSet, sorigin *TRGeometrySeqSet) (*Temporal, error) { + _r0, _err := functions.TgeoScaleGeo(functions.TemporalFromPointer(x.Pointer()), functions.GeomFromPointer(scale.Pointer()), functions.GeomFromPointer(sorigin.Pointer())) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// Translate is MEOS tgeo_translate. +func (x *TGeo) Translate(deltax float64, deltay float64, deltaz float64) (*Temporal, error) { + _r0, _err := functions.TgeoTranslate(functions.TemporalFromPointer(x.Pointer()), deltax, deltay, deltaz) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// Transscale is MEOS tgeo_transscale. +func (x *TGeo) Transscale(deltax float64, deltay float64, xfactor float64, yfactor float64) (*Temporal, error) { + _r0, _err := functions.TgeoTransscale(functions.TemporalFromPointer(x.Pointer()), deltax, deltay, xfactor, yfactor) if _err != nil { return nil, _err } @@ -210,3 +309,12 @@ func (x *TGeo) SplitNStboxes(box_count int, count unsafe.Pointer) (*STBox, error } return STBoxFromPointer(_r0.Pointer()), nil } + +// SpaceSplit is MEOS tgeo_space_split. +func (x *TGeo) SpaceSplit(xsize float64, ysize float64, zsize float64, sorigin *TRGeometrySeqSet, bitmatrix bool, border_inc bool, space_bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeoSpaceSplit(functions.TemporalFromPointer(x.Pointer()), xsize, ysize, zsize, functions.GeomFromPointer(sorigin.Pointer()), bitmatrix, border_inc, space_bins, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} diff --git a/types/tgeogpoint.go b/types/tgeogpoint.go index 00974ca..5724223 100644 --- a/types/tgeogpoint.go +++ b/types/tgeogpoint.go @@ -50,15 +50,33 @@ func (x *TGeogPoint) ToTgeography() (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// ToTgeompoint is MEOS tgeogpoint_to_tgeompoint. +func (x *TGeogPoint) ToTgeompoint() (*Temporal, error) { + _r0, _err := functions.TgeogpointToTgeompoint(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // ToTh3index is MEOS tgeogpoint_to_th3index. -func (x *TGeogPoint) ToTh3index(resolution int32) (*Temporal, error) { - _r0, _err := functions.TgeogpointToTh3index(functions.TemporalFromPointer(x.Pointer()), resolution) +func (x *TGeogPoint) ToTh3index(resolution int32, border_inc bool) (*Temporal, error) { + _r0, _err := functions.TgeogpointToTh3index(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc) if _err != nil { return nil, _err } return TemporalFromPointer(_r0.Pointer()), nil } +// H3indexSplit is MEOS tgeogpoint_h3index_split. +func (x *TGeogPoint) H3indexSplit(resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeogpointH3indexSplit(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc, cells, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // GreatCircleDistance is MEOS tgeogpoint_great_circle_distance. func (x *TGeogPoint) GreatCircleDistance(b *Temporal) (*Temporal, error) { _r0, _err := functions.TgeogpointGreatCircleDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(b.Pointer())) @@ -67,3 +85,21 @@ func (x *TGeogPoint) GreatCircleDistance(b *Temporal) (*Temporal, error) { } return TemporalFromPointer(_r0.Pointer()), nil } + +// ToTquadbin is MEOS tgeogpoint_to_tquadbin. +func (x *TGeogPoint) ToTquadbin(resolution int32, border_inc bool) (*Temporal, error) { + _r0, _err := functions.TgeogpointToTquadbin(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// QuadbinSplit is MEOS tgeogpoint_quadbin_split. +func (x *TGeogPoint) QuadbinSplit(resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeogpointQuadbinSplit(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc, cells, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} diff --git a/types/tgeompoint.go b/types/tgeompoint.go index a0a4914..0baffe7 100644 --- a/types/tgeompoint.go +++ b/types/tgeompoint.go @@ -41,6 +41,15 @@ func TGeomPointIn(str string) (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// ToTgeogpoint is MEOS tgeompoint_to_tgeogpoint. +func (x *TGeomPoint) ToTgeogpoint() (*Temporal, error) { + _r0, _err := functions.TgeompointToTgeogpoint(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // ToTgeometry is MEOS tgeompoint_to_tgeometry. func (x *TGeomPoint) ToTgeometry() (*Temporal, error) { _r0, _err := functions.TgeompointToTgeometry(functions.TemporalFromPointer(x.Pointer())) @@ -51,14 +60,23 @@ func (x *TGeomPoint) ToTgeometry() (*Temporal, error) { } // ToTh3index is MEOS tgeompoint_to_th3index. -func (x *TGeomPoint) ToTh3index(resolution int32) (*Temporal, error) { - _r0, _err := functions.TgeompointToTh3index(functions.TemporalFromPointer(x.Pointer()), resolution) +func (x *TGeomPoint) ToTh3index(resolution int32, border_inc bool) (*Temporal, error) { + _r0, _err := functions.TgeompointToTh3index(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc) if _err != nil { return nil, _err } return TemporalFromPointer(_r0.Pointer()), nil } +// H3indexSplit is MEOS tgeompoint_h3index_split. +func (x *TGeomPoint) H3indexSplit(resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeompointH3indexSplit(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc, cells, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ToTnpoint is MEOS tgeompoint_to_tnpoint. func (x *TGeomPoint) ToTnpoint() (*Temporal, error) { _r0, _err := functions.TgeompointToTnpoint(functions.TemporalFromPointer(x.Pointer())) @@ -67,3 +85,21 @@ func (x *TGeomPoint) ToTnpoint() (*Temporal, error) { } return TemporalFromPointer(_r0.Pointer()), nil } + +// ToTquadbin is MEOS tgeompoint_to_tquadbin. +func (x *TGeomPoint) ToTquadbin(resolution int32, border_inc bool) (*Temporal, error) { + _r0, _err := functions.TgeompointToTquadbin(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// QuadbinSplit is MEOS tgeompoint_quadbin_split. +func (x *TGeomPoint) QuadbinSplit(resolution int32, border_inc bool, cells unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TgeompointQuadbinSplit(functions.TemporalFromPointer(x.Pointer()), resolution, border_inc, cells, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} diff --git a/types/tinstant.go b/types/tinstant.go index 72b2c3a..4e9dd32 100644 --- a/types/tinstant.go +++ b/types/tinstant.go @@ -4,6 +4,8 @@ package types import ( "unsafe" + + "github.com/MobilityDB/GoMEOS/functions" ) type TInstant struct { @@ -20,3 +22,12 @@ func TInstantFromPointer(p unsafe.Pointer) *TInstant { v.ptr = p return v } + +// Timestamptz is MEOS tinstant_timestamptz. +func (x *TInstant) Timestamptz() (int64, error) { + _r0, _err := functions.TinstantTimestamptz(functions.TInstantFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} diff --git a/types/tint.go b/types/tint.go index 0883ed5..a8146a3 100644 --- a/types/tint.go +++ b/types/tint.go @@ -113,6 +113,15 @@ func (x *TInt) StartValue() (int, error) { return _r0, nil } +// Value is MEOS tint_value. +func (x *TInt) Value() (int, error) { + _r0, _err := functions.TintValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // ValueAtTimestamptz is MEOS tint_value_at_timestamptz. func (x *TInt) ValueAtTimestamptz(t int64, strict bool) (int, bool, error) { _found, _value, _err := functions.TintValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -146,6 +155,15 @@ func (x *TInt) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tint_unnest. +func (x *TInt) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TintUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ScaleValue is MEOS tint_scale_value. func (x *TInt) ScaleValue(width int) (*Temporal, error) { _r0, _err := functions.TintScaleValue(functions.TemporalFromPointer(x.Pointer()), width) @@ -192,8 +210,8 @@ func (x *TInt) MinusValue(i int) (*Temporal, error) { } // ValueBins is MEOS tint_value_bins. -func (x *TInt) ValueBins(vsize int, vorigin int, count unsafe.Pointer) (*Span, error) { - _r0, _err := functions.TintValueBins(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *TInt) ValueBins(vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (*Span, error) { + _r0, _err := functions.TintValueBins(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } @@ -201,8 +219,8 @@ func (x *TInt) ValueBins(vsize int, vorigin int, count unsafe.Pointer) (*Span, e } // ValueBoxes is MEOS tint_value_boxes. -func (x *TInt) ValueBoxes(vsize int, vorigin int, count unsafe.Pointer) (*TBox, error) { - _r0, _err := functions.TintValueBoxes(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, count) +func (x *TInt) ValueBoxes(vsize int, vorigin int, border_inc bool, count unsafe.Pointer) (*TBox, error) { + _r0, _err := functions.TintValueBoxes(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, count) if _err != nil { return nil, _err } @@ -210,8 +228,8 @@ func (x *TInt) ValueBoxes(vsize int, vorigin int, count unsafe.Pointer) (*TBox, } // ValueSplit is MEOS tint_value_split. -func (x *TInt) ValueSplit(vsize int, vorigin int, bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { - _r0, _err := functions.TintValueSplit(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, bins, count) +func (x *TInt) ValueSplit(vsize int, vorigin int, border_inc bool, bins unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TintValueSplit(functions.TemporalFromPointer(x.Pointer()), vsize, vorigin, border_inc, bins, count) if _err != nil { return nil, _err } diff --git a/types/tjsonb.go b/types/tjsonb.go index 8f5da67..229f167 100644 --- a/types/tjsonb.go +++ b/types/tjsonb.go @@ -86,6 +86,15 @@ func (x *TJsonb) StartValue() (*Jsonb, error) { return JsonbFromPointer(_r0.Pointer()), nil } +// Value is MEOS tjsonb_value. +func (x *TJsonb) Value() (*Jsonb, error) { + _r0, _err := functions.TjsonbValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return JsonbFromPointer(_r0.Pointer()), nil +} + // ValueAtTimestamptz is MEOS tjsonb_value_at_timestamptz. func (x *TJsonb) ValueAtTimestamptz(t int64, strict bool) (*Jsonb, bool, error) { _found, _value, _err := functions.TjsonbValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -119,9 +128,27 @@ func (x *TJsonb) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tjsonb_unnest. +func (x *TJsonb) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TjsonbUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ArrayElement is MEOS tjsonb_array_element. -func (x *TJsonb) ArrayElement(idx int, astext bool, null_handle functions.NullHandleType) (*Temporal, error) { - _r0, _err := functions.TjsonbArrayElement(functions.TemporalFromPointer(x.Pointer()), idx, astext, null_handle) +func (x *TJsonb) ArrayElement(idx int, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbArrayElement(functions.TemporalFromPointer(x.Pointer()), idx, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ArrayElementText is MEOS tjsonb_array_element_text. +func (x *TJsonb) ArrayElementText(idx int, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbArrayElementText(functions.TemporalFromPointer(x.Pointer()), idx, null_handle) if _err != nil { return nil, _err } @@ -210,8 +237,17 @@ func (x *TJsonb) ExistsArray(keys unsafe.Pointer, count int, any bool) (*Tempora } // ExtractPath is MEOS tjsonb_extract_path. -func (x *TJsonb) ExtractPath(path_elems unsafe.Pointer, path_len int, astext bool, null_handle functions.NullHandleType) (*Temporal, error) { - _r0, _err := functions.TjsonbExtractPath(functions.TemporalFromPointer(x.Pointer()), path_elems, path_len, astext, null_handle) +func (x *TJsonb) ExtractPath(path_elems unsafe.Pointer, path_len int, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbExtractPath(functions.TemporalFromPointer(x.Pointer()), path_elems, path_len, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ExtractPathText is MEOS tjsonb_extract_path_text. +func (x *TJsonb) ExtractPathText(path_elems unsafe.Pointer, path_len int, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbExtractPathText(functions.TemporalFromPointer(x.Pointer()), path_elems, path_len, null_handle) if _err != nil { return nil, _err } @@ -228,8 +264,17 @@ func (x *TJsonb) Insert(keys unsafe.Pointer, count int, newjb *Jsonb, after bool } // ObjectField is MEOS tjsonb_object_field. -func (x *TJsonb) ObjectField(key string, astext bool, null_handle functions.NullHandleType) (*Temporal, error) { - _r0, _err := functions.TjsonbObjectField(functions.TemporalFromPointer(x.Pointer()), key, astext, null_handle) +func (x *TJsonb) ObjectField(key string, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbObjectField(functions.TemporalFromPointer(x.Pointer()), key, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ObjectFieldText is MEOS tjsonb_object_field_text. +func (x *TJsonb) ObjectFieldText(key string, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbObjectFieldText(functions.TemporalFromPointer(x.Pointer()), key, null_handle) if _err != nil { return nil, _err } @@ -299,6 +344,15 @@ func (x *TJsonb) StripNulls(strip_in_arrays bool) (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// ToTbigint is MEOS tjsonb_to_tbigint. +func (x *TJsonb) ToTbigint(key string, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbToTbigint(functions.TemporalFromPointer(x.Pointer()), key, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // ToTbool is MEOS tjsonb_to_tbool. func (x *TJsonb) ToTbool(key string, null_handle functions.NullHandleType) (*Temporal, error) { _r0, _err := functions.TjsonbToTbool(functions.TemporalFromPointer(x.Pointer()), key, null_handle) @@ -317,6 +371,42 @@ func (x *TJsonb) ToTfloat(key string, interp functions.Interpolation, null_handl return TemporalFromPointer(_r0.Pointer()), nil } +// ToTgeogpoint is MEOS tjsonb_to_tgeogpoint. +func (x *TJsonb) ToTgeogpoint(key string, interp functions.Interpolation, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbToTgeogpoint(functions.TemporalFromPointer(x.Pointer()), key, interp, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ToTgeography is MEOS tjsonb_to_tgeography. +func (x *TJsonb) ToTgeography(key string, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbToTgeography(functions.TemporalFromPointer(x.Pointer()), key, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ToTgeometry is MEOS tjsonb_to_tgeometry. +func (x *TJsonb) ToTgeometry(key string, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbToTgeometry(functions.TemporalFromPointer(x.Pointer()), key, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// ToTgeompoint is MEOS tjsonb_to_tgeompoint. +func (x *TJsonb) ToTgeompoint(key string, interp functions.Interpolation, null_handle functions.NullHandleType) (*Temporal, error) { + _r0, _err := functions.TjsonbToTgeompoint(functions.TemporalFromPointer(x.Pointer()), key, interp, null_handle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // ToTint is MEOS tjsonb_to_tint. func (x *TJsonb) ToTint(key string, null_handle functions.NullHandleType) (*Temporal, error) { _r0, _err := functions.TjsonbToTint(functions.TemporalFromPointer(x.Pointer()), key, null_handle) diff --git a/types/tnpoint.go b/types/tnpoint.go index 6782993..6bab957 100644 --- a/types/tnpoint.go +++ b/types/tnpoint.go @@ -149,6 +149,15 @@ func (x *TNpoint) Trajectory() (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// Value is MEOS tnpoint_value. +func (x *TNpoint) Value() (*Npoint, error) { + _r0, _err := functions.TnpointValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return NpointFromPointer(_r0.Pointer()), nil +} + // ValueAtTimestamptz is MEOS tnpoint_value_at_timestamptz. func (x *TNpoint) ValueAtTimestamptz(t int64, strict bool) (*Npoint, bool, error) { _found, _value, _err := functions.TnpointValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -182,6 +191,15 @@ func (x *TNpoint) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tnpoint_unnest. +func (x *TNpoint) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TnpointUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Twcentroid is MEOS tnpoint_twcentroid. func (x *TNpoint) Twcentroid() (*TRGeometrySeqSet, error) { _r0, _err := functions.TnpointTwcentroid(functions.TemporalFromPointer(x.Pointer())) diff --git a/types/tnumber.go b/types/tnumber.go index 01fef91..b9bedc8 100644 --- a/types/tnumber.go +++ b/types/tnumber.go @@ -43,6 +43,15 @@ func (x *TNumber) ToTbox() (*TBox, error) { return TBoxFromPointer(_r0.Pointer()), nil } +// AvgValue is MEOS tnumber_avg_value. +func (x *TNumber) AvgValue() (float64, error) { + _r0, _err := functions.TnumberAvgValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return 0, _err + } + return _r0, nil +} + // Integral is MEOS tnumber_integral. func (x *TNumber) Integral() (float64, error) { _r0, _err := functions.TnumberIntegral(functions.TemporalFromPointer(x.Pointer())) diff --git a/types/tpcbox.go b/types/tpcbox.go index 6229934..b9fd910 100644 --- a/types/tpcbox.go +++ b/types/tpcbox.go @@ -23,6 +23,60 @@ func TPCBoxFromPointer(p unsafe.Pointer) *TPCBox { return v } +// AsEWKB is MEOS tpcbox_as_ewkb. +func (x *TPCBox) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TpcboxAsEWKB(functions.TPCBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// AsHEXEWKB is MEOS tpcbox_as_hexewkb. +func (x *TPCBox) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.TpcboxAsHexewkb(functions.TPCBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// AsHEXWKB is MEOS tpcbox_as_hexwkb. +func (x *TPCBox) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.TpcboxAsHexwkb(functions.TPCBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + +// AsWKB is MEOS tpcbox_as_wkb. +func (x *TPCBox) AsWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TpcboxAsWKB(functions.TPCBoxFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// TPCBoxFromHEXWKB is MEOS tpcbox_from_hexwkb. +func TPCBoxFromHEXWKB(hexwkb string) (*TPCBox, error) { + _r0, _err := functions.TpcboxFromHexwkb(hexwkb) + if _err != nil { + return nil, _err + } + return TPCBoxFromPointer(_r0.Pointer()), nil +} + +// TPCBoxFromWKB is MEOS tpcbox_from_wkb. +func TPCBoxFromWKB(wkb unsafe.Pointer, size uint) (*TPCBox, error) { + _r0, _err := functions.TpcboxFromWKB(wkb, size) + if _err != nil { + return nil, _err + } + return TPCBoxFromPointer(_r0.Pointer()), nil +} + // TPCBoxIn is MEOS tpcbox_in. func TPCBoxIn(str string) (*TPCBox, error) { _r0, _err := functions.TpcboxIn(str) @@ -42,8 +96,8 @@ func (x *TPCBox) Out(maxdd int) (string, error) { } // TPCBoxMake is MEOS tpcbox_make. -func TPCBoxMake(hasx bool, hasz bool, hast bool, geodetic bool, srid int32, pcid uint32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, period *Span) (*TPCBox, error) { - _r0, _err := functions.TpcboxMake(hasx, hasz, hast, geodetic, srid, pcid, xmin, xmax, ymin, ymax, zmin, zmax, functions.SpanFromPointer(period.Pointer())) +func TPCBoxMake(hasx bool, hasz bool, hast bool, geodetic bool, pcid uint32, xmin float64, xmax float64, ymin float64, ymax float64, zmin float64, zmax float64, period *Span) (*TPCBox, error) { + _r0, _err := functions.TpcboxMake(hasx, hasz, hast, geodetic, pcid, xmin, xmax, ymin, ymax, zmin, zmax, functions.SpanFromPointer(period.Pointer())) if _err != nil { return nil, _err } @@ -287,6 +341,15 @@ func (x *TPCBox) Ne(box2 *TPCBox) (bool, error) { return _r0, nil } +// Sortkey is MEOS tpcbox_sortkey. +func (x *TPCBox) Sortkey(size unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TpcboxSortkey(functions.TPCBoxFromPointer(x.Pointer()), size) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // Lt is MEOS tpcbox_lt. func (x *TPCBox) Lt(box2 *TPCBox) (bool, error) { _r0, _err := functions.TpcboxLt(functions.TPCBoxFromPointer(x.Pointer()), functions.TPCBoxFromPointer(box2.Pointer())) diff --git a/types/tpoint.go b/types/tpoint.go index 087c21f..c65f0a4 100644 --- a/types/tpoint.go +++ b/types/tpoint.go @@ -34,6 +34,15 @@ func TPointFromBaseTemp(gs *TRGeometrySeqSet, temp *Temporal) (*Temporal, error) return TemporalFromPointer(_r0.Pointer()), nil } +// AsMvtgeom is MEOS tpoint_as_mvtgeom. +func (x *TPoint) AsMvtgeom(bounds *STBox, extent int32, buffer int32, clip_geom bool, gsarr unsafe.Pointer, timesarr unsafe.Pointer, count unsafe.Pointer) (bool, error) { + _r0, _err := functions.TpointAsMvtgeom(functions.TemporalFromPointer(x.Pointer()), functions.STBoxFromPointer(bounds.Pointer()), extent, buffer, clip_geom, gsarr, timesarr, count) + if _err != nil { + return false, _err + } + return _r0, nil +} + // TfloatToGeomeas is MEOS tpoint_tfloat_to_geomeas. func (x *TPoint) TfloatToGeomeas(measure *Temporal, segmentize bool) (*TRGeometrySeqSet, bool, error) { _found, _value, _err := functions.TpointTfloatToGeomeas(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(measure.Pointer()), segmentize) @@ -65,8 +74,8 @@ func (x *TPoint) Azimuth() (*Temporal, error) { } // CumulativeLength is MEOS tpoint_cumulative_length. -func (x *TPoint) CumulativeLength() (*Temporal, error) { - _r0, _err := functions.TpointCumulativeLength(functions.TemporalFromPointer(x.Pointer())) +func (x *TPoint) CumulativeLength(spheroid bool) (*Temporal, error) { + _r0, _err := functions.TpointCumulativeLength(functions.TemporalFromPointer(x.Pointer()), spheroid) if _err != nil { return nil, _err } @@ -122,8 +131,8 @@ func (x *TPoint) IsSimple() (bool, error) { } // Length is MEOS tpoint_length. -func (x *TPoint) Length() (float64, error) { - _r0, _err := functions.TpointLength(functions.TemporalFromPointer(x.Pointer())) +func (x *TPoint) Length(spheroid bool) (float64, error) { + _r0, _err := functions.TpointLength(functions.TemporalFromPointer(x.Pointer()), spheroid) if _err != nil { return 0, _err } @@ -131,8 +140,8 @@ func (x *TPoint) Length() (float64, error) { } // Speed is MEOS tpoint_speed. -func (x *TPoint) Speed() (*Temporal, error) { - _r0, _err := functions.TpointSpeed(functions.TemporalFromPointer(x.Pointer())) +func (x *TPoint) Speed(spheroid bool) (*Temporal, error) { + _r0, _err := functions.TpointSpeed(functions.TemporalFromPointer(x.Pointer()), spheroid) if _err != nil { return nil, _err } diff --git a/types/tpose.go b/types/tpose.go index b07c651..57a9be5 100644 --- a/types/tpose.go +++ b/types/tpose.go @@ -41,6 +41,15 @@ func (x *TPose) AsGeopose(conformance int, precision int) (string, error) { return _r0, nil } +// AsGeoposeStreamHeader is MEOS tpose_as_geopose_stream_header. +func (x *TPose) AsGeoposeStreamHeader(precision int) (string, error) { + _r0, _err := functions.TposeAsGeoposeStreamHeader(functions.TemporalFromPointer(x.Pointer()), precision) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsGeoposeStreamElement is MEOS tpose_as_geopose_stream_element. func (x *TPose) AsGeoposeStreamElement(inst *Temporal, precision int) (string, error) { _r0, _err := functions.TposeAsGeoposeStreamElement(functions.TemporalFromPointer(x.Pointer()), functions.TInstantFromPointer(inst.Pointer()), precision) @@ -95,6 +104,51 @@ func (x *TPose) Inverse() (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// Rotate is MEOS tpose_rotate. +func (x *TPose) Rotate(angle float64, x0 float64, y0 float64) (*Temporal, error) { + _r0, _err := functions.TposeRotate(functions.TemporalFromPointer(x.Pointer()), angle, x0, y0) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateX is MEOS tpose_rotate_x. +func (x *TPose) RotateX(angle float64) (*Temporal, error) { + _r0, _err := functions.TposeRotateX(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateY is MEOS tpose_rotate_y. +func (x *TPose) RotateY(angle float64) (*Temporal, error) { + _r0, _err := functions.TposeRotateY(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateZ is MEOS tpose_rotate_z. +func (x *TPose) RotateZ(angle float64) (*Temporal, error) { + _r0, _err := functions.TposeRotateZ(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// Translate is MEOS tpose_translate. +func (x *TPose) Translate(deltax float64, deltay float64, deltaz float64) (*Temporal, error) { + _r0, _err := functions.TposeTranslate(functions.TemporalFromPointer(x.Pointer()), deltax, deltay, deltaz) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // TPoseFromMFJSON is MEOS tpose_from_mfjson. func TPoseFromMFJSON(str string) (*Temporal, error) { _r0, _err := functions.TposeFromMFJSON(str) @@ -221,6 +275,15 @@ func (x *TPose) Trajectory() (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// Value is MEOS tpose_value. +func (x *TPose) Value() (*Pose, error) { + _r0, _err := functions.TposeValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return PoseFromPointer(_r0.Pointer()), nil +} + // ValueAtTimestamptz is MEOS tpose_value_at_timestamptz. func (x *TPose) ValueAtTimestamptz(t int64, strict bool) (*Pose, bool, error) { _found, _value, _err := functions.TposeValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -254,6 +317,15 @@ func (x *TPose) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS tpose_unnest. +func (x *TPose) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TposeUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AtElevation is MEOS tpose_at_elevation. func (x *TPose) AtElevation(s *Span) (*Temporal, error) { _r0, _err := functions.TposeAtElevation(functions.TemporalFromPointer(x.Pointer()), functions.SpanFromPointer(s.Pointer())) diff --git a/types/trgeometry.go b/types/trgeometry.go index 0ac0392..969bd0d 100644 --- a/types/trgeometry.go +++ b/types/trgeometry.go @@ -239,6 +239,33 @@ func (x *TRGeometry) StartValue() (*TRGeometrySeqSet, error) { return TRGeometrySeqSetFromPointer(_r0.Pointer()), nil } +// Value is MEOS trgeometry_value. +func (x *TRGeometry) Value() (*Pose, error) { + _r0, _err := functions.TrgeometryValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return nil, _err + } + return PoseFromPointer(_r0.Pointer()), nil +} + +// Values is MEOS trgeometry_values. +func (x *TRGeometry) Values(count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TrgeometryValues(functions.TemporalFromPointer(x.Pointer()), count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + +// Unnest is MEOS trgeometry_unnest. +func (x *TRGeometry) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TrgeometryUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // ValueN is MEOS trgeometry_value_n. func (x *TRGeometry) ValueN(n int) (*TRGeometrySeqSet, bool, error) { _found, _value, _err := functions.TrgeometryValueN(functions.TemporalFromPointer(x.Pointer()), n) @@ -323,33 +350,6 @@ func (x *TRGeometry) SplitEachNStboxes(elem_count int, count unsafe.Pointer) (*S return STBoxFromPointer(_r0.Pointer()), nil } -// HausdorffDistance is MEOS trgeometry_hausdorff_distance. -func (x *TRGeometry) HausdorffDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TrgeometryHausdorffDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) - if _err != nil { - return 0, _err - } - return _r0, nil -} - -// FrechetDistance is MEOS trgeometry_frechet_distance. -func (x *TRGeometry) FrechetDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TrgeometryFrechetDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) - if _err != nil { - return 0, _err - } - return _r0, nil -} - -// DyntimewarpDistance is MEOS trgeometry_dyntimewarp_distance. -func (x *TRGeometry) DyntimewarpDistance(temp2 *Temporal) (float64, error) { - _r0, _err := functions.TrgeometryDyntimewarpDistance(functions.TemporalFromPointer(x.Pointer()), functions.TemporalFromPointer(temp2.Pointer())) - if _err != nil { - return 0, _err - } - return _r0, nil -} - // Length is MEOS trgeometry_length. func (x *TRGeometry) Length() (float64, error) { _r0, _err := functions.TrgeometryLength(functions.TemporalFromPointer(x.Pointer())) @@ -467,6 +467,42 @@ func (x *TRGeometry) Round(maxdd int) (*Temporal, error) { return TemporalFromPointer(_r0.Pointer()), nil } +// Rotate is MEOS trgeometry_rotate. +func (x *TRGeometry) Rotate(angle float64, x0 float64, y0 float64) (*Temporal, error) { + _r0, _err := functions.TrgeometryRotate(functions.TemporalFromPointer(x.Pointer()), angle, x0, y0) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateX is MEOS trgeometry_rotate_x. +func (x *TRGeometry) RotateX(angle float64) (*Temporal, error) { + _r0, _err := functions.TrgeometryRotateX(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateY is MEOS trgeometry_rotate_y. +func (x *TRGeometry) RotateY(angle float64) (*Temporal, error) { + _r0, _err := functions.TrgeometryRotateY(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + +// RotateZ is MEOS trgeometry_rotate_z. +func (x *TRGeometry) RotateZ(angle float64) (*Temporal, error) { + _r0, _err := functions.TrgeometryRotateZ(functions.TemporalFromPointer(x.Pointer()), angle) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // SetInterp is MEOS trgeometry_set_interp. func (x *TRGeometry) SetInterp(interp functions.Interpolation) (*Temporal, error) { _r0, _err := functions.TrgeometrySetInterp(functions.TemporalFromPointer(x.Pointer()), interp) @@ -476,6 +512,15 @@ func (x *TRGeometry) SetInterp(interp functions.Interpolation) (*Temporal, error return TemporalFromPointer(_r0.Pointer()), nil } +// Translate is MEOS trgeometry_translate. +func (x *TRGeometry) Translate(deltax float64, deltay float64, deltaz float64) (*Temporal, error) { + _r0, _err := functions.TrgeometryTranslate(functions.TemporalFromPointer(x.Pointer()), deltax, deltay, deltaz) + if _err != nil { + return nil, _err + } + return TemporalFromPointer(_r0.Pointer()), nil +} + // AsTinstant is MEOS trgeometry_as_tinstant. func (x *TRGeometry) AsTinstant() (*Temporal, error) { _r0, _err := functions.TrgeometryAsTinstant(functions.TemporalFromPointer(x.Pointer())) @@ -664,21 +709,3 @@ func (x *TRGeometry) MinusTstzspanset(ss *SpanSet) (*Temporal, error) { } return TemporalFromPointer(_r0.Pointer()), nil } - -// AtElevation is MEOS trgeometry_at_elevation. -func (x *TRGeometry) AtElevation(s *Span) (*Temporal, error) { - _r0, _err := functions.TrgeometryAtElevation(functions.TemporalFromPointer(x.Pointer()), functions.SpanFromPointer(s.Pointer())) - if _err != nil { - return nil, _err - } - return TemporalFromPointer(_r0.Pointer()), nil -} - -// MinusElevation is MEOS trgeometry_minus_elevation. -func (x *TRGeometry) MinusElevation(s *Span) (*Temporal, error) { - _r0, _err := functions.TrgeometryMinusElevation(functions.TemporalFromPointer(x.Pointer()), functions.SpanFromPointer(s.Pointer())) - if _err != nil { - return nil, _err - } - return TemporalFromPointer(_r0.Pointer()), nil -} diff --git a/types/tspatial.go b/types/tspatial.go index 2c1641a..656de3e 100644 --- a/types/tspatial.go +++ b/types/tspatial.go @@ -34,6 +34,15 @@ func (x *TSpatial) Out(maxdd int) (string, error) { return _r0, nil } +// AsEWKB is MEOS tspatial_as_ewkb. +func (x *TSpatial) AsEWKB(variant uint8, size_out unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TspatialAsEWKB(functions.TemporalFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AsEWKT is MEOS tspatial_as_ewkt. func (x *TSpatial) AsEWKT(maxdd int) (string, error) { _r0, _err := functions.TspatialAsEWKT(functions.TemporalFromPointer(x.Pointer()), maxdd) @@ -43,6 +52,15 @@ func (x *TSpatial) AsEWKT(maxdd int) (string, error) { return _r0, nil } +// AsHEXEWKB is MEOS tspatial_as_hexewkb. +func (x *TSpatial) AsHEXEWKB(variant uint8, size_out unsafe.Pointer) (string, error) { + _r0, _err := functions.TspatialAsHexewkb(functions.TemporalFromPointer(x.Pointer()), variant, size_out) + if _err != nil { + return "", _err + } + return _r0, nil +} + // AsText is MEOS tspatial_as_text. func (x *TSpatial) AsText(maxdd int) (string, error) { _r0, _err := functions.TspatialAsText(functions.TemporalFromPointer(x.Pointer()), maxdd) diff --git a/types/ttext.go b/types/ttext.go index 641aaf1..2cc70cb 100644 --- a/types/ttext.go +++ b/types/ttext.go @@ -95,6 +95,15 @@ func (x *TText) StartValue() (string, error) { return _r0, nil } +// Value is MEOS ttext_value. +func (x *TText) Value() (string, error) { + _r0, _err := functions.TtextValue(functions.TemporalFromPointer(x.Pointer())) + if _err != nil { + return "", _err + } + return _r0, nil +} + // ValueAtTimestamptz is MEOS ttext_value_at_timestamptz. func (x *TText) ValueAtTimestamptz(t int64, strict bool) (string, bool, error) { _found, _value, _err := functions.TtextValueAtTimestamptz(functions.TemporalFromPointer(x.Pointer()), t, strict) @@ -128,6 +137,15 @@ func (x *TText) Values(count unsafe.Pointer) (unsafe.Pointer, error) { return _r0, nil } +// Unnest is MEOS ttext_unnest. +func (x *TText) Unnest(values unsafe.Pointer, count unsafe.Pointer) (unsafe.Pointer, error) { + _r0, _err := functions.TtextUnnest(functions.TemporalFromPointer(x.Pointer()), values, count) + if _err != nil { + return nil, _err + } + return _r0, nil +} + // AtValue is MEOS ttext_at_value. func (x *TText) AtValue(txt string) (*Temporal, error) { _r0, _err := functions.TtextAtValue(functions.TemporalFromPointer(x.Pointer()), txt) From e7864607ef22c6136a0bcfe5dac7aa8e529a8d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20Zim=C3=A1nyi?= Date: Tue, 27 Oct 2026 15:02:34 +0100 Subject: [PATCH 2/2] Pass NULL for a nil string MEOS accepts as NULL A char * or text * argument the catalog lists in shape.nullable is a *string in the functions package, and nil passes NULL to MEOS; any other string argument stays a string. The types package passes the *string through to the wrapper, so its methods over those functions take it too. Eight wrappers take one: GeoAsEWKB, GeoAsGeojson, GeoAsHexewkb, WKBVariantFromEndian, TemporalAsMFJSON, TrgeometryAsTsequence, TrgeometryAsTsequenceset and MeosSetPointcloudSchemasXml. Witness: ExampleTemporalAsMFJSON_nilSrs writes the MF-JSON of a temporal point with no "crs" member for a nil srs and with "EPSG:4326" for that srs. Measured: against the libmeos of MobilityDB a23e01a60b, the gomeos package runs its 122 examples, the functions and types packages build, the portable-parity test passes, and the types package keeps its 1435 methods with 156 deferred, as with string arguments. Why: MEOS states the arguments it accepts as NULL with the @nullable tag, and a binding that cannot pass NULL to them cannot ask what MEOS answers. --- example_nullable_string_test.go | 30 ++++++++++++++++++++++++++++++ functions/meos_meos.go | 18 ++++++++++++------ functions/meos_meos_geo.go | 27 ++++++++++++++++++--------- functions/meos_meos_pointcloud.go | 9 ++++++--- functions/meos_meos_rgeo.go | 18 ++++++++++++------ tools/codegen.py | 12 ++++++++++++ tools/objectgen.py | 5 ++++- types/geo.go | 6 +++--- types/temporal.go | 2 +- types/trgeometry.go | 4 ++-- 10 files changed, 100 insertions(+), 31 deletions(-) create mode 100644 example_nullable_string_test.go diff --git a/example_nullable_string_test.go b/example_nullable_string_test.go new file mode 100644 index 0000000..2394e45 --- /dev/null +++ b/example_nullable_string_test.go @@ -0,0 +1,30 @@ +package gomeos + +// A string argument MEOS accepts as NULL is a *string in the generated +// package, and nil passes NULL. The MF-JSON of a temporal point names no +// coordinate reference system for a nil srs and names the one given otherwise. +// The value reaches the generated package as #ExampleTemporalFromPointer has it. + +import ( + "fmt" + "strings" + + "github.com/MobilityDB/GoMEOS/functions" +) + +func ExampleTemporalAsMFJSON_nilSrs() { + temp, err := functions.TgeompointIn("[Point(1 1)@2001-01-01, Point(2 2)@2001-01-02]") + if err != nil { + fmt.Println(err) + return + } + none, err := functions.TemporalAsMFJSON(temp, 0, 0, 6, nil) + fmt.Println(strings.Contains(none, `"crs"`), err) + + srs := "EPSG:4326" + named, err := functions.TemporalAsMFJSON(temp, 0, 0, 6, &srs) + fmt.Println(strings.Contains(named, `"EPSG:4326"`), err) + // Output: + // false + // true +} diff --git a/functions/meos_meos.go b/functions/meos_meos.go index 6d5966f..d911fc4 100644 --- a/functions/meos_meos.go +++ b/functions/meos_meos.go @@ -9532,9 +9532,12 @@ func TemporalAsHexwkb(temp *Temporal, variant uint8, size_out unsafe.Pointer) (_ // TemporalAsMFJSON wraps MEOS C function temporal_as_mfjson. -func TemporalAsMFJSON(temp *Temporal, option int, flags int, precision int, srs string) (_r0 string, _err error) { - _c_srs := C.CString(srs) - defer C.free(unsafe.Pointer(_c_srs)) +func TemporalAsMFJSON(temp *Temporal, option int, flags int, precision int, srs *string) (_r0 string, _err error) { + var _c_srs *C.char + if srs != nil { + _c_srs = C.CString(*srs) + defer C.free(unsafe.Pointer(_c_srs)) + } C.meos_errno_reset() _cret := C.temporal_as_mfjson(temp._inner, C.int(option), C.int(flags), C.int(precision), _c_srs) if _err = meosError(); _err != nil { @@ -9557,9 +9560,12 @@ func TemporalAsWKB(temp *Temporal, variant uint8, size_out unsafe.Pointer) (_r0 // WKBVariantFromEndian wraps MEOS C function wkb_variant_from_endian. -func WKBVariantFromEndian(endian string) (_r0 uint8, _err error) { - _c_endian := C.CString(endian) - defer C.free(unsafe.Pointer(_c_endian)) +func WKBVariantFromEndian(endian *string) (_r0 uint8, _err error) { + var _c_endian *C.char + if endian != nil { + _c_endian = C.CString(*endian) + defer C.free(unsafe.Pointer(_c_endian)) + } C.meos_errno_reset() _cret := C.wkb_variant_from_endian(_c_endian) if _err = meosError(); _err != nil { diff --git a/functions/meos_meos_geo.go b/functions/meos_meos_geo.go index e1b1671..a9c1bdf 100644 --- a/functions/meos_meos_geo.go +++ b/functions/meos_meos_geo.go @@ -166,9 +166,12 @@ func GboxOut(box *GBox, maxdd int) (_r0 string, _err error) { // GeoAsEWKB wraps MEOS C function geo_as_ewkb. -func GeoAsEWKB(gs *Geom, endian string, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { - _c_endian := C.CString(endian) - defer C.free(unsafe.Pointer(_c_endian)) +func GeoAsEWKB(gs *Geom, endian *string, size unsafe.Pointer) (_r0 unsafe.Pointer, _err error) { + var _c_endian *C.char + if endian != nil { + _c_endian = C.CString(*endian) + defer C.free(unsafe.Pointer(_c_endian)) + } C.meos_errno_reset() _cret := C.geo_as_ewkb(gs._inner, _c_endian, (*C.size_t)(unsafe.Pointer(size))) if _err = meosError(); _err != nil { @@ -191,9 +194,12 @@ func GeoAsEWKT(gs *Geom, precision int) (_r0 string, _err error) { // GeoAsGeojson wraps MEOS C function geo_as_geojson. -func GeoAsGeojson(gs *Geom, option int, precision int, srs string) (_r0 string, _err error) { - _c_srs := C.CString(srs) - defer C.free(unsafe.Pointer(_c_srs)) +func GeoAsGeojson(gs *Geom, option int, precision int, srs *string) (_r0 string, _err error) { + var _c_srs *C.char + if srs != nil { + _c_srs = C.CString(*srs) + defer C.free(unsafe.Pointer(_c_srs)) + } C.meos_errno_reset() _cret := C.geo_as_geojson(gs._inner, C.int(option), C.int(precision), _c_srs) if _err = meosError(); _err != nil { @@ -205,9 +211,12 @@ func GeoAsGeojson(gs *Geom, option int, precision int, srs string) (_r0 string, // GeoAsHexewkb wraps MEOS C function geo_as_hexewkb. -func GeoAsHexewkb(gs *Geom, endian string) (_r0 string, _err error) { - _c_endian := C.CString(endian) - defer C.free(unsafe.Pointer(_c_endian)) +func GeoAsHexewkb(gs *Geom, endian *string) (_r0 string, _err error) { + var _c_endian *C.char + if endian != nil { + _c_endian = C.CString(*endian) + defer C.free(unsafe.Pointer(_c_endian)) + } C.meos_errno_reset() _cret := C.geo_as_hexewkb(gs._inner, _c_endian) if _err = meosError(); _err != nil { diff --git a/functions/meos_meos_pointcloud.go b/functions/meos_meos_pointcloud.go index 66428ef..889b3a1 100644 --- a/functions/meos_meos_pointcloud.go +++ b/functions/meos_meos_pointcloud.go @@ -383,9 +383,12 @@ func MeosPcSchemaNdims(pcid uint32) (_r0 int32, _err error) { // MeosSetPointcloudSchemasXml wraps MEOS C function meos_set_pointcloud_schemas_xml. -func MeosSetPointcloudSchemasXml(path string) (_err error) { - _c_path := C.CString(path) - defer C.free(unsafe.Pointer(_c_path)) +func MeosSetPointcloudSchemasXml(path *string) (_err error) { + var _c_path *C.char + if path != nil { + _c_path = C.CString(*path) + defer C.free(unsafe.Pointer(_c_path)) + } C.meos_errno_reset() C.meos_set_pointcloud_schemas_xml(_c_path) if _err = meosError(); _err != nil { diff --git a/functions/meos_meos_rgeo.go b/functions/meos_meos_rgeo.go index bfc273c..84db804 100644 --- a/functions/meos_meos_rgeo.go +++ b/functions/meos_meos_rgeo.go @@ -806,9 +806,12 @@ func TrgeometryAsTinstant(temp *Temporal) (_r0 *TInstant, _err error) { // TrgeometryAsTsequence wraps MEOS C function trgeometry_as_tsequence. -func TrgeometryAsTsequence(temp *Temporal, interp_str string) (_r0 *TSequence, _err error) { - _c_interp_str := C.CString(interp_str) - defer C.free(unsafe.Pointer(_c_interp_str)) +func TrgeometryAsTsequence(temp *Temporal, interp_str *string) (_r0 *TSequence, _err error) { + var _c_interp_str *C.char + if interp_str != nil { + _c_interp_str = C.CString(*interp_str) + defer C.free(unsafe.Pointer(_c_interp_str)) + } C.meos_errno_reset() _cret := C.trgeometry_as_tsequence(temp._inner, _c_interp_str) if _err = meosError(); _err != nil { @@ -819,9 +822,12 @@ func TrgeometryAsTsequence(temp *Temporal, interp_str string) (_r0 *TSequence, _ // TrgeometryAsTsequenceset wraps MEOS C function trgeometry_as_tsequenceset. -func TrgeometryAsTsequenceset(temp *Temporal, interp_str string) (_r0 *TSequenceSet, _err error) { - _c_interp_str := C.CString(interp_str) - defer C.free(unsafe.Pointer(_c_interp_str)) +func TrgeometryAsTsequenceset(temp *Temporal, interp_str *string) (_r0 *TSequenceSet, _err error) { + var _c_interp_str *C.char + if interp_str != nil { + _c_interp_str = C.CString(*interp_str) + defer C.free(unsafe.Pointer(_c_interp_str)) + } C.meos_errno_reset() _cret := C.trgeometry_as_tsequenceset(temp._inner, _c_interp_str) if _err = meosError(); _err != nil { diff --git a/tools/codegen.py b/tools/codegen.py index efab628..5e25411 100644 --- a/tools/codegen.py +++ b/tools/codegen.py @@ -679,6 +679,7 @@ def emit_function(entry: dict) -> EmittedFunc: # not the canonical ``result`` / ``value``. Carry the set down to # ``_classify_param`` via a closure-friendly local override. named_outputs = set(shape.get("namedOutputs", [])) + nullable = set(shape.get("nullable", [])) # ``shape.arrayInputGroup`` describes N parallel input arrays that share # one count. We hand-roll a separate emission path for these because @@ -932,6 +933,17 @@ def classify_one(p, i): go_args.append(f"{pname} {go_t}") if c_cast is None: inner_args.append(pname) + elif go_t == "string" and p["name"] in nullable: + # A string MEOS accepts as NULL (``shape.nullable``) is a *string, and nil + # passes NULL. + go_args[-1] = f"{pname} *string" + local = f"_c_{pname}" + deferred.append(f"var {local} *C.{base}") + deferred.append(f"if {pname} != nil {{") + deferred.append(f"\t{local} = {c_cast.replace('$x', '*' + pname)}") + deferred.append(f"\tdefer C.free(unsafe.Pointer({local}))") + deferred.append("}") + inner_args.append(local) else: cast_expr = c_cast.replace("$x", pname) if go_t == "string": diff --git a/tools/objectgen.py b/tools/objectgen.py index 4c0c565..2cbe4bd 100644 --- a/tools/objectgen.py +++ b/tools/objectgen.py @@ -205,7 +205,10 @@ def class_of_handle(self, go_type: str) -> str | None: return self.m.class_for_ctype(struct) if struct else None def passthrough(self, go_type: str) -> bool: - return go_type in self.scalars or go_type in ("string", "bool", "unsafe.Pointer") + # A string the flat wrapper takes as *string is one MEOS accepts as NULL, and + # its nil reaches the wrapper unchanged; #qualify spells it as it stands + return go_type in self.scalars or go_type in ("string", "*string", "bool", + "unsafe.Pointer") def qualify(self, go_type: str) -> str: """A passthrough type as this package must spell it. diff --git a/types/geo.go b/types/geo.go index 691dec4..e24620f 100644 --- a/types/geo.go +++ b/types/geo.go @@ -24,7 +24,7 @@ func GeoFromPointer(p unsafe.Pointer) *Geo { } // GeoAsEWKB is MEOS geo_as_ewkb. -func GeoAsEWKB(gs *TRGeometrySeqSet, endian string, size unsafe.Pointer) (unsafe.Pointer, error) { +func GeoAsEWKB(gs *TRGeometrySeqSet, endian *string, size unsafe.Pointer) (unsafe.Pointer, error) { _r0, _err := functions.GeoAsEWKB(functions.GeomFromPointer(gs.Pointer()), endian, size) if _err != nil { return nil, _err @@ -42,7 +42,7 @@ func GeoAsEWKT(gs *TRGeometrySeqSet, precision int) (string, error) { } // GeoAsGEOJSON is MEOS geo_as_geojson. -func GeoAsGEOJSON(gs *TRGeometrySeqSet, option int, precision int, srs string) (string, error) { +func GeoAsGEOJSON(gs *TRGeometrySeqSet, option int, precision int, srs *string) (string, error) { _r0, _err := functions.GeoAsGeojson(functions.GeomFromPointer(gs.Pointer()), option, precision, srs) if _err != nil { return "", _err @@ -51,7 +51,7 @@ func GeoAsGEOJSON(gs *TRGeometrySeqSet, option int, precision int, srs string) ( } // GeoAsHEXEWKB is MEOS geo_as_hexewkb. -func GeoAsHEXEWKB(gs *TRGeometrySeqSet, endian string) (string, error) { +func GeoAsHEXEWKB(gs *TRGeometrySeqSet, endian *string) (string, error) { _r0, _err := functions.GeoAsHexewkb(functions.GeomFromPointer(gs.Pointer()), endian) if _err != nil { return "", _err diff --git a/types/temporal.go b/types/temporal.go index 7566496..aa17ff8 100644 --- a/types/temporal.go +++ b/types/temporal.go @@ -35,7 +35,7 @@ func (x *Temporal) AsHEXWKB(variant uint8, size_out unsafe.Pointer) (string, err } // AsMFJSON is MEOS temporal_as_mfjson. -func (x *Temporal) AsMFJSON(option int, flags int, precision int, srs string) (string, error) { +func (x *Temporal) AsMFJSON(option int, flags int, precision int, srs *string) (string, error) { _r0, _err := functions.TemporalAsMFJSON(functions.TemporalFromPointer(x.Pointer()), option, flags, precision, srs) if _err != nil { return "", _err diff --git a/types/trgeometry.go b/types/trgeometry.go index 969bd0d..ae0c9c7 100644 --- a/types/trgeometry.go +++ b/types/trgeometry.go @@ -531,7 +531,7 @@ func (x *TRGeometry) AsTinstant() (*Temporal, error) { } // AsTsequence is MEOS trgeometry_as_tsequence. -func (x *TRGeometry) AsTsequence(interp_str string) (*Temporal, error) { +func (x *TRGeometry) AsTsequence(interp_str *string) (*Temporal, error) { _r0, _err := functions.TrgeometryAsTsequence(functions.TemporalFromPointer(x.Pointer()), interp_str) if _err != nil { return nil, _err @@ -540,7 +540,7 @@ func (x *TRGeometry) AsTsequence(interp_str string) (*Temporal, error) { } // AsTsequenceset is MEOS trgeometry_as_tsequenceset. -func (x *TRGeometry) AsTsequenceset(interp_str string) (*Temporal, error) { +func (x *TRGeometry) AsTsequenceset(interp_str *string) (*Temporal, error) { _r0, _err := functions.TrgeometryAsTsequenceset(functions.TemporalFromPointer(x.Pointer()), interp_str) if _err != nil { return nil, _err