gps_pvt 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1913,9 +1913,10 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1913
1913
  #define SWIGTYPE_p_u32_t swig_types[63]
1914
1914
  #define SWIGTYPE_p_u8_t swig_types[64]
1915
1915
  #define SWIGTYPE_p_uint_t swig_types[65]
1916
- #define SWIGTYPE_p_xyz_t swig_types[66]
1917
- static swig_type_info *swig_types[68];
1918
- static swig_module_info swig_module = {swig_types, 67, 0, 0, 0, 0};
1916
+ #define SWIGTYPE_p_unsigned_int swig_types[66]
1917
+ #define SWIGTYPE_p_xyz_t swig_types[67]
1918
+ static swig_type_info *swig_types[69];
1919
+ static swig_module_info swig_module = {swig_types, 68, 0, 0, 0, 0};
1919
1920
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1920
1921
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1921
1922
 
@@ -2360,6 +2361,11 @@ struct GPS_Ephemeris : public GPS_SpaceNode<FloatT>::SatelliteProperties::Epheme
2360
2361
  || (this->iode != this->iode_subframe3)
2361
2362
  || ((this->iodc & 0xFF) != this->iode));
2362
2363
  }
2364
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2365
+ return is_consistent() && GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2366
+ }
2367
+ GPS_Time<FloatT> t_clock() const {return GPS_Time<FloatT>(this->WN, this->t_oc);}
2368
+ GPS_Time<FloatT> t_ephemeris() const {return GPS_Time<FloatT>(this->WN, this->t_oe);}
2363
2369
  GPS_Ephemeris() : GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {
2364
2370
  invalidate();
2365
2371
  }
@@ -2381,6 +2387,10 @@ struct SBAS_Ephemeris : public SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephe
2381
2387
  SBAS_Ephemeris() : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {}
2382
2388
  SBAS_Ephemeris(const typename SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris &eph)
2383
2389
  : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris(eph) {}
2390
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2391
+ return SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2392
+ }
2393
+ GPS_Time<FloatT> t_applicable() const {return GPS_Time<FloatT>(this->WN, this->t_0);}
2384
2394
  };
2385
2395
 
2386
2396
 
@@ -2397,6 +2407,9 @@ struct GLONASS_Ephemeris
2397
2407
  bool is_consistent() const {
2398
2408
  return has_string == 0x1F;
2399
2409
  }
2410
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2411
+ return is_consistent() && eph_t::is_valid(t);
2412
+ }
2400
2413
  GLONASS_Ephemeris() : eph_t() {
2401
2414
  invalidate();
2402
2415
  }
@@ -2600,6 +2613,42 @@ struct GPS_RangeCorrector
2600
2613
  };
2601
2614
 
2602
2615
 
2616
+ template <class BaseT, class HookT>
2617
+ struct HookableSolver : public BaseT {
2618
+ typedef BaseT base_t;
2619
+ HookT *hook;
2620
+ HookableSolver(const BaseT &base) : BaseT(base), hook(NULL) {}
2621
+ virtual typename base_t::relative_property_t relative_property(
2622
+ const typename base_t::prn_t &prn,
2623
+ const typename base_t::measurement_t::mapped_type &measurement,
2624
+ const typename base_t::float_t &receiver_error,
2625
+ const typename base_t::gps_time_t &time_arrival,
2626
+ const typename base_t::pos_t &usr_pos,
2627
+ const typename base_t::xyz_t &usr_vel) const {
2628
+ typename base_t::relative_property_t res(
2629
+ base_t::relative_property(
2630
+ prn, measurement, receiver_error, time_arrival,
2631
+ usr_pos, usr_vel));
2632
+ if(hook){
2633
+ res = hook->relative_property(
2634
+ prn, measurement, receiver_error, time_arrival,
2635
+ usr_pos, usr_vel,
2636
+ res);
2637
+ }
2638
+ return res;
2639
+ }
2640
+ virtual typename base_t::satellite_t select_satellite(
2641
+ const typename base_t::prn_t &prn,
2642
+ const typename base_t::gps_time_t &time) const {
2643
+ typename base_t::satellite_t res(base_t::select_satellite(prn, time));
2644
+ if(hook){
2645
+ res = hook->select_satellite(prn, time, res);
2646
+ }
2647
+ return res;
2648
+ }
2649
+ };
2650
+
2651
+
2603
2652
  template <class FloatT>
2604
2653
  struct GPS_Solver
2605
2654
  : public GPS_Solver_RAIM_LSR<FloatT,
@@ -2610,7 +2659,7 @@ struct GPS_Solver
2610
2659
  struct gps_t {
2611
2660
  GPS_SpaceNode<FloatT> space_node;
2612
2661
  GPS_SolverOptions<FloatT> options;
2613
- GPS_SinglePositioning<FloatT> solver;
2662
+ HookableSolver<GPS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2614
2663
  struct ephemeris_proxy_t {
2615
2664
  struct item_t {
2616
2665
  const void *impl;
@@ -2632,19 +2681,19 @@ struct GPS_Solver
2632
2681
  solver.satellites.impl_select = forward;
2633
2682
  }
2634
2683
  } ephemeris_proxy;
2635
- gps_t() : space_node(), options(), solver(space_node), ephemeris_proxy(solver) {}
2684
+ gps_t() : space_node(), options(), solver(GPS_SinglePositioning<FloatT>(space_node)), ephemeris_proxy(solver) {}
2636
2685
  } gps;
2637
2686
  struct sbas_t {
2638
2687
  SBAS_SpaceNode<FloatT> space_node;
2639
2688
  SBAS_SolverOptions<FloatT> options;
2640
- SBAS_SinglePositioning<FloatT> solver;
2641
- sbas_t() : space_node(), options(), solver(space_node) {}
2689
+ HookableSolver<SBAS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2690
+ sbas_t() : space_node(), options(), solver(SBAS_SinglePositioning<FloatT>(space_node)) {}
2642
2691
  } sbas;
2643
2692
  struct glonass_t {
2644
2693
  GLONASS_SpaceNode<FloatT> space_node;
2645
2694
  GLONASS_SolverOptions<FloatT> options;
2646
- GLONASS_SinglePositioning<FloatT> solver;
2647
- glonass_t() : space_node(), options(), solver(space_node) {}
2695
+ HookableSolver<GLONASS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2696
+ glonass_t() : space_node(), options(), solver(GLONASS_SinglePositioning<FloatT>(space_node)) {}
2648
2697
  } glonass;
2649
2698
  VALUE hooks;
2650
2699
  typedef std::vector<GPS_RangeCorrector<FloatT> > user_correctors_t;
@@ -2679,6 +2728,9 @@ struct GPS_Solver
2679
2728
  = sbas.solver.tropospheric_correction
2680
2729
  = glonass.solver.tropospheric_correction
2681
2730
  = tropospheric;
2731
+ gps.solver.hook = this;
2732
+ sbas.solver.hook = this;
2733
+ glonass.solver.hook = this;
2682
2734
  }
2683
2735
  GPS_SpaceNode<FloatT> &gps_space_node() {return gps.space_node;}
2684
2736
  GPS_SolverOptions<FloatT> &gps_options() {return gps.options;}
@@ -2686,28 +2738,44 @@ struct GPS_Solver
2686
2738
  SBAS_SolverOptions<FloatT> &sbas_options() {return sbas.options;}
2687
2739
  GLONASS_SpaceNode<FloatT> &glonass_space_node() {return glonass.space_node;}
2688
2740
  GLONASS_SolverOptions<FloatT> &glonass_options() {return glonass.options;}
