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 0977084..d911fc4 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,14 @@ 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) { - _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.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 } @@ -9194,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 { @@ -9206,6 +9575,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 +10225,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 +10271,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 +10403,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 +10613,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 +10668,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 +10714,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 +10824,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 +10905,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 +10927,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 +11026,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 +11072,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 +11094,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 +11457,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 +11890,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 +15651,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 +15662,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 +15684,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 +15706,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 +15783,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 +15860,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 +15871,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 +15882,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 +15893,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 +15904,10 @@ 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 } @@ -15324,10 +15915,21 @@ 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) { +// 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_tsum_combinefn(state1._inner, state2._inner) + _cret := C.tfloat_tmin_transfn(state._inner, temp._inner) + if _err = meosError(); _err != nil { + return + } + return &SkipList{_inner: _cret}, nil +} + + +// 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_transfn(state._inner, temp._inner) if _err = meosError(); _err != nil { return } @@ -15390,17 +15992,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 +16003,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 +16014,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 +16047,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 +16102,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 +16190,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 +16201,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 +16246,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 +16257,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 +16268,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 +16279,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 +16290,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 +16301,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 +16312,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 +16323,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 +16334,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 +16356,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 +16367,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 +16443,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 +16532,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 +16543,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 +16554,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 +16565,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 +16576,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 +16587,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 +16598,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 +16609,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 +16620,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 +16631,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 +16642,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 +16653,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 +16664,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 +16675,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 +16686,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 +16697,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 +16708,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..a9c1bdf 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 @@ -160,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 { @@ -185,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 { @@ -199,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 { @@ -274,11 +289,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 +315,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 +439,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 +616,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 +638,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 +704,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 +793,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 +994,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 +1016,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 +1049,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 +1126,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 +1170,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 +1327,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 +1393,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 +1415,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 +1509,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 +1532,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 +1566,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 +1721,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 +1789,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 +2710,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 +2837,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 +2860,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 +3082,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 +3126,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 +3195,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 +3249,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 +3295,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 +3329,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 +3396,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 +3407,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 +3440,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, 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_affine(temp._inner, a._inner) + _cret := C.tgeo_rotate_z(temp._inner, C.double(angle)) if _err = meosError(); _err != nil { return } @@ -2975,9 +3506,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, scale._inner, sorigin._inner) + _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_transscale(temp._inner, C.double(deltax), C.double(deltay), C.double(xfactor), C.double(yfactor)) if _err = meosError(); _err != nil { return } @@ -3372,6 +3936,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 +4773,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 +4784,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 +4795,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 +4993,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 +5004,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 +5015,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 +5213,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 +5224,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 +5235,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 +5312,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 +5323,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 +5400,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 +5444,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 +5455,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 +5466,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 +5477,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 +5499,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 +5510,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 +5521,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 +5532,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 +5543,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 +5554,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 +5565,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 +5575,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 +5586,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 +5619,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 +5707,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..889b3a1 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 } @@ -366,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 { @@ -378,6 +398,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 +657,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 +1138,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 +1234,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 +1256,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 +1607,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 +1838,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 +2091,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 +2125,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 +2170,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 +2258,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 +2292,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,8 +2337,52 @@ 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.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 { @@ -2500,6 +2898,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..84db804 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() @@ -756,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 { @@ -769,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 { @@ -1034,28 +1090,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 +1244,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/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/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..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 @@ -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..aa17ff8 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..ae0c9c7 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())) @@ -486,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 @@ -495,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 @@ -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)