2689
- const base_t &select_solver(
2741
+ const base_t &select(
2690
2742
  const typename base_t::prn_t &prn) const {
2691
2743
  if(prn > 0 && prn <= 32){return gps.solver;}
2692
2744
  if(prn >= 120 && prn <= 158){return sbas.solver;}
2693
2745
  if(prn > 192 && prn <= 202){return gps.solver;}
2694
2746
  if(prn > 0x100 && prn <= (0x100 + 24)){return glonass.solver;}
2695
- // call order: base_t::solve => this returned by select()
2696
- // => relative_property() => select_solver()
2697
- // For not supported satellite, call loop prevention is required.
2698
- static const base_t dummy;
2699
- return dummy;
2747
+ return *this;
2700
2748
  }
2749
+ // proxy of virtual functions
2750
+ typename base_t::relative_property_t relative_property(
2751
+ const typename base_t::prn_t &prn,
2752
+ const typename base_t::measurement_t::mapped_type &measurement,
2753
+ const typename base_t::float_t &receiver_error,
2754
+ const typename base_t::gps_time_t &time_arrival,
2755
+ const typename base_t::pos_t &usr_pos,
2756
+ const typename base_t::xyz_t &usr_vel,
2757
+ const typename base_t::relative_property_t &orig) const;
2701
2758
  virtual typename base_t::relative_property_t relative_property(
2702
2759
  const typename base_t::prn_t &prn,
2703
2760
  const typename base_t::measurement_t::mapped_type &measurement,
2704
2761
  const typename base_t::float_t &receiver_error,
2705
2762
  const typename base_t::gps_time_t &time_arrival,
2706
2763
  const typename base_t::pos_t &usr_pos,
2707
- const typename base_t::xyz_t &usr_vel) const;
2764
+ const typename base_t::xyz_t &usr_vel) const {
2765
+ return relative_property(
2766
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel,
2767
+ super_t::relative_property(
2768
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel));
2769
+ }
2770
+ typename base_t::satellite_t select_satellite(
2771
+ const typename base_t::prn_t &prn,
2772
+ const typename base_t::gps_time_t &time,
2773
+ const typename base_t::satellite_t &orig) const;
2708
2774
  virtual typename base_t::satellite_t select_satellite(
2709
2775
  const typename base_t::prn_t &prn,
2710
- const typename base_t::gps_time_t &time) const;
2776
+ const typename base_t::gps_time_t &time) const {
2777
+ return select_satellite(prn, time, super_t::select_satellite(prn, time));
2778
+ }
2711
2779
  virtual bool update_position_solution(
2712
2780
  const typename base_t::geometric_matrices_t &geomat,
2713
2781
  typename base_t::user_pvt_t &res) const;
@@ -3565,6 +3633,13 @@ SWIGINTERN GPS_Ionospheric_UTC_Parameters< double > GPS_Ionospheric_UTC_Paramete
3565
3633
  (typename GPS_SpaceNode<double>::Ionospheric_UTC_Parameters &)res = raw;
3566
3634
  return res;
3567
3635
  }
3636
+ SWIGINTERN void GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(GPS_Ionospheric_UTC_Parameters< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t){
3637
+ typedef typename GPS_SpaceNode<double>
3638
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3639
+ dump_t::how_set(buf_brdc, t);
3640
+ GPS_SpaceNode<double>::Ionospheric_UTC_Parameters::raw_t raw;
3641
+ (raw = *self).dump<2, 0>(buf_brdc);
3642
+ }
3568
3643
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_svid(GPS_Ephemeris< double > *self,unsigned int const &v){
3569
3644
  return self->svid = v;
3570
3645
  }
@@ -3577,10 +3652,10 @@ SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_WN(GPS_Ephemeris< double
3577
3652
  SWIGINTERN unsigned int const &GPS_Ephemeris_Sl_double_Sg__get_WN(GPS_Ephemeris< double > const *self){
3578
3653
  return self->WN;
3579
3654
  }
3580
- SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,int const &v){
3655
+ SWIGINTERN double GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,double const &v){
3581
3656
  return self->URA = v;
3582
3657
  }
3583
- SWIGINTERN int const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3658
+ SWIGINTERN double const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3584
3659
  return self->URA;
3585
3660
  }
3586
3661
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_SV_health(GPS_Ephemeris< double > *self,unsigned int const &v){
@@ -3783,6 +3858,62 @@ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__parse(GPS_Ephemeris< double > *self,
3783
3858
  break;
3784
3859
  }
3785
3860
  }
3861
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump(GPS_Ephemeris< double > *self,unsigned int buf_sf1[10],unsigned int buf_sf2[10],unsigned int buf_sf3[10],GPS_Time< double > const &t){
3862
+ typedef typename GPS_SpaceNode<double>
3863
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3864
+ GPS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
3865
+ raw = *self;
3866
+ unsigned int *buf[10] = {buf_sf1, buf_sf2, buf_sf3};
3867
+ for(int i(0); i < 3; ++i){
3868
+ dump_t::how_set(buf[i], t);
3869
+ raw.dump<2, 0>(buf[i], i + 1);
3870
+ }
3871
+ }
3872
+ SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__parse_almanac(GPS_Ephemeris< double > *self,unsigned int const buf[10]){
3873
+ typedef GPS_SpaceNode<double>::BroadcastedMessage<unsigned int, 30> parse_t;
3874
+ switch(parse_t::subframe_id(buf)){
3875
+ case 4:
3876
+ case 5:
3877
+ break;
3878
+ default: return -1;
3879
+ }
3880
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3881
+ almanac_t::raw_t raw;
3882
+ switch(parse_t::data_id(buf)){
3883
+ case 1: // GPS
3884
+ raw.update<2, 0>(buf);
3885
+ if((raw.svid < 1) || (raw.svid > 32)){return -1;}
3886
+ break;
3887
+ case 3: // QZSS
3888
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3889
+ .update<2, 0>(buf);
3890
+ if((raw.svid < 193) || (raw.svid > 202)){return -1;}
3891
+ break;
3892
+ default:
3893
+ return -1;
3894
+ }
3895
+ almanac_t almanac;
3896
+ *self = (GPS_SpaceNode<double>::SatelliteProperties::Ephemeris)(almanac = raw);
3897
+ return self->svid;
3898
+ }
3899
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(GPS_Ephemeris< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t,unsigned int const &qzss_subframe=0){
3900
+ typedef typename GPS_SpaceNode<double>
3901
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3902
+ dump_t::how_set(buf_brdc, t);
3903
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3904
+ almanac_t almanac;
3905
+ almanac_t::raw_t raw;
3906
+ raw = (almanac = *self);
3907
+ switch(qzss_subframe){
3908
+ case 4:
3909
+ case 5:
3910
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3911
+ .dump<2, 0>(buf_brdc, qzss_subframe);
3912
+ break;
3913
+ default:
3914
+ raw.dump<2, 0>(buf_brdc);
3915
+ }
3916
+ }
3786
3917
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GPS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GPS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
3787
3918
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
3788
3919
  self->constellation(t_tx, dt_transit, true));
@@ -3934,14 +4065,12 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
3934
4065
  const GPS_Solver<double>::base_t::float_t &receiver_error,
3935
4066
  const GPS_Solver<double>::base_t::gps_time_t &time_arrival,
3936
4067
  const GPS_Solver<double>::base_t::pos_t &usr_pos,
3937
- const GPS_Solver<double>::base_t::xyz_t &usr_vel) const {
4068
+ const GPS_Solver<double>::base_t::xyz_t &usr_vel,
4069
+ const GPS_Solver<double>::base_t::relative_property_t &res_orig) const {
3938
4070
  union {
3939
4071
  base_t::relative_property_t prop;
3940
4072
  double values[7];
3941
- } res = {
3942
- select_solver(prn).relative_property(
3943
- prn, measurement, receiver_error, time_arrival,
3944
- usr_pos, usr_vel)};
4073
+ } res = {res_orig};
3945
4074
 
3946
4075
  do{
3947
4076
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4021,9 +4150,9 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
4021
4150
  template <>
4022
4151
  GPS_Solver<double>::base_t::satellite_t GPS_Solver<double>::select_satellite(
4023
4152
  const GPS_Solver<double>::base_t::prn_t &prn,
4024
- const GPS_Solver<double>::base_t::gps_time_t &time) const {
4025
- GPS_Solver<double>::base_t::satellite_t res(
4026
- select_solver(prn).select_satellite(prn, time));
4153
+ const GPS_Solver<double>::base_t::gps_time_t &time,
4154
+ const GPS_Solver<double>::base_t::satellite_t &res_orig) const {
4155
+ GPS_Solver<double>::base_t::satellite_t res(res_orig);
4027
4156
 
4028
4157
  if(!res.is_available()){
4029
4158
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4280,6 +4409,12 @@ SWIGINTERN double SBAS_Ephemeris_Sl_double_Sg__set_a_Gf1(SBAS_Ephemeris< double
4280
4409
  SWIGINTERN double const &SBAS_Ephemeris_Sl_double_Sg__get_a_Gf1(SBAS_Ephemeris< double > const *self){
4281
4410
  return self->a_Gf1;
4282
4411
  }
4412
+ SWIGINTERN void SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(SBAS_Ephemeris< double > *self,unsigned int buf_brdc[8],unsigned int const &preamble_idx=0){
4413
+ SBAS_SpaceNode<double>::DataBlock::preamble_set2(buf_brdc, preamble_idx);
4414
+ SBAS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
4415
+ (raw = *self).dump(buf_brdc);
4416
+ SBAS_SpaceNode<double>::DataBlock::parity_set(buf_brdc);
4417
+ }
4283
4418
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t SBAS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(SBAS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0,bool const &with_velocity=true){
4284
4419
  typename SBAS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4285
4420
  self->constellation(t_tx, dt_transit, with_velocity));
@@ -4543,6 +4678,15 @@ SWIGINTERN bool GLONASS_Ephemeris_Sl_double_Sg__parse__SWIG_0(GLONASS_Ephemeris<
4543
4678
  self->has_string = has_string;
4544
4679
  return updated;
4545
4680
  }
4681
+ SWIGINTERN void GLONASS_Ephemeris_Sl_double_Sg__dump(GLONASS_Ephemeris< double > *self,unsigned int buf_str1[3],unsigned int buf_str2[3],unsigned int buf_str3[3],unsigned int buf_str4[3],unsigned int buf_str5[3],GPS_Time< double > const &t){
4682
+ typename GLONASS_Ephemeris<double>::eph_t::raw_t raw;
4683
+ raw = *self;
4684
+ unsigned int *buf[4] = {buf_str1, buf_str2, buf_str3, buf_str4};
4685
+ for(int i(0); i < 4; ++i){
4686
+ raw.GLONASS_Ephemeris<double>::Ephemeris::raw_t::dump<0, 0>(buf[i], i + 1);
4687
+ }
4688
+ raw.GLONASS_Ephemeris<double>::TimeProperties::raw_t::dump<0, 0>(buf_str5);
4689
+ }
4546
4690
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GLONASS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GLONASS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
4547
4691
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4548
4692
  self->constellation(t_tx, dt_transit));
@@ -10872,6 +11016,67 @@ fail:
10872
11016
  }
10873
11017
 
10874
11018
 
11019
+ /*
11020
+ Document-method: GPS_PVT::GPS::Ionospheric_UTC_Parameters.dump
11021
+
11022
+ call-seq:
11023
+ dump(Time t)
11024
+
11025
+ An instance method.
11026
+
11027
+ */
11028
+ SWIGINTERN VALUE
11029
+ _wrap_Ionospheric_UTC_Parameters_dump(int argc, VALUE *argv, VALUE self) {
11030
+ GPS_Ionospheric_UTC_Parameters< double > *arg1 = (GPS_Ionospheric_UTC_Parameters< double > *) 0 ;
11031
+ unsigned int *arg2 ;
11032
+ GPS_Time< double > *arg3 = 0 ;
11033
+ void *argp1 = 0 ;
11034
+ int res1 = 0 ;
11035
+ unsigned int temp2[10] = {
11036
+ 0
11037
+ } ;
11038
+ void *argp3 ;
11039
+ int res3 = 0 ;
11040
+ VALUE vresult = Qnil;
11041
+
11042
+ arg2 = temp2;
11043
+ if ((argc < 1) || (argc > 1)) {
11044
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11045
+ }
11046
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_Ionospheric_UTC_ParametersT_double_t, 0 | 0 );
11047
+ if (!SWIG_IsOK(res1)) {
11048
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ionospheric_UTC_Parameters< double > *","dump", 1, self ));
11049
+ }
11050
+ arg1 = reinterpret_cast< GPS_Ionospheric_UTC_Parameters< double > * >(argp1);
11051
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11052
+ if (!SWIG_IsOK(res3)) {
11053
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 3, argv[0] ));
11054
+ }
11055
+ if (!argp3) {
11056
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 3, argv[0]));
11057
+ }
11058
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
11059
+ {
11060
+ try {
11061
+ GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(arg1,arg2,(GPS_Time< double > const &)*arg3);
11062
+ } catch (const native_exception &e) {
11063
+ e.regenerate();
11064
+ SWIG_fail;
11065
+ } catch (const std::exception& e) {
11066
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11067
+ }
11068
+ }
11069
+ {
11070
+ for(int i(0); i < 10; ++i){
11071
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
11072
+ }
11073
+ }
11074
+ return vresult;
11075
+ fail:
11076
+ return Qnil;
11077
+ }
11078
+
11079
+
10875
11080
  SWIGINTERN VALUE
10876
11081
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10877
11082
  _wrap_Ionospheric_UTC_Parameters_allocate(VALUE self)
@@ -11087,6 +11292,143 @@ fail:
11087
11292
  }
11088
11293
 
11089
11294
 
11295
+ /*
11296
+ Document-method: GPS_PVT::GPS::Ephemeris.valid?
11297
+
11298
+ call-seq:
11299
+ valid?(Time t) -> bool
11300
+
11301
+ An instance method.
11302
+
11303
+ */
11304
+ SWIGINTERN VALUE
11305
+ _wrap_Ephemeris_validq___(int argc, VALUE *argv, VALUE self) {
11306
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11307
+ GPS_Time< double > *arg2 = 0 ;
11308
+ void *argp1 = 0 ;
11309
+ int res1 = 0 ;
11310
+ void *argp2 ;
11311
+ int res2 = 0 ;
11312
+ bool result;
11313
+ VALUE vresult = Qnil;
11314
+
11315
+ if ((argc < 1) || (argc > 1)) {
11316
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11317
+ }
11318
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11319
+ if (!SWIG_IsOK(res1)) {
11320
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","is_valid", 1, self ));
11321
+ }
11322
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11323
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11324
+ if (!SWIG_IsOK(res2)) {
11325
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
11326
+ }
11327
+ if (!argp2) {
11328
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
11329
+ }
11330
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
11331
+ {
11332
+ try {
11333
+ result = (bool)((GPS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
11334
+ } catch (const native_exception &e) {
11335
+ e.regenerate();
11336
+ SWIG_fail;
11337
+ } catch (const std::exception& e) {
11338
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11339
+ }
11340
+ }
11341
+ vresult = SWIG_From_bool(static_cast< bool >(result));
11342
+ return vresult;
11343
+ fail:
11344
+ return Qnil;
11345
+ }
11346
+
11347
+
11348
+ /*
11349
+ Document-method: GPS_PVT::GPS::Ephemeris.t_clock
11350
+
11351
+ call-seq:
11352
+ t_clock -> Time
11353
+
11354
+ An instance method.
11355
+
11356
+ */
11357
+ SWIGINTERN VALUE
11358
+ _wrap_Ephemeris_t_clock(int argc, VALUE *argv, VALUE self) {
11359
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11360
+ void *argp1 = 0 ;
11361
+ int res1 = 0 ;
11362
+ GPS_Time< double > result;
11363
+ VALUE vresult = Qnil;
11364
+
11365
+ if ((argc < 0) || (argc > 0)) {
11366
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11367
+ }
11368
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11369
+ if (!SWIG_IsOK(res1)) {
11370
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_clock", 1, self ));
11371
+ }
11372
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11373
+ {
11374
+ try {
11375
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_clock();
11376
+ } catch (const native_exception &e) {
11377
+ e.regenerate();
11378
+ SWIG_fail;
11379
+ } catch (const std::exception& e) {
11380
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11381
+ }
11382
+ }
11383
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11384
+ return vresult;
11385
+ fail:
11386
+ return Qnil;
11387
+ }
11388
+
11389
+
11390
+ /*
11391
+ Document-method: GPS_PVT::GPS::Ephemeris.t_ephemeris
11392
+
11393
+ call-seq:
11394
+ t_ephemeris -> Time
11395
+
11396
+ An instance method.
11397
+
11398
+ */
11399
+ SWIGINTERN VALUE
11400
+ _wrap_Ephemeris_t_ephemeris(int argc, VALUE *argv, VALUE self) {
11401
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11402
+ void *argp1 = 0 ;
11403
+ int res1 = 0 ;
11404
+ GPS_Time< double > result;
11405
+ VALUE vresult = Qnil;
11406
+
11407
+ if ((argc < 0) || (argc > 0)) {
11408
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11409
+ }
11410
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11411
+ if (!SWIG_IsOK(res1)) {
11412
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_ephemeris", 1, self ));
11413
+ }
11414
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11415
+ {
11416
+ try {
11417
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_ephemeris();
11418
+ } catch (const native_exception &e) {
11419
+ e.regenerate();
11420
+ SWIG_fail;
11421
+ } catch (const std::exception& e) {
11422
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11423
+ }
11424
+ }
11425
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11426
+ return vresult;
11427
+ fail:
11428
+ return Qnil;
11429
+ }
11430
+
11431
+
11090
11432
  /*
11091
11433
  Document-method: GPS_PVT::GPS::Ephemeris.new
11092
11434
 
@@ -11395,7 +11737,7 @@ fail:
11395
11737
  Document-method: GPS_PVT::GPS::Ephemeris.URA=
11396
11738
 
11397
11739
  call-seq:
11398
- URA=(int const & v) -> int
11740
+ URA=(double const & v) -> double
11399
11741
 
11400
11742
  An instance method.
11401
11743
 
@@ -11403,13 +11745,13 @@ An instance method.
11403
11745
  SWIGINTERN VALUE
11404
11746
  _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11405
11747
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11406
- int *arg2 = 0 ;
11748
+ double *arg2 = 0 ;
11407
11749
  void *argp1 = 0 ;
11408
11750
  int res1 = 0 ;
11409
- int temp2 ;
11410
- int val2 ;
11751
+ double temp2 ;
11752
+ double val2 ;
11411
11753
  int ecode2 = 0 ;
11412
- int result;
11754
+ double result;
11413
11755
  VALUE vresult = Qnil;
11414
11756
 
11415
11757
  if ((argc < 1) || (argc > 1)) {
@@ -11420,15 +11762,15 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11420
11762
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","set_URA", 1, self ));
11421
11763
  }
11422
11764
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11423
- ecode2 = SWIG_AsVal_int(argv[0], &val2);
11765
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
11424
11766
  if (!SWIG_IsOK(ecode2)) {
11425
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","set_URA", 2, argv[0] ));
11767
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","set_URA", 2, argv[0] ));
11426
11768
  }
11427
- temp2 = static_cast< int >(val2);
11769
+ temp2 = static_cast< double >(val2);
11428
11770
  arg2 = &temp2;
11429
11771
  {
11430
11772
  try {
11431
- result = (int)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(int const &)*arg2);
11773
+ result = (double)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(double const &)*arg2);
11432
11774
  } catch (const native_exception &e) {
11433
11775
  e.regenerate();
11434
11776
  SWIG_fail;
@@ -11436,7 +11778,7 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11436
11778
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11437
11779
  }
11438
11780
  }
11439
- vresult = SWIG_From_int(static_cast< int >(result));
11781
+ vresult = SWIG_From_double(static_cast< double >(result));
11440
11782
  return vresult;
11441
11783
  fail:
11442
11784
  return Qnil;
@@ -11447,7 +11789,7 @@ fail:
11447
11789
  Document-method: GPS_PVT::GPS::Ephemeris.URA
11448
11790
 
11449
11791
  call-seq:
11450
- URA -> int const &
11792
+ URA -> double const &
11451
11793
 
11452
11794
  An instance method.
11453
11795
 
@@ -11457,7 +11799,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11457
11799
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11458
11800
  void *argp1 = 0 ;
11459
11801
  int res1 = 0 ;
11460
- int *result = 0 ;
11802
+ double *result = 0 ;
11461
11803
  VALUE vresult = Qnil;
11462
11804
 
11463
11805
  if ((argc < 0) || (argc > 0)) {
@@ -11470,7 +11812,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11470
11812
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11471
11813
  {
11472
11814
  try {
11473
- result = (int *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11815
+ result = (double *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11474
11816
  } catch (const native_exception &e) {
11475
11817
  e.regenerate();
11476
11818
  SWIG_fail;
@@ -11478,7 +11820,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11478
11820
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11479
11821
  }
11480
11822
  }
11481
- vresult = SWIG_From_int(static_cast< int >(*result));
11823
+ vresult = SWIG_From_double(static_cast< double >(*result));
11482
11824
  return vresult;
11483
11825
  fail:
11484
11826
  return Qnil;
@@ -13910,28 +14252,344 @@ fail:
13910
14252
 
13911
14253
 
13912
14254
  /*
13913
- Document-method: GPS_PVT::GPS::Ephemeris.constellation
14255
+ Document-method: GPS_PVT::GPS::Ephemeris.dump
13914
14256
 
13915
14257
  call-seq:
13916
- constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
13917
- constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14258
+ dump(Time t)
13918
14259
 
13919
14260
  An instance method.
13920
14261
 
13921
14262
  */
13922
14263
  SWIGINTERN VALUE
13923
- _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14264
+ _wrap_Ephemeris_dump(int argc, VALUE *argv, VALUE self) {
13924
14265
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
13925
- GPS_Time< double > *arg2 = 0 ;
13926
- double *arg3 = 0 ;
14266
+ unsigned int *arg2 ;
14267
+ unsigned int *arg3 ;
14268
+ unsigned int *arg4 ;
14269
+ GPS_Time< double > *arg5 = 0 ;
13927
14270
  void *argp1 = 0 ;
13928
14271
  int res1 = 0 ;
13929
- void *argp2 ;
13930
- int res2 = 0 ;
13931
- double temp3 ;
13932
- double val3 ;
13933
- int ecode3 = 0 ;
13934
- GPS_Ephemeris< double >::constellation_res_t result;
14272
+ unsigned int temp2[10] = {
14273
+ 0
14274
+ } ;
14275
+ unsigned int temp3[10] = {
14276
+ 0
14277
+ } ;
14278
+ unsigned int temp4[10] = {
14279
+ 0
14280
+ } ;
14281
+ void *argp5 ;
14282
+ int res5 = 0 ;
14283
+ VALUE vresult = Qnil;
14284
+
14285
+ arg2 = temp2;
14286
+ arg3 = temp3;
14287
+ arg4 = temp4;
14288
+ if ((argc < 1) || (argc > 1)) {
14289
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14290
+ }
14291
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14292
+ if (!SWIG_IsOK(res1)) {
14293
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump", 1, self ));
14294
+ }
14295
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14296
+ res5 = SWIG_ConvertPtr(argv[0], &argp5, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14297
+ if (!SWIG_IsOK(res5)) {
14298
+ SWIG_exception_fail(SWIG_ArgError(res5), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 5, argv[0] ));
14299
+ }
14300
+ if (!argp5) {
14301
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 5, argv[0]));
14302
+ }
14303
+ arg5 = reinterpret_cast< GPS_Time< double > * >(argp5);
14304
+ {
14305
+ try {
14306
+ GPS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,(GPS_Time< double > const &)*arg5);
14307
+ } catch (const native_exception &e) {
14308
+ e.regenerate();
14309
+ SWIG_fail;
14310
+ } catch (const std::exception& e) {
14311
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14312
+ }
14313
+ }
14314
+ vresult = rb_ary_new();
14315
+ {
14316
+ for(int i(0); i < 10; ++i){
14317
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14318
+ }
14319
+ }
14320
+ {
14321
+ for(int i(0); i < 10; ++i){
14322
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
14323
+ }
14324
+ }
14325
+ {
14326
+ for(int i(0); i < 10; ++i){
14327
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
14328
+ }
14329
+ }
14330
+ return vresult;
14331
+ fail:
14332
+ return Qnil;
14333
+ }
14334
+
14335
+
14336
+ /*
14337
+ Document-method: GPS_PVT::GPS::Ephemeris.parse_almanac
14338
+
14339
+ call-seq:
14340
+ parse_almanac(unsigned int const [10] buf) -> int
14341
+
14342
+ An instance method.
14343
+
14344
+ */
14345
+ SWIGINTERN VALUE
14346
+ _wrap_Ephemeris_parse_almanac(int argc, VALUE *argv, VALUE self) {
14347
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14348
+ unsigned int *arg2 ;
14349
+ void *argp1 = 0 ;
14350
+ int res1 = 0 ;
14351
+ unsigned int temp2[10] ;
14352
+ int result;
14353
+ VALUE vresult = Qnil;
14354
+
14355
+ if ((argc < 1) || (argc > 1)) {
14356
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14357
+ }
14358
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14359
+ if (!SWIG_IsOK(res1)) {
14360
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","parse_almanac", 1, self ));
14361
+ }
14362
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14363
+ {
14364
+ if(!(RB_TYPE_P(argv[0], T_ARRAY) && (RARRAY_LEN(argv[0]) == 10))){
14365
+ SWIG_exception(SWIG_TypeError, "array[10] is expected");
14366
+ }
14367
+ for(int i(0); i < 10; ++i){
14368
+ if(!SWIG_IsOK(SWIG_AsVal_unsigned_SS_int (RARRAY_AREF(argv[0], i), &temp2[i]))){
14369
+ SWIG_exception(SWIG_TypeError, "unsigned int is expected");
14370
+ }
14371
+ }
14372
+ arg2 = temp2;
14373
+ }
14374
+ {
14375
+ try {
14376
+ result = (int)GPS_Ephemeris_Sl_double_Sg__parse_almanac(arg1,(unsigned int const (*))arg2);
14377
+ } catch (const native_exception &e) {
14378
+ e.regenerate();
14379
+ SWIG_fail;
14380
+ } catch (const std::exception& e) {
14381
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14382
+ }
14383
+ }
14384
+ vresult = SWIG_From_int(static_cast< int >(result));
14385
+ return vresult;
14386
+ fail:
14387
+ return Qnil;
14388
+ }
14389
+
14390
+
14391
+ /*
14392
+ Document-method: GPS_PVT::GPS::Ephemeris.dump_almanac
14393
+
14394
+ call-seq:
14395
+ dump_almanac(Time t, unsigned int const & qzss_subframe=0)
14396
+ dump_almanac(Time t)
14397
+
14398
+ An instance method.
14399
+
14400
+ */
14401
+ SWIGINTERN VALUE
14402
+ _wrap_Ephemeris_dump_almanac__SWIG_0(int argc, VALUE *argv, VALUE self) {
14403
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14404
+ unsigned int *arg2 ;
14405
+ GPS_Time< double > *arg3 = 0 ;
14406
+ unsigned int *arg4 = 0 ;
14407
+ void *argp1 = 0 ;
14408
+ int res1 = 0 ;
14409
+ unsigned int temp2[10] = {
14410
+ 0
14411
+ } ;
14412
+ void *argp3 ;
14413
+ int res3 = 0 ;
14414
+ unsigned int temp4 ;
14415
+ unsigned int val4 ;
14416
+ int ecode4 = 0 ;
14417
+ VALUE vresult = Qnil;
14418
+
14419
+ arg2 = temp2;
14420
+ if ((argc < 2) || (argc > 2)) {
14421
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
14422
+ }
14423
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14424
+ if (!SWIG_IsOK(res1)) {
14425
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14426
+ }
14427
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14428
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14429
+ if (!SWIG_IsOK(res3)) {
14430
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14431
+ }
14432
+ if (!argp3) {
14433
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14434
+ }
14435
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14436
+ ecode4 = SWIG_AsVal_unsigned_SS_int(argv[1], &val4);
14437
+ if (!SWIG_IsOK(ecode4)) {
14438
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","dump_almanac", 4, argv[1] ));
14439
+ }
14440
+ temp4 = static_cast< unsigned int >(val4);
14441
+ arg4 = &temp4;
14442
+ {
14443
+ try {
14444
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3,(unsigned int const &)*arg4);
14445
+ } catch (const native_exception &e) {
14446
+ e.regenerate();
14447
+ SWIG_fail;
14448
+ } catch (const std::exception& e) {
14449
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14450
+ }
14451
+ }
14452
+ {
14453
+ for(int i(0); i < 10; ++i){
14454
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14455
+ }
14456
+ }
14457
+ return vresult;
14458
+ fail:
14459
+ return Qnil;
14460
+ }
14461
+
14462
+
14463
+ SWIGINTERN VALUE
14464
+ _wrap_Ephemeris_dump_almanac__SWIG_1(int argc, VALUE *argv, VALUE self) {
14465
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14466
+ unsigned int *arg2 ;
14467
+ GPS_Time< double > *arg3 = 0 ;
14468
+ void *argp1 = 0 ;
14469
+ int res1 = 0 ;
14470
+ unsigned int temp2[10] = {
14471
+ 0
14472
+ } ;
14473
+ void *argp3 ;
14474
+ int res3 = 0 ;
14475
+ VALUE vresult = Qnil;
14476
+
14477
+ arg2 = temp2;
14478
+ if ((argc < 1) || (argc > 1)) {
14479
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14480
+ }
14481
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14482
+ if (!SWIG_IsOK(res1)) {
14483
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14484
+ }
14485
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14486
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14487
+ if (!SWIG_IsOK(res3)) {
14488
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14489
+ }
14490
+ if (!argp3) {
14491
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14492
+ }
14493
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14494
+ {
14495
+ try {
14496
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3);
14497
+ } catch (const native_exception &e) {
14498
+ e.regenerate();
14499
+ SWIG_fail;
14500
+ } catch (const std::exception& e) {
14501
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14502
+ }
14503
+ }
14504
+ {
14505
+ for(int i(0); i < 10; ++i){
14506
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14507
+ }
14508
+ }
14509
+ return vresult;
14510
+ fail:
14511
+ return Qnil;
14512
+ }
14513
+
14514
+
14515
+ SWIGINTERN VALUE _wrap_Ephemeris_dump_almanac(int nargs, VALUE *args, VALUE self) {
14516
+ int argc;
14517
+ VALUE argv[4];
14518
+ int ii;
14519
+
14520
+ argc = nargs + 1;
14521
+ argv[0] = self;
14522
+ if (argc > 4) SWIG_fail;
14523
+ for (ii = 1; (ii < argc); ++ii) {
14524
+ argv[ii] = args[ii-1];
14525
+ }
14526
+ if (argc == 2) {
14527
+ int _v;
14528
+ void *vptr = 0;
14529
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14530
+ _v = SWIG_CheckState(res);
14531
+ if (_v) {
14532
+ void *vptr = 0;
14533
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14534
+ _v = SWIG_CheckState(res);
14535
+ if (_v) {
14536
+ return _wrap_Ephemeris_dump_almanac__SWIG_1(nargs, args, self);
14537
+ }
14538
+ }
14539
+ }
14540
+ if (argc == 3) {
14541
+ int _v;
14542
+ void *vptr = 0;
14543
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14544
+ _v = SWIG_CheckState(res);
14545
+ if (_v) {
14546
+ void *vptr = 0;
14547
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14548
+ _v = SWIG_CheckState(res);
14549
+ if (_v) {
14550
+ {
14551
+ int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL);
14552
+ _v = SWIG_CheckState(res);
14553
+ }
14554
+ if (_v) {
14555
+ return _wrap_Ephemeris_dump_almanac__SWIG_0(nargs, args, self);
14556
+ }
14557
+ }
14558
+ }
14559
+ }
14560
+
14561
+ fail:
14562
+ Ruby_Format_OverloadedError( argc, 4, "dump_almanac",
14563
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t, unsigned int const &qzss_subframe)\n"
14564
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t)\n");
14565
+
14566
+ return Qnil;
14567
+ }
14568
+
14569
+
14570
+ /*
14571
+ Document-method: GPS_PVT::GPS::Ephemeris.constellation
14572
+
14573
+ call-seq:
14574
+ constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
14575
+ constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14576
+
14577
+ An instance method.
14578
+
14579
+ */
14580
+ SWIGINTERN VALUE
14581
+ _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14582
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14583
+ GPS_Time< double > *arg2 = 0 ;
14584
+ double *arg3 = 0 ;
14585
+ void *argp1 = 0 ;
14586
+ int res1 = 0 ;
14587
+ void *argp2 ;
14588
+ int res2 = 0 ;
14589
+ double temp3 ;
14590
+ double val3 ;
14591
+ int ecode3 = 0 ;
14592
+ GPS_Ephemeris< double >::constellation_res_t result;
13935
14593
  VALUE vresult = Qnil;
13936
14594
 
13937
14595
  if ((argc < 2) || (argc > 2)) {
@@ -17450,21 +18108,116 @@ SWIGINTERN VALUE _wrap_new_Ephemeris_SBAS(int nargs, VALUE *args, VALUE self) {
17450
18108
  if (argc == 0) {
17451
18109
  return _wrap_new_Ephemeris_SBAS__SWIG_0(nargs, args, self);
17452
18110
  }
17453
- if (argc == 1) {
17454
- int _v;
17455
- void *vptr = 0;
17456
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
17457
- _v = SWIG_CheckState(res);
17458
- if (_v) {
17459
- return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18111
+ if (argc == 1) {
18112
+ int _v;
18113
+ void *vptr = 0;
18114
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
18115
+ _v = SWIG_CheckState(res);
18116
+ if (_v) {
18117
+ return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18118
+ }
18119
+ }
18120
+
18121
+ fail:
18122
+ Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
18123
+ " Ephemeris_SBAS.new()\n"
18124
+ " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
18125
+
18126
+ return Qnil;
18127
+ }
18128
+
18129
+
18130
+ /*
18131
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.valid?
18132
+
18133
+ call-seq:
18134
+ valid?(Time t) -> bool
18135
+
18136
+ An instance method.
18137
+
18138
+ */
18139
+ SWIGINTERN VALUE
18140
+ _wrap_Ephemeris_SBAS_validq___(int argc, VALUE *argv, VALUE self) {
18141
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18142
+ GPS_Time< double > *arg2 = 0 ;
18143
+ void *argp1 = 0 ;
18144
+ int res1 = 0 ;
18145
+ void *argp2 ;
18146
+ int res2 = 0 ;
18147
+ bool result;
18148
+ VALUE vresult = Qnil;
18149
+
18150
+ if ((argc < 1) || (argc > 1)) {
18151
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
18152
+ }
18153
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18154
+ if (!SWIG_IsOK(res1)) {
18155
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","is_valid", 1, self ));
18156
+ }
18157
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18158
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
18159
+ if (!SWIG_IsOK(res2)) {
18160
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
18161
+ }
18162
+ if (!argp2) {
18163
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
18164
+ }
18165
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
18166
+ {
18167
+ try {
18168
+ result = (bool)((SBAS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
18169
+ } catch (const native_exception &e) {
18170
+ e.regenerate();
18171
+ SWIG_fail;
18172
+ } catch (const std::exception& e) {
18173
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
18174
+ }
18175
+ }
18176
+ vresult = SWIG_From_bool(static_cast< bool >(result));
18177
+ return vresult;
18178
+ fail:
18179
+ return Qnil;
18180
+ }
18181
+
18182
+
18183
+ /*
18184
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.t_applicable
18185
+
18186
+ call-seq:
18187
+ t_applicable -> Time
18188
+
18189
+ An instance method.
18190
+
18191
+ */
18192
+ SWIGINTERN VALUE
18193
+ _wrap_Ephemeris_SBAS_t_applicable(int argc, VALUE *argv, VALUE self) {
18194
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18195
+ void *argp1 = 0 ;
18196
+ int res1 = 0 ;
18197
+ GPS_Time< double > result;
18198
+ VALUE vresult = Qnil;
18199
+
18200
+ if ((argc < 0) || (argc > 0)) {
18201
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
18202
+ }
18203
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18204
+ if (!SWIG_IsOK(res1)) {
18205
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","t_applicable", 1, self ));
18206
+ }
18207
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18208
+ {
18209
+ try {
18210
+ result = ((SBAS_Ephemeris< double > const *)arg1)->t_applicable();
18211
+ } catch (const native_exception &e) {
18212
+ e.regenerate();
18213
+ SWIG_fail;
18214
+ } catch (const std::exception& e) {
18215
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17460
18216
  }
17461
18217
  }
17462
-
18218
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
18219
+ return vresult;
17463
18220
  fail:
17464
- Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
17465
- " Ephemeris_SBAS.new()\n"
17466
- " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
17467
-
17468
18221
  return Qnil;
17469
18222
  }
17470
18223
 
@@ -18879,6 +19632,153 @@ fail:
18879
19632
  }
18880
19633
 
18881
19634
 
19635
+ /*
19636
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.dump
19637
+
19638
+ call-seq:
19639
+ dump(unsigned int const & preamble_idx=0)
19640
+ dump
19641
+
19642
+ An instance method.
19643
+
19644
+ */
19645
+ SWIGINTERN VALUE
19646
+ _wrap_Ephemeris_SBAS_dump__SWIG_0(int argc, VALUE *argv, VALUE self) {
19647
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19648
+ unsigned int *arg2 ;
19649
+ unsigned int *arg3 = 0 ;
19650
+ void *argp1 = 0 ;
19651
+ int res1 = 0 ;
19652
+ unsigned int temp2[8] = {
19653
+ 0
19654
+ } ;
19655
+ unsigned int temp3 ;
19656
+ unsigned int val3 ;
19657
+ int ecode3 = 0 ;
19658
+ VALUE vresult = Qnil;
19659
+
19660
+ arg2 = temp2;
19661
+ if ((argc < 1) || (argc > 1)) {
19662
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
19663
+ }
19664
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19665
+ if (!SWIG_IsOK(res1)) {
19666
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19667
+ }
19668
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19669
+ ecode3 = SWIG_AsVal_unsigned_SS_int(argv[0], &val3);
19670
+ if (!SWIG_IsOK(ecode3)) {
19671
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","dump", 3, argv[0] ));
19672
+ }
19673
+ temp3 = static_cast< unsigned int >(val3);
19674
+ arg3 = &temp3;
19675
+ {
19676
+ try {
19677
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2,(unsigned int const &)*arg3);
19678
+ } catch (const native_exception &e) {
19679
+ e.regenerate();
19680
+ SWIG_fail;
19681
+ } catch (const std::exception& e) {
19682
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19683
+ }
19684
+ }
19685
+ {
19686
+ for(int i(0); i < 8; ++i){
19687
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19688
+ }
19689
+ }
19690
+ return vresult;
19691
+ fail:
19692
+ return Qnil;
19693
+ }
19694
+
19695
+
19696
+ SWIGINTERN VALUE
19697
+ _wrap_Ephemeris_SBAS_dump__SWIG_1(int argc, VALUE *argv, VALUE self) {
19698
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19699
+ unsigned int *arg2 ;
19700
+ void *argp1 = 0 ;
19701
+ int res1 = 0 ;
19702
+ unsigned int temp2[8] = {
19703
+ 0
19704
+ } ;
19705
+ VALUE vresult = Qnil;
19706
+
19707
+ arg2 = temp2;
19708
+ if ((argc < 0) || (argc > 0)) {
19709
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
19710
+ }
19711
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19712
+ if (!SWIG_IsOK(res1)) {
19713
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19714
+ }
19715
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19716
+ {
19717
+ try {
19718
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2);
19719
+ } catch (const native_exception &e) {
19720
+ e.regenerate();
19721
+ SWIG_fail;
19722
+ } catch (const std::exception& e) {
19723
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19724
+ }
19725
+ }
19726
+ {
19727
+ for(int i(0); i < 8; ++i){
19728
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19729
+ }
19730
+ }
19731
+ return vresult;
19732
+ fail:
19733
+ return Qnil;
19734
+ }
19735
+
19736
+
19737
+ SWIGINTERN VALUE _wrap_Ephemeris_SBAS_dump(int nargs, VALUE *args, VALUE self) {
19738
+ int argc;
19739
+ VALUE argv[3];
19740
+ int ii;
19741
+
19742
+ argc = nargs + 1;
19743
+ argv[0] = self;
19744
+ if (argc > 3) SWIG_fail;
19745
+ for (ii = 1; (ii < argc); ++ii) {
19746
+ argv[ii] = args[ii-1];
19747
+ }
19748
+ if (argc == 1) {
19749
+ int _v;
19750
+ void *vptr = 0;
19751
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19752
+ _v = SWIG_CheckState(res);
19753
+ if (_v) {
19754
+ return _wrap_Ephemeris_SBAS_dump__SWIG_1(nargs, args, self);
19755
+ }
19756
+ }
19757
+ if (argc == 2) {
19758
+ int _v;
19759
+ void *vptr = 0;
19760
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19761
+ _v = SWIG_CheckState(res);
19762
+ if (_v) {
19763
+ {
19764
+ int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL);
19765
+ _v = SWIG_CheckState(res);
19766
+ }
19767
+ if (_v) {
19768
+ return _wrap_Ephemeris_SBAS_dump__SWIG_0(nargs, args, self);
19769
+ }
19770
+ }
19771
+ }
19772
+
19773
+ fail:
19774
+ Ruby_Format_OverloadedError( argc, 3, "dump",
19775
+ " void dump(unsigned int buf_brdc[8], unsigned int const &preamble_idx)\n"
19776
+ " void dump(unsigned int buf_brdc[8])\n");
19777
+
19778
+ return Qnil;
19779
+ }
19780
+
19781
+
18882
19782
  /*
18883
19783
  Document-method: GPS_PVT::GPS::Ephemeris_SBAS.constellation
18884
19784
 
@@ -21479,6 +22379,59 @@ fail:
21479
22379
  }
21480
22380
 
21481
22381
 
22382
+ /*
22383
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.valid?
22384
+
22385
+ call-seq:
22386
+ valid?(Time t) -> bool
22387
+
22388
+ An instance method.
22389
+
22390
+ */
22391
+ SWIGINTERN VALUE
22392
+ _wrap_Ephemeris_GLONASS_validq___(int argc, VALUE *argv, VALUE self) {
22393
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
22394
+ GPS_Time< double > *arg2 = 0 ;
22395
+ void *argp1 = 0 ;
22396
+ int res1 = 0 ;
22397
+ void *argp2 ;
22398
+ int res2 = 0 ;
22399
+ bool result;
22400
+ VALUE vresult = Qnil;
22401
+
22402
+ if ((argc < 1) || (argc > 1)) {
22403
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
22404
+ }
22405
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
22406
+ if (!SWIG_IsOK(res1)) {
22407
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > const *","is_valid", 1, self ));
22408
+ }
22409
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
22410
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
22411
+ if (!SWIG_IsOK(res2)) {
22412
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
22413
+ }
22414
+ if (!argp2) {
22415
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
22416
+ }
22417
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
22418
+ {
22419
+ try {
22420
+ result = (bool)((GLONASS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
22421
+ } catch (const native_exception &e) {
22422
+ e.regenerate();
22423
+ SWIG_fail;
22424
+ } catch (const std::exception& e) {
22425
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
22426
+ }
22427
+ }
22428
+ vresult = SWIG_From_bool(static_cast< bool >(result));
22429
+ return vresult;
22430
+ fail:
22431
+ return Qnil;
22432
+ }
22433
+
22434
+
21482
22435
  /*
21483
22436
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.new
21484
22437
 
@@ -24520,6 +25473,108 @@ fail:
24520
25473
  }
24521
25474
 
24522
25475
 
25476
+ /*
25477
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.dump
25478
+
25479
+ call-seq:
25480
+ dump(Time t)
25481
+
25482
+ An instance method.
25483
+
25484
+ */
25485
+ SWIGINTERN VALUE
25486
+ _wrap_Ephemeris_GLONASS_dump(int argc, VALUE *argv, VALUE self) {
25487
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
25488
+ unsigned int *arg2 ;
25489
+ unsigned int *arg3 ;
25490
+ unsigned int *arg4 ;
25491
+ unsigned int *arg5 ;
25492
+ unsigned int *arg6 ;
25493
+ GPS_Time< double > *arg7 = 0 ;
25494
+ void *argp1 = 0 ;
25495
+ int res1 = 0 ;
25496
+ unsigned int temp2[3] = {
25497
+ 0
25498
+ } ;
25499
+ unsigned int temp3[3] = {
25500
+ 0
25501
+ } ;
25502
+ unsigned int temp4[3] = {
25503
+ 0
25504
+ } ;
25505
+ unsigned int temp5[3] = {
25506
+ 0
25507
+ } ;
25508
+ unsigned int temp6[3] = {
25509
+ 0
25510
+ } ;
25511
+ void *argp7 ;
25512
+ int res7 = 0 ;
25513
+ VALUE vresult = Qnil;
25514
+
25515
+ arg2 = temp2;
25516
+ arg3 = temp3;
25517
+ arg4 = temp4;
25518
+ arg5 = temp5;
25519
+ arg6 = temp6;
25520
+ if ((argc < 1) || (argc > 1)) {
25521
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
25522
+ }
25523
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
25524
+ if (!SWIG_IsOK(res1)) {
25525
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > *","dump", 1, self ));
25526
+ }
25527
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
25528
+ res7 = SWIG_ConvertPtr(argv[0], &argp7, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
25529
+ if (!SWIG_IsOK(res7)) {
25530
+ SWIG_exception_fail(SWIG_ArgError(res7), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 7, argv[0] ));
25531
+ }
25532
+ if (!argp7) {
25533
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 7, argv[0]));
25534
+ }
25535
+ arg7 = reinterpret_cast< GPS_Time< double > * >(argp7);
25536
+ {
25537
+ try {
25538
+ GLONASS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,arg5,arg6,(GPS_Time< double > const &)*arg7);
25539
+ } catch (const native_exception &e) {
25540
+ e.regenerate();
25541
+ SWIG_fail;
25542
+ } catch (const std::exception& e) {
25543
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
25544
+ }
25545
+ }
25546
+ vresult = rb_ary_new();
25547
+ {
25548
+ for(int i(0); i < 3; ++i){
25549
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
25550
+ }
25551
+ }
25552
+ {
25553
+ for(int i(0); i < 3; ++i){
25554
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
25555
+ }
25556
+ }
25557
+ {
25558
+ for(int i(0); i < 3; ++i){
25559
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
25560
+ }
25561
+ }
25562
+ {
25563
+ for(int i(0); i < 3; ++i){
25564
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg5)[i]));
25565
+ }
25566
+ }
25567
+ {
25568
+ for(int i(0); i < 3; ++i){
25569
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg6)[i]));
25570
+ }
25571
+ }
25572
+ return vresult;
25573
+ fail:
25574
+ return Qnil;
25575
+ }
25576
+
25577
+
24523
25578
  /*
24524
25579
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.constellation
24525
25580
 
@@ -26272,6 +27327,7 @@ static swig_type_info _swigt__p_u16_t = {"_p_u16_t", "u16_t *", 0, 0, (void*)0,
26272
27327
  static swig_type_info _swigt__p_u32_t = {"_p_u32_t", "u32_t *", 0, 0, (void*)0, 0};
26273
27328
  static swig_type_info _swigt__p_u8_t = {"_p_u8_t", "u8_t *", 0, 0, (void*)0, 0};
26274
27329
  static swig_type_info _swigt__p_uint_t = {"_p_uint_t", "uint_t *", 0, 0, (void*)0, 0};
27330
+ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, (void*)0, 0};
26275
27331
  static swig_type_info _swigt__p_xyz_t = {"_p_xyz_t", "xyz_t *", 0, 0, (void*)0, 0};
26276
27332
 
26277
27333
  static swig_type_info *swig_type_initial[] = {
@@ -26341,6 +27397,7 @@ static swig_type_info *swig_type_initial[] = {
26341
27397
  &_swigt__p_u32_t,
26342
27398
  &_swigt__p_u8_t,
26343
27399
  &_swigt__p_uint_t,
27400
+ &_swigt__p_unsigned_int,
26344
27401
  &_swigt__p_xyz_t,
26345
27402
  };
26346
27403
 
@@ -26410,6 +27467,7 @@ static swig_cast_info _swigc__p_u16_t[] = { {&_swigt__p_u16_t, 0, 0, 0},{0, 0,
26410
27467
  static swig_cast_info _swigc__p_u32_t[] = { {&_swigt__p_u32_t, 0, 0, 0},{0, 0, 0, 0}};
26411
27468
  static swig_cast_info _swigc__p_u8_t[] = { {&_swigt__p_u8_t, 0, 0, 0},{0, 0, 0, 0}};
26412
27469
  static swig_cast_info _swigc__p_uint_t[] = { {&_swigt__p_uint_t, 0, 0, 0},{0, 0, 0, 0}};
27470
+ static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
26413
27471
  static swig_cast_info _swigc__p_xyz_t[] = { {&_swigt__p_xyz_t, 0, 0, 0},{0, 0, 0, 0}};
26414
27472
 
26415
27473
  static swig_cast_info *swig_cast_initial[] = {
@@ -26479,6 +27537,7 @@ static swig_cast_info *swig_cast_initial[] = {
26479
27537
  _swigc__p_u32_t,
26480
27538
  _swigc__p_u8_t,
26481
27539
  _swigc__p_uint_t,
27540
+ _swigc__p_unsigned_int,
26482
27541
  _swigc__p_xyz_t,
26483
27542
  };
26484
27543
 
@@ -26864,6 +27923,7 @@ SWIGEXPORT void Init_GPS(void) {
26864
27923
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF=", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSFe___), -1);
26865
27924
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSF), -1);
26866
27925
  rb_define_singleton_method(SwigClassIonospheric_UTC_Parameters.klass, "parse", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_parse), -1);
27926
+ rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "dump", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_dump), -1);
26867
27927
  SwigClassIonospheric_UTC_Parameters.mark = 0;
26868
27928
  SwigClassIonospheric_UTC_Parameters.destroy = (void (*)(void *)) free_GPS_Ionospheric_UTC_Parameters_Sl_double_Sg_;
26869
27929
  SwigClassIonospheric_UTC_Parameters.trackObjects = 0;
@@ -26876,6 +27936,9 @@ SWIGEXPORT void Init_GPS(void) {
26876
27936
  rb_define_method(SwigClassEphemeris.klass, "iode_subframe3", VALUEFUNC(_wrap_Ephemeris_iode_subframe3_get), -1);
26877
27937
  rb_define_method(SwigClassEphemeris.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_invalidate), -1);
26878
27938
  rb_define_method(SwigClassEphemeris.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_consistentq___), -1);
27939
+ rb_define_method(SwigClassEphemeris.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_validq___), -1);
27940
+ rb_define_method(SwigClassEphemeris.klass, "t_clock", VALUEFUNC(_wrap_Ephemeris_t_clock), -1);
27941
+ rb_define_method(SwigClassEphemeris.klass, "t_ephemeris", VALUEFUNC(_wrap_Ephemeris_t_ephemeris), -1);
26879
27942
  rb_define_method(SwigClassEphemeris.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_svide___), -1);
26880
27943
  rb_define_method(SwigClassEphemeris.klass, "svid", VALUEFUNC(_wrap_Ephemeris_svid), -1);
26881
27944
  rb_define_method(SwigClassEphemeris.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_WNe___), -1);
@@ -26933,6 +27996,9 @@ SWIGEXPORT void Init_GPS(void) {
26933
27996
  rb_define_method(SwigClassEphemeris.klass, "dot_i0=", VALUEFUNC(_wrap_Ephemeris_dot_i0e___), -1);
26934
27997
  rb_define_method(SwigClassEphemeris.klass, "dot_i0", VALUEFUNC(_wrap_Ephemeris_dot_i0), -1);
26935
27998
  rb_define_method(SwigClassEphemeris.klass, "parse", VALUEFUNC(_wrap_Ephemeris_parse), -1);
27999
+ rb_define_method(SwigClassEphemeris.klass, "dump", VALUEFUNC(_wrap_Ephemeris_dump), -1);
28000
+ rb_define_method(SwigClassEphemeris.klass, "parse_almanac", VALUEFUNC(_wrap_Ephemeris_parse_almanac), -1);
28001
+ rb_define_method(SwigClassEphemeris.klass, "dump_almanac", VALUEFUNC(_wrap_Ephemeris_dump_almanac), -1);
26936
28002
  rb_define_method(SwigClassEphemeris.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_constellation), -1);
26937
28003
  SwigClassEphemeris.mark = 0;
26938
28004
  SwigClassEphemeris.destroy = (void (*)(void *)) free_GPS_Ephemeris_Sl_double_Sg_;
@@ -27056,6 +28122,8 @@ SWIGEXPORT void Init_GPS(void) {
27056
28122
  SWIG_TypeClientData(SWIGTYPE_p_SBAS_EphemerisT_double_t, (void *) &SwigClassEphemeris_SBAS);
27057
28123
  rb_define_alloc_func(SwigClassEphemeris_SBAS.klass, _wrap_Ephemeris_SBAS_allocate);
27058
28124
  rb_define_method(SwigClassEphemeris_SBAS.klass, "initialize", VALUEFUNC(_wrap_new_Ephemeris_SBAS), -1);
28125
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_SBAS_validq___), -1);
28126
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "t_applicable", VALUEFUNC(_wrap_Ephemeris_SBAS_t_applicable), -1);
27059
28127
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_SBAS_svide___), -1);
27060
28128
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_SBAS_svid), -1);
27061
28129
  rb_define_method(SwigClassEphemeris_SBAS.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_SBAS_WNe___), -1);
@@ -27086,6 +28154,7 @@ SWIGEXPORT void Init_GPS(void) {
27086
28154
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf0", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf0), -1);
27087
28155
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1=", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1e___), -1);
27088
28156
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1), -1);
28157
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_SBAS_dump), -1);
27089
28158
  rb_define_method(SwigClassEphemeris_SBAS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_SBAS_constellation), -1);
27090
28159
  SwigClassEphemeris_SBAS.mark = 0;
27091
28160
  SwigClassEphemeris_SBAS.destroy = (void (*)(void *)) free_SBAS_Ephemeris_Sl_double_Sg_;
@@ -27173,6 +28242,7 @@ SWIGEXPORT void Init_GPS(void) {
27173
28242
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "raw", VALUEFUNC(_wrap_Ephemeris_GLONASS_raw_get), -1);
27174
28243
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_GLONASS_invalidate), -1);
27175
28244
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_GLONASS_consistentq___), -1);
28245
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_GLONASS_validq___), -1);
27176
28246
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_GLONASS_svide___), -1);
27177
28247
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_GLONASS_svid), -1);
27178
28248
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "freq_ch=", VALUEFUNC(_wrap_Ephemeris_GLONASS_freq_che___), -1);
@@ -27233,6 +28303,7 @@ SWIGEXPORT void Init_GPS(void) {
27233
28303
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "frequency_L2", VALUEFUNC(_wrap_Ephemeris_GLONASS_frequency_L2), -1);
27234
28304
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "base_time", VALUEFUNC(_wrap_Ephemeris_GLONASS_base_time), -1);
27235
28305
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "parse", VALUEFUNC(_wrap_Ephemeris_GLONASS_parse), -1);
28306
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_GLONASS_dump), -1);
27236
28307
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_GLONASS_constellation), -1);
27237
28308
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "in_range?", VALUEFUNC(_wrap_Ephemeris_GLONASS_in_rangeq___), -1);
27238
28309
  SwigClassEphemeris_GLONASS.mark = 0;