gps_pvt 0.2.1 → 0.2.3

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.
@@ -1889,12 +1889,12 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1889
1889
  #define SWIGTYPE_p_llh_t swig_types[39]
1890
1890
  #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t swig_types[40]
1891
1891
  #define SWIGTYPE_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t swig_types[41]
1892
- #define SWIGTYPE_p_s16_t swig_types[42]
1893
- #define SWIGTYPE_p_s32_t swig_types[43]
1894
- #define SWIGTYPE_p_s8_t swig_types[44]
1895
- #define SWIGTYPE_p_satellites_t swig_types[45]
1896
- #define SWIGTYPE_p_self_t swig_types[46]
1897
- #define SWIGTYPE_p_std__vectorT_int_t swig_types[47]
1892
+ #define SWIGTYPE_p_range_correction_list_t swig_types[42]
1893
+ #define SWIGTYPE_p_s16_t swig_types[43]
1894
+ #define SWIGTYPE_p_s32_t swig_types[44]
1895
+ #define SWIGTYPE_p_s8_t swig_types[45]
1896
+ #define SWIGTYPE_p_satellites_t swig_types[46]
1897
+ #define SWIGTYPE_p_self_t swig_types[47]
1898
1898
  #define SWIGTYPE_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t swig_types[48]
1899
1899
  #define SWIGTYPE_p_swig__GC_VALUE swig_types[49]
1900
1900
  #define SWIGTYPE_p_u16_t swig_types[50]
@@ -2465,6 +2465,7 @@ struct GPS_Measurement {
2465
2465
  L1_RANGE_RATE_SIGMA,
2466
2466
  L1_SIGNAL_STRENGTH_dBHz,
2467
2467
  L1_LOCK_SEC,
2468
+ L1_FREQUENCY,
2468
2469
  ITEMS_PREDEFINED,
2469
2470
  };
2470
2471
  void add(const int &prn, const int &key, const FloatT &value){
@@ -2475,43 +2476,8 @@ struct GPS_Measurement {
2475
2476
 
2476
2477
  template <class FloatT>
2477
2478
  struct GPS_SolverOptions_Common {
2478
- enum {
2479
- IONOSPHERIC_KLOBUCHAR,
2480
- IONOSPHERIC_SBAS,
2481
- IONOSPHERIC_NTCM_GL,
2482
- IONOSPHERIC_NONE, // which allows no correction
2483
- IONOSPHERIC_MODELS,
2484
- IONOSPHERIC_SKIP = IONOSPHERIC_MODELS, // which means delegating the next slot
2485
- };
2486
2479
  virtual GPS_Solver_GeneralOptions<FloatT> *cast_general() = 0;
2487
2480
  virtual const GPS_Solver_GeneralOptions<FloatT> *cast_general() const = 0;
2488
- std::vector<int> get_ionospheric_models() const {
2489
- typedef GPS_Solver_GeneralOptions<FloatT> general_t;
2490
- const general_t *general(this->cast_general());
2491
- std::vector<int> res;
2492
- for(int i(0); i < general_t::IONOSPHERIC_MODELS; ++i){
2493
- int v((int)(general->ionospheric_models[i]));
2494
- if(v == general_t::IONOSPHERIC_SKIP){break;}
2495
- res.push_back(v);
2496
- }
2497
- return res;
2498
- }
2499
- std::vector<int> set_ionospheric_models(const std::vector<int> &models){
2500
- typedef GPS_Solver_GeneralOptions<FloatT> general_t;
2501
- general_t *general(this->cast_general());
2502
- typedef typename general_t::ionospheric_model_t model_t;
2503
- for(int i(0), j(0), j_max(models.size()); i < general_t::IONOSPHERIC_MODELS; ++i){
2504
- model_t v(general_t::IONOSPHERIC_SKIP);
2505
- if(j < j_max){
2506
- if((models[j] >= 0) && (models[j] < general_t::IONOSPHERIC_SKIP)){
2507
- v = (model_t)models[j];
2508
- }
2509
- ++j;
2510
- }
2511
- general->ionospheric_models[i] = v;
2512
- }
2513
- return get_ionospheric_models();
2514
- }
2515
2481
  };
2516
2482
 
2517
2483
 
@@ -2569,11 +2535,20 @@ struct GPS_Solver
2569
2535
  }
2570
2536
 
2571
2537
  GPS_Solver() : super_t(), gps(), sbas(), hooks() {
2572
- gps.solver.space_node_sbas = &sbas.space_node;
2573
- sbas.solver.space_node_gps = &gps.space_node;
2574
2538
 
2575
2539
  hooks = rb_hash_new();
2576
2540
 
2541
+ typename base_t::range_correction_t ionospheric, tropospheric;
2542
+ ionospheric.push_back(&sbas.solver.ionospheric_sbas);
2543
+ ionospheric.push_back(&gps.solver.ionospheric_klobuchar);
2544
+ tropospheric.push_back(&sbas.solver.tropospheric_sbas);
2545
+ tropospheric.push_back(&gps.solver.tropospheric_simplified);
2546
+ gps.solver.ionospheric_correction
2547
+ = sbas.solver.ionospheric_correction
2548
+ = ionospheric;
2549
+ gps.solver.tropospheric_correction
2550
+ = sbas.solver.tropospheric_correction
2551
+ = tropospheric;
2577
2552
  }
2578
2553
  GPS_SpaceNode<FloatT> &gps_space_node() {return gps.space_node;}
2579
2554
  GPS_SolverOptions<FloatT> &gps_options() {return gps.options;}
@@ -2613,6 +2588,40 @@ struct GPS_Solver
2613
2588
  const_cast<sbas_t &>(sbas).solver.update_options(sbas.options);
2614
2589
  return super_t::solve().user_pvt(measurement.items, receiver_time);
2615
2590
  }
2591
+ typedef
2592
+ std::map<int, std::vector<const typename base_t::range_corrector_t *> >
2593
+ range_correction_list_t;
2594
+ range_correction_list_t update_correction(
2595
+ const bool &update,
2596
+ const range_correction_list_t &list = range_correction_list_t()){
2597
+ range_correction_list_t res;
2598
+ typename base_t::range_correction_t *root[] = {
2599
+ &gps.solver.ionospheric_correction,
2600
+ &gps.solver.tropospheric_correction,
2601
+ &sbas.solver.ionospheric_correction,
2602
+ &sbas.solver.tropospheric_correction,
2603
+ };
2604
+ for(std::size_t i(0); i < sizeof(root) / sizeof(root[0]); ++i){
2605
+ do{
2606
+ if(!update){break;}
2607
+ typename range_correction_list_t::const_iterator it(list.find(i));
2608
+ if(it == list.end()){break;}
2609
+ root[i]->clear();
2610
+ for(typename range_correction_list_t::mapped_type::const_iterator
2611
+ it2(it->second.begin()), it2_end(it->second.end());
2612
+ it2 != it2_end; ++it2){
2613
+ root[i]->push_back(*it2);
2614
+ }
2615
+ }while(false);
2616
+ for(typename base_t::range_correction_t::const_iterator
2617
+ it(root[i]->begin()), it_end(root[i]->end());
2618
+ it != it_end; ++it){
2619
+ res[i].push_back(*it);
2620
+ }
2621
+ }
2622
+ return res;
2623
+ }
2624
+ VALUE update_correction(const bool &update, const VALUE &hash);
2616
2625
  };
2617
2626
 
2618
2627
 
@@ -2850,6 +2859,12 @@ SWIGINTERN void GPS_Time_Sl_double_Sg__to_a(GPS_Time< double > const *self,int *
2850
2859
  *week = self->week;
2851
2860
  *seconds = self->seconds;
2852
2861
  }
2862
+ SWIGINTERN int GPS_Time_Sl_double_Sg____cmp__(GPS_Time< double > const *self,GPS_Time< double > const &t){
2863
+ return ((self->week < t.week) ? -1
2864
+ : ((self->week > t.week) ? 1
2865
+ : (self->seconds < t.seconds ? -1
2866
+ : (self->seconds > t.seconds ? 1 : 0))));
2867
+ }
2853
2868
 
2854
2869
  namespace swig {
2855
2870
  template <class Type>
@@ -3645,12 +3660,6 @@ SWIGINTERN double GPS_SolverOptions_Common_Sl_double_Sg__set_residual_mask(GPS_S
3645
3660
  SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mask(GPS_SolverOptions_Common< double > const *self){
3646
3661
  return self->cast_general()->residual_mask;
3647
3662
  }
3648
- SWIGINTERN double GPS_SolverOptions_Common_Sl_double_Sg__set_f_10_7(GPS_SolverOptions_Common< double > *self,double const &v){
3649
- return self->cast_general()->f_10_7 = v;
3650
- }
3651
- SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_f_10_7(GPS_SolverOptions_Common< double > const *self){
3652
- return self->cast_general()->f_10_7;
3653
- }
3654
3663
 
3655
3664
  template <>
3656
3665
  GPS_Solver<double>::base_t::relative_property_t
@@ -3730,7 +3739,9 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_f_10_7(GPS_S
3730
3739
  SWIG_NewPointerObj(&geomat_.W,
3731
3740
  SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t, 0),
3732
3741
  SWIG_NewPointerObj(&geomat_.delta_r,
3733
- SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t, 0)};
3742
+ SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t, 0),
3743
+ SWIG_NewPointerObj(&res,
3744
+ SWIGTYPE_p_GPS_User_PVTT_double_t, 0)};
3734
3745
  proc_call_throw_if_error(hook, sizeof(values) / sizeof(values[0]), values);
3735
3746
  }while(false);
3736
3747
 
@@ -3782,6 +3793,108 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_f_10_7(GPS_S
3782
3793
  return res;
3783
3794
  }
3784
3795
 
3796
+
3797
+ template<>
3798
+ VALUE GPS_Solver<double>::update_correction(
3799
+ const bool &update, const VALUE &hash){
3800
+ typedef range_correction_list_t list_t;
3801
+ static const VALUE k_root[] = {
3802
+ ID2SYM(rb_intern("gps_ionospheric")),
3803
+ ID2SYM(rb_intern("gps_tropospheric")),
3804
+ ID2SYM(rb_intern("sbas_ionospheric")),
3805
+ ID2SYM(rb_intern("sbas_tropospheric")),
3806
+ };
3807
+ static const VALUE k_opt(ID2SYM(rb_intern("options")));
3808
+ static const VALUE k_f_10_7(ID2SYM(rb_intern("f_10_7")));
3809
+ static const VALUE k_known(ID2SYM(rb_intern("known")));
3810
+ struct {
3811
+ VALUE sym;
3812
+ list_t::mapped_type::value_type obj;
3813
+ } item[] = {
3814
+ {ID2SYM(rb_intern("no_correction")), &base_t::no_correction},
3815
+ {ID2SYM(rb_intern("klobuchar")), &this->gps.solver.ionospheric_klobuchar},
3816
+ {ID2SYM(rb_intern("ntcm_gl")), &this->gps.solver.ionospheric_ntcm_gl},
3817
+ {ID2SYM(rb_intern("hopfield")), &this->gps.solver.tropospheric_simplified},
3818
+ {ID2SYM(rb_intern("sbas_igp")), &this->sbas.solver.ionospheric_sbas},
3819
+ {ID2SYM(rb_intern("sbas_tropo")), &this->sbas.solver.tropospheric_sbas},
3820
+ };
3821
+ list_t input;
3822
+ if(update){
3823
+ if(!RB_TYPE_P(hash, T_HASH)){
3824
+ throw std::runtime_error(
3825
+ std::string("Hash is expected, however ").append(inspect_str(hash)));
3826
+ }
3827
+ for(std::size_t i(0); i < sizeof(k_root) / sizeof(k_root[0]); ++i){
3828
+ VALUE ary = rb_hash_lookup(hash, k_root[i]);
3829
+ if(NIL_P(ary)){continue;}
3830
+ if(!RB_TYPE_P(ary, T_ARRAY)){
3831
+ ary = rb_ary_new_from_values(1, &ary);
3832
+ }
3833
+ for(int j(0); j < RARRAY_LEN(ary); ++j){
3834
+ std::size_t k(0);
3835
+ VALUE v(rb_ary_entry(ary, j));
3836
+ for(; k < sizeof(item) / sizeof(item[0]); ++k){
3837
+ if(v == item[k].sym){break;}
3838
+ }
3839
+ if(k >= sizeof(item) / sizeof(item[0])){
3840
+ continue; // TODO other than symbol
3841
+ }
3842
+ input[i].push_back(item[k].obj);
3843
+ }
3844
+ }
3845
+ VALUE opt(rb_hash_lookup(hash, k_opt));
3846
+ if(RB_TYPE_P(opt, T_HASH)){
3847
+ swig::asval(rb_hash_lookup(opt, k_f_10_7), // ntcm_gl
3848
+ &this->gps.solver.ionospheric_ntcm_gl.f_10_7);
3849
+ }
3850
+ }
3851
+ list_t output(update_correction(update, input));
3852
+ VALUE res = rb_hash_new();
3853
+ for(list_t::const_iterator it(output.begin()), it_end(output.end());
3854
+ it != it_end; ++it){
3855
+ VALUE k;
3856
+ if((it->first < 0) || (it->first >= (int)(sizeof(k_root) / sizeof(k_root[0])))){
3857
+ k = SWIG_From_int (it->first);
3858
+ }else{
3859
+ k = k_root[it->first];
3860
+ }
3861
+ VALUE v = rb_ary_new();
3862
+ for(list_t::mapped_type::const_iterator
3863
+ it2(it->second.begin()), it2_end(it->second.end());
3864
+ it2 != it2_end; ++it2){
3865
+ std::size_t i(0);
3866
+ for(; i < sizeof(item) / sizeof(item[0]); ++i){
3867
+ if(*it2 == item[i].obj){break;}
3868
+ }
3869
+ if(i >= sizeof(item) / sizeof(item[0])){
3870
+ continue; // TODO other than built-in corrector
3871
+ }
3872
+ rb_ary_push(v, item[i].sym);
3873
+ }
3874
+ rb_hash_aset(res, k, v);
3875
+ }
3876
+ { // common options
3877
+ VALUE opt = rb_hash_new();
3878
+ rb_hash_aset(res, k_opt, opt);
3879
+ rb_hash_aset(opt, k_f_10_7, // ntcm_gl
3880
+ swig::from(this->gps.solver.ionospheric_ntcm_gl.f_10_7));
3881
+ }
3882
+ { // known models
3883
+ VALUE ary = rb_ary_new_capa((int)(sizeof(item) / sizeof(item[0])));
3884
+ for(std::size_t i(0); i < sizeof(item) / sizeof(item[0]); ++i){
3885
+ rb_ary_push(ary, item[i].sym);
3886
+ }
3887
+ rb_hash_aset(res, k_known, ary);
3888
+ }
3889
+ return res;
3890
+ }
3891
+
3892
+ SWIGINTERN VALUE GPS_Solver_Sl_double_Sg__get_correction(GPS_Solver< double > const *self){
3893
+ return const_cast<GPS_Solver<double> *>(self)->update_correction(false, Qnil);
3894
+ }
3895
+ SWIGINTERN VALUE GPS_Solver_Sl_double_Sg__set_correction(GPS_Solver< double > *self,VALUE hash){
3896
+ return self->update_correction(true, hash);
3897
+ }
3785
3898
  SWIGINTERN unsigned int SBAS_Ephemeris_Sl_double_Sg__set_svid(SBAS_Ephemeris< double > *self,unsigned int const &v){
3786
3899
  return self->svid = v;
3787
3900
  }
@@ -6104,6 +6217,58 @@ fail:
6104
6217
  }
6105
6218
 
6106
6219
 
6220
+ /*
6221
+ Document-method: GPS_PVT::GPS::Time.<=>
6222
+
6223
+ call-seq:
6224
+ <=>(t) -> int
6225
+
6226
+ Comparison operator. Returns < 0 for less than, 0 for equal or > 1 for higher than..
6227
+ */
6228
+ SWIGINTERN VALUE
6229
+ _wrap_Time___cmp__(int argc, VALUE *argv, VALUE self) {
6230
+ GPS_Time< double > *arg1 = (GPS_Time< double > *) 0 ;
6231
+ GPS_Time< double > *arg2 = 0 ;
6232
+ void *argp1 = 0 ;
6233
+ int res1 = 0 ;
6234
+ void *argp2 ;
6235
+ int res2 = 0 ;
6236
+ int result;
6237
+ VALUE vresult = Qnil;
6238
+
6239
+ if ((argc < 1) || (argc > 1)) {
6240
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
6241
+ }
6242
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_TimeT_double_t, 0 | 0 );
6243
+ if (!SWIG_IsOK(res1)) {
6244
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Time< double > const *","__cmp__", 1, self ));
6245
+ }
6246
+ arg1 = reinterpret_cast< GPS_Time< double > * >(argp1);
6247
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
6248
+ if (!SWIG_IsOK(res2)) {
6249
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","__cmp__", 2, argv[0] ));
6250
+ }
6251
+ if (!argp2) {
6252
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","__cmp__", 2, argv[0]));
6253
+ }
6254
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
6255
+ {
6256
+ try {
6257
+ result = (int)GPS_Time_Sl_double_Sg____cmp__((GPS_Time< double > const *)arg1,(GPS_Time< double > const &)*arg2);
6258
+ } catch (const native_exception &e) {
6259
+ e.regenerate();
6260
+ SWIG_fail;
6261
+ } catch (const std::exception& e) {
6262
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
6263
+ }
6264
+ }
6265
+ vresult = SWIG_From_int(static_cast< int >(result));
6266
+ return vresult;
6267
+ fail:
6268
+ return Qnil;
6269
+ }
6270
+
6271
+
6107
6272
  SWIGINTERN void
6108
6273
  free_GPS_Time_Sl_double_Sg_(void *self) {
6109
6274
  GPS_Time< double > *arg1 = (GPS_Time< double > *)self;
@@ -6322,6 +6487,50 @@ _wrap_SpaceNode_gamma_L1_L2_get(VALUE self) {
6322
6487
  }
6323
6488
 
6324
6489
 
6490
+ /*
6491
+ Document-method: GPS_PVT::GPS::SpaceNode.gamma_per_L1
6492
+
6493
+ call-seq:
6494
+ gamma_per_L1(GPS_SpaceNode< double >::float_t const & freq) -> GPS_SpaceNode< double >::float_t const
6495
+
6496
+ A class method.
6497
+
6498
+ */
6499
+ SWIGINTERN VALUE
6500
+ _wrap_SpaceNode_gamma_per_L1(int argc, VALUE *argv, VALUE self) {
6501
+ GPS_SpaceNode< double >::float_t *arg1 = 0 ;
6502
+ GPS_SpaceNode< double >::float_t temp1 ;
6503
+ double val1 ;
6504
+ int ecode1 = 0 ;
6505
+ GPS_SpaceNode< double >::float_t result;
6506
+ VALUE vresult = Qnil;
6507
+
6508
+ if ((argc < 1) || (argc > 1)) {
6509
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
6510
+ }
6511
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
6512
+ if (!SWIG_IsOK(ecode1)) {
6513
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::float_t","GPS_SpaceNode<(double)>::gamma_per_L1", 1, argv[0] ));
6514
+ }
6515
+ temp1 = static_cast< GPS_SpaceNode< double >::float_t >(val1);
6516
+ arg1 = &temp1;
6517
+ {
6518
+ try {
6519
+ result = (GPS_SpaceNode< double >::float_t)GPS_SpaceNode< double >::SWIGTEMPLATEDISAMBIGUATOR gamma_per_L1((double const &)*arg1);
6520
+ } catch (const native_exception &e) {
6521
+ e.regenerate();
6522
+ SWIG_fail;
6523
+ } catch (const std::exception& e) {
6524
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
6525
+ }
6526
+ }
6527
+ vresult = SWIG_From_double(static_cast< double >(result));
6528
+ return vresult;
6529
+ fail:
6530
+ return Qnil;
6531
+ }
6532
+
6533
+
6325
6534
  SWIGINTERN VALUE
6326
6535
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6327
6536
  _wrap_SpaceNode_allocate(VALUE self)
@@ -7747,50 +7956,42 @@ fail:
7747
7956
  tropo_correction(ENU relative_pos, LLH usrllh) -> GPS_SpaceNode< double >::float_t
7748
7957
  tropo_correction(XYZ sat, XYZ usr) -> GPS_SpaceNode< double >::float_t
7749
7958
 
7750
- An instance method.
7959
+ A class method.
7751
7960
 
7752
7961
  */
7753
7962
  SWIGINTERN VALUE
7754
7963
  _wrap_SpaceNode_tropo_correction__SWIG_0(int argc, VALUE *argv, VALUE self) {
7755
- GPS_SpaceNode< double > *arg1 = (GPS_SpaceNode< double > *) 0 ;
7756
- GPS_SpaceNode< double >::enu_t *arg2 = 0 ;
7757
- GPS_SpaceNode< double >::llh_t *arg3 = 0 ;
7758
- void *argp1 = 0 ;
7964
+ GPS_SpaceNode< double >::enu_t *arg1 = 0 ;
7965
+ GPS_SpaceNode< double >::llh_t *arg2 = 0 ;
7966
+ void *argp1 ;
7759
7967
  int res1 = 0 ;
7760
7968
  void *argp2 ;
7761
7969
  int res2 = 0 ;
7762
- void *argp3 ;
7763
- int res3 = 0 ;
7764
7970
  GPS_SpaceNode< double >::float_t result;
7765
7971
  VALUE vresult = Qnil;
7766
7972
 
7767
7973
  if ((argc < 2) || (argc > 2)) {
7768
7974
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
7769
7975
  }
7770
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SpaceNodeT_double_t, 0 | 0 );
7976
+ res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_System_ENUT_double_WGS84_t, 0 );
7771
7977
  if (!SWIG_IsOK(res1)) {
7772
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SpaceNode< double > const *","tropo_correction", 1, self ));
7978
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::enu_t const &","GPS_SpaceNode<(double)>::tropo_correction", 1, argv[0] ));
7773
7979
  }
7774
- arg1 = reinterpret_cast< GPS_SpaceNode< double > * >(argp1);
7775
- res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_System_ENUT_double_WGS84_t, 0 );
7980
+ if (!argp1) {
7981
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::enu_t const &","GPS_SpaceNode<(double)>::tropo_correction", 1, argv[0]));
7982
+ }
7983
+ arg1 = reinterpret_cast< GPS_SpaceNode< double >::enu_t * >(argp1);
7984
+ res2 = SWIG_ConvertPtr(argv[1], &argp2, SWIGTYPE_p_System_LLHT_double_WGS84_t, 0 );
7776
7985
  if (!SWIG_IsOK(res2)) {
7777
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::enu_t const &","tropo_correction", 2, argv[0] ));
7986
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::llh_t const &","GPS_SpaceNode<(double)>::tropo_correction", 2, argv[1] ));
7778
7987
  }
7779
7988
  if (!argp2) {
7780
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::enu_t const &","tropo_correction", 2, argv[0]));
7781
- }
7782
- arg2 = reinterpret_cast< GPS_SpaceNode< double >::enu_t * >(argp2);
7783
- res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_System_LLHT_double_WGS84_t, 0 );
7784
- if (!SWIG_IsOK(res3)) {
7785
- SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::llh_t const &","tropo_correction", 3, argv[1] ));
7786
- }
7787
- if (!argp3) {
7788
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::llh_t const &","tropo_correction", 3, argv[1]));
7989
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::llh_t const &","GPS_SpaceNode<(double)>::tropo_correction", 2, argv[1]));
7789
7990
  }
7790
- arg3 = reinterpret_cast< GPS_SpaceNode< double >::llh_t * >(argp3);
7991
+ arg2 = reinterpret_cast< GPS_SpaceNode< double >::llh_t * >(argp2);
7791
7992
  {
7792
7993
  try {
7793
- result = (GPS_SpaceNode< double >::float_t)((GPS_SpaceNode< double > const *)arg1)->tropo_correction((GPS_SpaceNode< double >::enu_t const &)*arg2,(GPS_SpaceNode< double >::llh_t const &)*arg3);
7994
+ result = (GPS_SpaceNode< double >::float_t)GPS_SpaceNode< double >::SWIGTEMPLATEDISAMBIGUATOR tropo_correction((System_ENU< double,WGS84 > const &)*arg1,(System_LLH< double,WGS84 > const &)*arg2);
7794
7995
  } catch (const native_exception &e) {
7795
7996
  e.regenerate();
7796
7997
  SWIG_fail;
@@ -7877,50 +8078,42 @@ fail:
7877
8078
  tropo_correction(ENU relative_pos, LLH usrllh) -> GPS_SpaceNode< double >::float_t
7878
8079
  tropo_correction(XYZ sat, XYZ usr) -> GPS_SpaceNode< double >::float_t
7879
8080
 
7880
- An instance method.
8081
+ A class method.
7881
8082
 
7882
8083
  */
7883
8084
  SWIGINTERN VALUE
7884
8085
  _wrap_SpaceNode_tropo_correction__SWIG_1(int argc, VALUE *argv, VALUE self) {
7885
- GPS_SpaceNode< double > *arg1 = (GPS_SpaceNode< double > *) 0 ;
8086
+ GPS_SpaceNode< double >::xyz_t *arg1 = 0 ;
7886
8087
  GPS_SpaceNode< double >::xyz_t *arg2 = 0 ;
7887
- GPS_SpaceNode< double >::xyz_t *arg3 = 0 ;
7888
- void *argp1 = 0 ;
8088
+ void *argp1 ;
7889
8089
  int res1 = 0 ;
7890
8090
  void *argp2 ;
7891
8091
  int res2 = 0 ;
7892
- void *argp3 ;
7893
- int res3 = 0 ;
7894
8092
  GPS_SpaceNode< double >::float_t result;
7895
8093
  VALUE vresult = Qnil;
7896
8094
 
7897
8095
  if ((argc < 2) || (argc > 2)) {
7898
8096
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
7899
8097
  }
7900
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SpaceNodeT_double_t, 0 | 0 );
8098
+ res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_System_XYZT_double_WGS84_t, 0 );
7901
8099
  if (!SWIG_IsOK(res1)) {
7902
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SpaceNode< double > const *","tropo_correction", 1, self ));
8100
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::xyz_t const &","GPS_SpaceNode<(double)>::tropo_correction", 1, argv[0] ));
7903
8101
  }
7904
- arg1 = reinterpret_cast< GPS_SpaceNode< double > * >(argp1);
7905
- res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_System_XYZT_double_WGS84_t, 0 );
8102
+ if (!argp1) {
8103
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::xyz_t const &","GPS_SpaceNode<(double)>::tropo_correction", 1, argv[0]));
8104
+ }
8105
+ arg1 = reinterpret_cast< GPS_SpaceNode< double >::xyz_t * >(argp1);
8106
+ res2 = SWIG_ConvertPtr(argv[1], &argp2, SWIGTYPE_p_System_XYZT_double_WGS84_t, 0 );
7906
8107
  if (!SWIG_IsOK(res2)) {
7907
- SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::xyz_t const &","tropo_correction", 2, argv[0] ));
8108
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::xyz_t const &","GPS_SpaceNode<(double)>::tropo_correction", 2, argv[1] ));
7908
8109
  }
7909
8110
  if (!argp2) {
7910
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::xyz_t const &","tropo_correction", 2, argv[0]));
8111
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::xyz_t const &","GPS_SpaceNode<(double)>::tropo_correction", 2, argv[1]));
7911
8112
  }
7912
8113
  arg2 = reinterpret_cast< GPS_SpaceNode< double >::xyz_t * >(argp2);
7913
- res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_System_XYZT_double_WGS84_t, 0 );
7914
- if (!SWIG_IsOK(res3)) {
7915
- SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_SpaceNode< double >::xyz_t const &","tropo_correction", 3, argv[1] ));
7916
- }
7917
- if (!argp3) {
7918
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_SpaceNode< double >::xyz_t const &","tropo_correction", 3, argv[1]));
7919
- }
7920
- arg3 = reinterpret_cast< GPS_SpaceNode< double >::xyz_t * >(argp3);
7921
8114
  {
7922
8115
  try {
7923
- result = (GPS_SpaceNode< double >::float_t)((GPS_SpaceNode< double > const *)arg1)->tropo_correction((GPS_SpaceNode< double >::xyz_t const &)*arg2,(GPS_SpaceNode< double >::xyz_t const &)*arg3);
8116
+ result = (GPS_SpaceNode< double >::float_t)GPS_SpaceNode< double >::SWIGTEMPLATEDISAMBIGUATOR tropo_correction((System_XYZ< double,WGS84 > const &)*arg1,(System_XYZ< double,WGS84 > const &)*arg2);
7924
8117
  } catch (const native_exception &e) {
7925
8118
  e.regenerate();
7926
8119
  SWIG_fail;
@@ -7937,56 +8130,45 @@ fail:
7937
8130
 
7938
8131
  SWIGINTERN VALUE _wrap_SpaceNode_tropo_correction(int nargs, VALUE *args, VALUE self) {
7939
8132
  int argc;
7940
- VALUE argv[4];
8133
+ VALUE argv[2];
7941
8134
  int ii;
7942
8135
 
7943
- argc = nargs + 1;
7944
- argv[0] = self;
7945
- if (argc > 4) SWIG_fail;
7946
- for (ii = 1; (ii < argc); ++ii) {
7947
- argv[ii] = args[ii-1];
8136
+ argc = nargs;
8137
+ if (argc > 2) SWIG_fail;
8138
+ for (ii = 0; (ii < argc); ++ii) {
8139
+ argv[ii] = args[ii];
7948
8140
  }
7949
- if (argc == 3) {
8141
+ if (argc == 2) {
7950
8142
  int _v;
7951
8143
  void *vptr = 0;
7952
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SpaceNodeT_double_t, 0);
8144
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_System_ENUT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7953
8145
  _v = SWIG_CheckState(res);
7954
8146
  if (_v) {
7955
8147
  void *vptr = 0;
7956
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_System_ENUT_double_WGS84_t, SWIG_POINTER_NO_NULL);
8148
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_System_LLHT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7957
8149
  _v = SWIG_CheckState(res);
7958
8150
  if (_v) {
7959
- void *vptr = 0;
7960
- int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_System_LLHT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7961
- _v = SWIG_CheckState(res);
7962
- if (_v) {
7963
- return _wrap_SpaceNode_tropo_correction__SWIG_0(nargs, args, self);
7964
- }
8151
+ return _wrap_SpaceNode_tropo_correction__SWIG_0(nargs, args, self);
7965
8152
  }
7966
8153
  }
7967
8154
  }
7968
- if (argc == 3) {
8155
+ if (argc == 2) {
7969
8156
  int _v;
7970
8157
  void *vptr = 0;
7971
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SpaceNodeT_double_t, 0);
8158
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_System_XYZT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7972
8159
  _v = SWIG_CheckState(res);
7973
8160
  if (_v) {
7974
8161
  void *vptr = 0;
7975
8162
  int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_System_XYZT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7976
8163
  _v = SWIG_CheckState(res);
7977
8164
  if (_v) {
7978
- void *vptr = 0;
7979
- int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_System_XYZT_double_WGS84_t, SWIG_POINTER_NO_NULL);
7980
- _v = SWIG_CheckState(res);
7981
- if (_v) {
7982
- return _wrap_SpaceNode_tropo_correction__SWIG_1(nargs, args, self);
7983
- }
8165
+ return _wrap_SpaceNode_tropo_correction__SWIG_1(nargs, args, self);
7984
8166
  }
7985
8167
  }
7986
8168
  }
7987
8169
 
7988
8170
  fail:
7989
- Ruby_Format_OverloadedError( argc, 4, "SpaceNode.tropo_correction",
8171
+ Ruby_Format_OverloadedError( argc, 2, "SpaceNode.tropo_correction",
7990
8172
  " GPS_SpaceNode< double >::float_t SpaceNode.tropo_correction(GPS_SpaceNode< double >::enu_t const &relative_pos, GPS_SpaceNode< double >::llh_t const &usrllh)\n"
7991
8173
  " GPS_SpaceNode< double >::float_t SpaceNode.tropo_correction(GPS_SpaceNode< double >::xyz_t const &sat, GPS_SpaceNode< double >::xyz_t const &usr)\n");
7992
8174
 
@@ -14223,6 +14405,15 @@ A class method.
14223
14405
 
14224
14406
  A class method.
14225
14407
 
14408
+ */
14409
+ /*
14410
+ Document-method: GPS_PVT::GPS.L1_FREQUENCY
14411
+
14412
+ call-seq:
14413
+ L1_FREQUENCY -> int
14414
+
14415
+ A class method.
14416
+
14226
14417
  */
14227
14418
  /*
14228
14419
  Document-method: GPS_PVT::GPS.ITEMS_PREDEFINED
@@ -14515,60 +14706,6 @@ free_GPS_Measurement_Sl_double_Sg_(void *self) {
14515
14706
  */
14516
14707
  static swig_class SwigClassSolverOptionsCommon;
14517
14708
 
14518
- /*
14519
- Document-method: GPS_PVT::GPS.IONOSPHERIC_KLOBUCHAR
14520
-
14521
- call-seq:
14522
- IONOSPHERIC_KLOBUCHAR -> int
14523
-
14524
- A class method.
14525
-
14526
- */
14527
- /*
14528
- Document-method: GPS_PVT::GPS.IONOSPHERIC_SBAS
14529
-
14530
- call-seq:
14531
- IONOSPHERIC_SBAS -> int
14532
-
14533
- A class method.
14534
-
14535
- */
14536
- /*
14537
- Document-method: GPS_PVT::GPS.IONOSPHERIC_NTCM_GL
14538
-
14539
- call-seq:
14540
- IONOSPHERIC_NTCM_GL -> int
14541
-
14542
- A class method.
14543
-
14544
- */
14545
- /*
14546
- Document-method: GPS_PVT::GPS.IONOSPHERIC_NONE
14547
-
14548
- call-seq:
14549
- IONOSPHERIC_NONE -> int
14550
-
14551
- A class method.
14552
-
14553
- */
14554
- /*
14555
- Document-method: GPS_PVT::GPS.IONOSPHERIC_MODELS
14556
-
14557
- call-seq:
14558
- IONOSPHERIC_MODELS -> int
14559
-
14560
- A class method.
14561
-
14562
- */
14563
- /*
14564
- Document-method: GPS_PVT::GPS.IONOSPHERIC_SKIP
14565
-
14566
- call-seq:
14567
- IONOSPHERIC_SKIP -> int
14568
-
14569
- A class method.
14570
-
14571
- */
14572
14709
  /*
14573
14710
  Document-method: GPS_PVT::GPS::SolverOptionsCommon.cast_general
14574
14711
 
@@ -14685,123 +14822,7 @@ fail:
14685
14822
 
14686
14823
 
14687
14824
  /*
14688
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.ionospheric_models
14689
-
14690
- call-seq:
14691
- ionospheric_models -> std::vector< int >
14692
-
14693
- An instance method.
14694
-
14695
- */
14696
- SWIGINTERN VALUE
14697
- _wrap_SolverOptionsCommon_ionospheric_models(int argc, VALUE *argv, VALUE self) {
14698
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
14699
- void *argp1 = 0 ;
14700
- int res1 = 0 ;
14701
- std::vector< int > result;
14702
- VALUE vresult = Qnil;
14703
-
14704
- if ((argc < 0) || (argc > 0)) {
14705
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
14706
- }
14707
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
14708
- if (!SWIG_IsOK(res1)) {
14709
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > const *","get_ionospheric_models", 1, self ));
14710
- }
14711
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
14712
- {
14713
- try {
14714
- result = ((GPS_SolverOptions_Common< double > const *)arg1)->get_ionospheric_models();
14715
- } catch (const native_exception &e) {
14716
- e.regenerate();
14717
- SWIG_fail;
14718
- } catch (const std::exception& e) {
14719
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
14720
- }
14721
- }
14722
- {
14723
- vresult = rb_ary_new();
14724
-
14725
- for(std::vector< int >::const_iterator it((&result)->begin()), it_end((&result)->end());
14726
- it != it_end; ++it){
14727
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (*it));
14728
- }
14729
- }
14730
- return vresult;
14731
- fail:
14732
- return Qnil;
14733
- }
14734
-
14735
-
14736
- /*
14737
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.ionospheric_models=
14738
-
14739
- call-seq:
14740
- ionospheric_models=(std::vector< int > const & models) -> std::vector< int >
14741
-
14742
- An instance method.
14743
-
14744
- */
14745
- SWIGINTERN VALUE
14746
- _wrap_SolverOptionsCommon_ionospheric_modelse___(int argc, VALUE *argv, VALUE self) {
14747
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
14748
- std::vector< int > *arg2 = 0 ;
14749
- void *argp1 = 0 ;
14750
- int res1 = 0 ;
14751
- std::vector< int > temp2 ;
14752
- std::vector< int > result;
14753
- VALUE vresult = Qnil;
14754
-
14755
- if ((argc < 1) || (argc > 1)) {
14756
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14757
- }
14758
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
14759
- if (!SWIG_IsOK(res1)) {
14760
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > *","set_ionospheric_models", 1, self ));
14761
- }
14762
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
14763
- {
14764
- arg2 = &temp2;
14765
-
14766
- if(RB_TYPE_P(argv[0], T_ARRAY)){
14767
- for(int i(0), i_max(RARRAY_LEN(argv[0])); i < i_max; ++i){
14768
- VALUE obj(RARRAY_AREF(argv[0], i));
14769
- int v;
14770
- if(SWIG_IsOK(SWIG_AsVal_int (obj, &v))){
14771
- temp2.push_back(v);
14772
- }else{
14773
- SWIG_exception(SWIG_TypeError, "std::vector< int > is expected");
14774
- }
14775
- }
14776
- }
14777
-
14778
- }
14779
- {
14780
- try {
14781
- result = (arg1)->set_ionospheric_models((std::vector< int > const &)*arg2);
14782
- } catch (const native_exception &e) {
14783
- e.regenerate();
14784
- SWIG_fail;
14785
- } catch (const std::exception& e) {
14786
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
14787
- }
14788
- }
14789
- {
14790
- vresult = rb_ary_new();
14791
-
14792
- for(std::vector< int >::const_iterator it((&result)->begin()), it_end((&result)->end());
14793
- it != it_end; ++it){
14794
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (*it));
14795
- }
14796
- }
14797
- return vresult;
14798
- fail:
14799
- return Qnil;
14800
- }
14801
-
14802
-
14803
- /*
14804
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.elevation_mask=
14825
+ Document-method: GPS_PVT::GPS::SolverOptionsCommon.elevation_mask=
14805
14826
 
14806
14827
  call-seq:
14807
14828
  elevation_mask=(double const & v) -> double
@@ -14988,100 +15009,6 @@ fail:
14988
15009
  }
14989
15010
 
14990
15011
 
14991
- /*
14992
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.f_10_7=
14993
-
14994
- call-seq:
14995
- f_10_7=(double const & v) -> double
14996
-
14997
- An instance method.
14998
-
14999
- */
15000
- SWIGINTERN VALUE
15001
- _wrap_SolverOptionsCommon_f_10_7e___(int argc, VALUE *argv, VALUE self) {
15002
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
15003
- double *arg2 = 0 ;
15004
- void *argp1 = 0 ;
15005
- int res1 = 0 ;
15006
- double temp2 ;
15007
- double val2 ;
15008
- int ecode2 = 0 ;
15009
- double result;
15010
- VALUE vresult = Qnil;
15011
-
15012
- if ((argc < 1) || (argc > 1)) {
15013
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
15014
- }
15015
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
15016
- if (!SWIG_IsOK(res1)) {
15017
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > *","set_f_10_7", 1, self ));
15018
- }
15019
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
15020
- ecode2 = SWIG_AsVal_double(argv[0], &val2);
15021
- if (!SWIG_IsOK(ecode2)) {
15022
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","set_f_10_7", 2, argv[0] ));
15023
- }
15024
- temp2 = static_cast< double >(val2);
15025
- arg2 = &temp2;
15026
- {
15027
- try {
15028
- result = (double)GPS_SolverOptions_Common_Sl_double_Sg__set_f_10_7(arg1,(double const &)*arg2);
15029
- } catch (const native_exception &e) {
15030
- e.regenerate();
15031
- SWIG_fail;
15032
- } catch (const std::exception& e) {
15033
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
15034
- }
15035
- }
15036
- vresult = SWIG_From_double(static_cast< double >(result));
15037
- return vresult;
15038
- fail:
15039
- return Qnil;
15040
- }
15041
-
15042
-
15043
- /*
15044
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.f_10_7
15045
-
15046
- call-seq:
15047
- f_10_7 -> double const &
15048
-
15049
- An instance method.
15050
-
15051
- */
15052
- SWIGINTERN VALUE
15053
- _wrap_SolverOptionsCommon_f_10_7(int argc, VALUE *argv, VALUE self) {
15054
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
15055
- void *argp1 = 0 ;
15056
- int res1 = 0 ;
15057
- double *result = 0 ;
15058
- VALUE vresult = Qnil;
15059
-
15060
- if ((argc < 0) || (argc > 0)) {
15061
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
15062
- }
15063
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
15064
- if (!SWIG_IsOK(res1)) {
15065
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > const *","get_f_10_7", 1, self ));
15066
- }
15067
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
15068
- {
15069
- try {
15070
- result = (double *) &GPS_SolverOptions_Common_Sl_double_Sg__get_f_10_7((GPS_SolverOptions_Common< double > const *)arg1);
15071
- } catch (const native_exception &e) {
15072
- e.regenerate();
15073
- SWIG_fail;
15074
- } catch (const std::exception& e) {
15075
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
15076
- }
15077
- }
15078
- vresult = SWIG_From_double(static_cast< double >(*result));
15079
- return vresult;
15080
- fail:
15081
- return Qnil;
15082
- }
15083
-
15084
-
15085
15012
  SWIGINTERN void
15086
15013
  free_GPS_SolverOptions_Common_Sl_double_Sg_(void *self) {
15087
15014
  GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *)self;
@@ -15617,6 +15544,92 @@ fail:
15617
15544
  }
15618
15545
 
15619
15546
 
15547
+ /*
15548
+ Document-method: GPS_PVT::GPS::Solver.correction
15549
+
15550
+ call-seq:
15551
+ correction -> VALUE
15552
+
15553
+ An instance method.
15554
+
15555
+ */
15556
+ SWIGINTERN VALUE
15557
+ _wrap_Solver_correction(int argc, VALUE *argv, VALUE self) {
15558
+ GPS_Solver< double > *arg1 = (GPS_Solver< double > *) 0 ;
15559
+ void *argp1 = 0 ;
15560
+ int res1 = 0 ;
15561
+ VALUE result;
15562
+ VALUE vresult = Qnil;
15563
+
15564
+ if ((argc < 0) || (argc > 0)) {
15565
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
15566
+ }
15567
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverT_double_t, 0 | 0 );
15568
+ if (!SWIG_IsOK(res1)) {
15569
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Solver< double > const *","get_correction", 1, self ));
15570
+ }
15571
+ arg1 = reinterpret_cast< GPS_Solver< double > * >(argp1);
15572
+ {
15573
+ try {
15574
+ result = (VALUE)GPS_Solver_Sl_double_Sg__get_correction((GPS_Solver< double > const *)arg1);
15575
+ } catch (const native_exception &e) {
15576
+ e.regenerate();
15577
+ SWIG_fail;
15578
+ } catch (const std::exception& e) {
15579
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
15580
+ }
15581
+ }
15582
+ vresult = result;
15583
+ return vresult;
15584
+ fail:
15585
+ return Qnil;
15586
+ }
15587
+
15588
+
15589
+ /*
15590
+ Document-method: GPS_PVT::GPS::Solver.correction=
15591
+
15592
+ call-seq:
15593
+ correction=(VALUE hash) -> VALUE
15594
+
15595
+ An instance method.
15596
+
15597
+ */
15598
+ SWIGINTERN VALUE
15599
+ _wrap_Solver_correctione___(int argc, VALUE *argv, VALUE self) {
15600
+ GPS_Solver< double > *arg1 = (GPS_Solver< double > *) 0 ;
15601
+ VALUE arg2 = (VALUE) 0 ;
15602
+ void *argp1 = 0 ;
15603
+ int res1 = 0 ;
15604
+ VALUE result;
15605
+ VALUE vresult = Qnil;
15606
+
15607
+ if ((argc < 1) || (argc > 1)) {
15608
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
15609
+ }
15610
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverT_double_t, 0 | 0 );
15611
+ if (!SWIG_IsOK(res1)) {
15612
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Solver< double > *","set_correction", 1, self ));
15613
+ }
15614
+ arg1 = reinterpret_cast< GPS_Solver< double > * >(argp1);
15615
+ arg2 = argv[0];
15616
+ {
15617
+ try {
15618
+ result = (VALUE)GPS_Solver_Sl_double_Sg__set_correction(arg1,arg2);
15619
+ } catch (const native_exception &e) {
15620
+ e.regenerate();
15621
+ SWIG_fail;
15622
+ } catch (const std::exception& e) {
15623
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
15624
+ }
15625
+ }
15626
+ vresult = result;
15627
+ return vresult;
15628
+ fail:
15629
+ return Qnil;
15630
+ }
15631
+
15632
+
15620
15633
  SWIGINTERN void
15621
15634
  free_GPS_Solver_Sl_double_Sg_(void *self) {
15622
15635
  GPS_Solver< double > *arg1 = (GPS_Solver< double > *)self;
@@ -17730,60 +17743,52 @@ fail:
17730
17743
  call-seq:
17731
17744
  tropo_correction(SBAS_SpaceNode< double >::float_t const & year_utc, ENU relative_pos, LLH usrllh) -> SBAS_SpaceNode< double >::float_t
17732
17745
 
17733
- An instance method.
17746
+ A class method.
17734
17747
 
17735
17748
  */
17736
17749
  SWIGINTERN VALUE
17737
17750
  _wrap_SpaceNode_SBAS_tropo_correction(int argc, VALUE *argv, VALUE self) {
17738
- SBAS_SpaceNode< double > *arg1 = (SBAS_SpaceNode< double > *) 0 ;
17739
- SBAS_SpaceNode< double >::float_t *arg2 = 0 ;
17740
- SBAS_SpaceNode< double >::enu_t *arg3 = 0 ;
17741
- SBAS_SpaceNode< double >::llh_t *arg4 = 0 ;
17742
- void *argp1 = 0 ;
17743
- int res1 = 0 ;
17744
- SBAS_SpaceNode< double >::float_t temp2 ;
17745
- double val2 ;
17746
- int ecode2 = 0 ;
17751
+ SBAS_SpaceNode< double >::float_t *arg1 = 0 ;
17752
+ SBAS_SpaceNode< double >::enu_t *arg2 = 0 ;
17753
+ SBAS_SpaceNode< double >::llh_t *arg3 = 0 ;
17754
+ SBAS_SpaceNode< double >::float_t temp1 ;
17755
+ double val1 ;
17756
+ int ecode1 = 0 ;
17757
+ void *argp2 ;
17758
+ int res2 = 0 ;
17747
17759
  void *argp3 ;
17748
17760
  int res3 = 0 ;
17749
- void *argp4 ;
17750
- int res4 = 0 ;
17751
17761
  SBAS_SpaceNode< double >::float_t result;
17752
17762
  VALUE vresult = Qnil;
17753
17763
 
17754
17764
  if ((argc < 3) || (argc > 3)) {
17755
17765
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
17756
17766
  }
17757
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_SpaceNodeT_double_t, 0 | 0 );
17758
- if (!SWIG_IsOK(res1)) {
17759
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double > const *","tropo_correction", 1, self ));
17760
- }
17761
- arg1 = reinterpret_cast< SBAS_SpaceNode< double > * >(argp1);
17762
- ecode2 = SWIG_AsVal_double(argv[0], &val2);
17763
- if (!SWIG_IsOK(ecode2)) {
17764
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::float_t","tropo_correction", 2, argv[0] ));
17767
+ ecode1 = SWIG_AsVal_double(argv[0], &val1);
17768
+ if (!SWIG_IsOK(ecode1)) {
17769
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::float_t","SBAS_SpaceNode<(double)>::tropo_correction", 1, argv[0] ));
17765
17770
  }
17766
- temp2 = static_cast< SBAS_SpaceNode< double >::float_t >(val2);
17767
- arg2 = &temp2;
17768
- res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_System_ENUT_double_WGS84_t, 0 );
17769
- if (!SWIG_IsOK(res3)) {
17770
- SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::enu_t const &","tropo_correction", 3, argv[1] ));
17771
+ temp1 = static_cast< SBAS_SpaceNode< double >::float_t >(val1);
17772
+ arg1 = &temp1;
17773
+ res2 = SWIG_ConvertPtr(argv[1], &argp2, SWIGTYPE_p_System_ENUT_double_WGS84_t, 0 );
17774
+ if (!SWIG_IsOK(res2)) {
17775
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::enu_t const &","SBAS_SpaceNode<(double)>::tropo_correction", 2, argv[1] ));
17771
17776
  }
17772
- if (!argp3) {
17773
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "SBAS_SpaceNode< double >::enu_t const &","tropo_correction", 3, argv[1]));
17777
+ if (!argp2) {
17778
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "SBAS_SpaceNode< double >::enu_t const &","SBAS_SpaceNode<(double)>::tropo_correction", 2, argv[1]));
17774
17779
  }
17775
- arg3 = reinterpret_cast< SBAS_SpaceNode< double >::enu_t * >(argp3);
17776
- res4 = SWIG_ConvertPtr(argv[2], &argp4, SWIGTYPE_p_System_LLHT_double_WGS84_t, 0 );
17777
- if (!SWIG_IsOK(res4)) {
17778
- SWIG_exception_fail(SWIG_ArgError(res4), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::llh_t const &","tropo_correction", 4, argv[2] ));
17780
+ arg2 = reinterpret_cast< SBAS_SpaceNode< double >::enu_t * >(argp2);
17781
+ res3 = SWIG_ConvertPtr(argv[2], &argp3, SWIGTYPE_p_System_LLHT_double_WGS84_t, 0 );
17782
+ if (!SWIG_IsOK(res3)) {
17783
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "SBAS_SpaceNode< double >::llh_t const &","SBAS_SpaceNode<(double)>::tropo_correction", 3, argv[2] ));
17779
17784
  }
17780
- if (!argp4) {
17781
- SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "SBAS_SpaceNode< double >::llh_t const &","tropo_correction", 4, argv[2]));
17785
+ if (!argp3) {
17786
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "SBAS_SpaceNode< double >::llh_t const &","SBAS_SpaceNode<(double)>::tropo_correction", 3, argv[2]));
17782
17787
  }
17783
- arg4 = reinterpret_cast< SBAS_SpaceNode< double >::llh_t * >(argp4);
17788
+ arg3 = reinterpret_cast< SBAS_SpaceNode< double >::llh_t * >(argp3);
17784
17789
  {
17785
17790
  try {
17786
- result = (SBAS_SpaceNode< double >::float_t)((SBAS_SpaceNode< double > const *)arg1)->tropo_correction((SBAS_SpaceNode< double >::float_t const &)*arg2,(SBAS_SpaceNode< double >::enu_t const &)*arg3,(SBAS_SpaceNode< double >::llh_t const &)*arg4);
17791
+ result = (SBAS_SpaceNode< double >::float_t)SBAS_SpaceNode< double >::SWIGTEMPLATEDISAMBIGUATOR tropo_correction((double const &)*arg1,(System_ENU< double,WGS84 > const &)*arg2,(System_LLH< double,WGS84 > const &)*arg3);
17787
17792
  } catch (const native_exception &e) {
17788
17793
  e.regenerate();
17789
17794
  SWIG_fail;
@@ -18966,12 +18971,12 @@ static swig_type_info _swigt__p_int_t = {"_p_int_t", "int_t *", 0, 0, (void*)0,
18966
18971
  static swig_type_info _swigt__p_llh_t = {"_p_llh_t", "llh_t *", 0, 0, (void*)0, 0};
18967
18972
  static swig_type_info _swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t = {"_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t", "GPS_User_PVT< double >::base_t::detection_t **|GPS_Solver_RAIM_LSR< double,GPS_Solver_Base_Debug< double,GPS_Solver_Base< double > > >::user_pvt_t::detection_t **", 0, 0, (void*)0, 0};
18968
18973
  static swig_type_info _swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t = {"_p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t", "GPS_User_PVT< double >::base_t::exclusion_t **|GPS_Solver_RAIM_LSR< double,GPS_Solver_Base_Debug< double,GPS_Solver_Base< double > > >::user_pvt_t::exclusion_t **", 0, 0, (void*)0, 0};
18974
+ static swig_type_info _swigt__p_range_correction_list_t = {"_p_range_correction_list_t", "range_correction_list_t *", 0, 0, (void*)0, 0};
18969
18975
  static swig_type_info _swigt__p_s16_t = {"_p_s16_t", "s16_t *", 0, 0, (void*)0, 0};
18970
18976
  static swig_type_info _swigt__p_s32_t = {"_p_s32_t", "s32_t *", 0, 0, (void*)0, 0};
18971
18977
  static swig_type_info _swigt__p_s8_t = {"_p_s8_t", "s8_t *", 0, 0, (void*)0, 0};
18972
18978
  static swig_type_info _swigt__p_satellites_t = {"_p_satellites_t", "satellites_t *", 0, 0, (void*)0, 0};
18973
18979
  static swig_type_info _swigt__p_self_t = {"_p_self_t", "self_t *", 0, 0, (void*)0, 0};
18974
- static swig_type_info _swigt__p_std__vectorT_int_t = {"_p_std__vectorT_int_t", "std::vector< int > *", 0, 0, (void*)0, 0};
18975
18980
  static swig_type_info _swigt__p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t = {"_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t", "SBAS_SpaceNode< double >::available_satellites_t *|std::vector< std::pair< int,SBAS_SpaceNode< double >::Satellite const * > > *", 0, 0, (void*)0, 0};
18976
18981
  static swig_type_info _swigt__p_swig__GC_VALUE = {"_p_swig__GC_VALUE", "swig::GC_VALUE *", 0, 0, (void*)0, 0};
18977
18982
  static swig_type_info _swigt__p_u16_t = {"_p_u16_t", "u16_t *", 0, 0, (void*)0, 0};
@@ -19023,12 +19028,12 @@ static swig_type_info *swig_type_initial[] = {
19023
19028
  &_swigt__p_llh_t,
19024
19029
  &_swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t,
19025
19030
  &_swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t,
19031
+ &_swigt__p_range_correction_list_t,
19026
19032
  &_swigt__p_s16_t,
19027
19033
  &_swigt__p_s32_t,
19028
19034
  &_swigt__p_s8_t,
19029
19035
  &_swigt__p_satellites_t,
19030
19036
  &_swigt__p_self_t,
19031
- &_swigt__p_std__vectorT_int_t,
19032
19037
  &_swigt__p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t,
19033
19038
  &_swigt__p_swig__GC_VALUE,
19034
19039
  &_swigt__p_u16_t,
@@ -19080,12 +19085,12 @@ static swig_cast_info _swigc__p_int_t[] = { {&_swigt__p_int_t, 0, 0, 0},{0, 0,
19080
19085
  static swig_cast_info _swigc__p_llh_t[] = { {&_swigt__p_llh_t, 0, 0, 0},{0, 0, 0, 0}};
19081
19086
  static swig_cast_info _swigc__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t[] = { {&_swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t, 0, 0, 0},{0, 0, 0, 0}};
19082
19087
  static swig_cast_info _swigc__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t[] = { {&_swigt__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t, 0, 0, 0},{0, 0, 0, 0}};
19088
+ static swig_cast_info _swigc__p_range_correction_list_t[] = { {&_swigt__p_range_correction_list_t, 0, 0, 0},{0, 0, 0, 0}};
19083
19089
  static swig_cast_info _swigc__p_s16_t[] = { {&_swigt__p_s16_t, 0, 0, 0},{0, 0, 0, 0}};
19084
19090
  static swig_cast_info _swigc__p_s32_t[] = { {&_swigt__p_s32_t, 0, 0, 0},{0, 0, 0, 0}};
19085
19091
  static swig_cast_info _swigc__p_s8_t[] = { {&_swigt__p_s8_t, 0, 0, 0},{0, 0, 0, 0}};
19086
19092
  static swig_cast_info _swigc__p_satellites_t[] = { {&_swigt__p_satellites_t, 0, 0, 0},{0, 0, 0, 0}};
19087
19093
  static swig_cast_info _swigc__p_self_t[] = { {&_swigt__p_self_t, 0, 0, 0},{0, 0, 0, 0}};
19088
- static swig_cast_info _swigc__p_std__vectorT_int_t[] = { {&_swigt__p_std__vectorT_int_t, 0, 0, 0},{0, 0, 0, 0}};
19089
19094
  static swig_cast_info _swigc__p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t[] = { {&_swigt__p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
19090
19095
  static swig_cast_info _swigc__p_swig__GC_VALUE[] = { {&_swigt__p_swig__GC_VALUE, 0, 0, 0},{0, 0, 0, 0}};
19091
19096
  static swig_cast_info _swigc__p_u16_t[] = { {&_swigt__p_u16_t, 0, 0, 0},{0, 0, 0, 0}};
@@ -19137,12 +19142,12 @@ static swig_cast_info *swig_cast_initial[] = {
19137
19142
  _swigc__p_llh_t,
19138
19143
  _swigc__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__detection_t,
19139
19144
  _swigc__p_p_GPS_Solver_RAIM_LSRT_double_GPS_Solver_Base_DebugT_double_GPS_Solver_BaseT_double_t_t_t__user_pvt_t__exclusion_t,
19145
+ _swigc__p_range_correction_list_t,
19140
19146
  _swigc__p_s16_t,
19141
19147
  _swigc__p_s32_t,
19142
19148
  _swigc__p_s8_t,
19143
19149
  _swigc__p_satellites_t,
19144
19150
  _swigc__p_self_t,
19145
- _swigc__p_std__vectorT_int_t,
19146
19151
  _swigc__p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t,
19147
19152
  _swigc__p_swig__GC_VALUE,
19148
19153
  _swigc__p_u16_t,
@@ -19449,6 +19454,7 @@ SWIGEXPORT void Init_GPS(void) {
19449
19454
  rb_define_singleton_method(SwigClassTime.klass, "leap_second_events", VALUEFUNC(_wrap_Time_leap_second_events_get), 0);
19450
19455
  rb_define_singleton_method(SwigClassTime.klass, "guess_leap_seconds", VALUEFUNC(_wrap_Time_guess_leap_seconds), -1);
19451
19456
  rb_define_method(SwigClassTime.klass, "to_a", VALUEFUNC(_wrap_Time_to_a), -1);
19457
+ rb_define_method(SwigClassTime.klass, "<=>", VALUEFUNC(_wrap_Time___cmp__), -1);
19452
19458
  SwigClassTime.mark = 0;
19453
19459
  SwigClassTime.destroy = (void (*)(void *)) free_GPS_Time_Sl_double_Sg_;
19454
19460
  SwigClassTime.trackObjects = 0;
@@ -19464,6 +19470,7 @@ SWIGEXPORT void Init_GPS(void) {
19464
19470
  rb_define_singleton_method(SwigClassSpaceNode.klass, "L2_Frequency", VALUEFUNC(_wrap_SpaceNode_L2_Frequency_get), 0);
19465
19471
  rb_define_singleton_method(SwigClassSpaceNode.klass, "L2_WaveLength", VALUEFUNC(_wrap_SpaceNode_L2_WaveLength), -1);
19466
19472
  rb_define_singleton_method(SwigClassSpaceNode.klass, "gamma_L1_L2", VALUEFUNC(_wrap_SpaceNode_gamma_L1_L2_get), 0);
19473
+ rb_define_singleton_method(SwigClassSpaceNode.klass, "gamma_per_L1", VALUEFUNC(_wrap_SpaceNode_gamma_per_L1), -1);
19467
19474
  rb_define_method(SwigClassSpaceNode.klass, "iono_utc", VALUEFUNC(_wrap_SpaceNode_iono_utc), -1);
19468
19475
  rb_define_method(SwigClassSpaceNode.klass, "is_valid_iono", VALUEFUNC(_wrap_SpaceNode_is_valid_iono), -1);
19469
19476
  rb_define_method(SwigClassSpaceNode.klass, "is_valid_utc", VALUEFUNC(_wrap_SpaceNode_is_valid_utc), -1);
@@ -19477,7 +19484,7 @@ SWIGEXPORT void Init_GPS(void) {
19477
19484
  rb_define_singleton_method(SwigClassSpaceNode.klass, "tec2delay", VALUEFUNC(_wrap_SpaceNode_tec2delay), -1);
19478
19485
  rb_define_method(SwigClassSpaceNode.klass, "iono_correction", VALUEFUNC(_wrap_SpaceNode_iono_correction), -1);
19479
19486
  rb_define_singleton_method(SwigClassSpaceNode.klass, "tropo_correction_zenith_hydrostatic_Saastamoinen", VALUEFUNC(_wrap_SpaceNode_tropo_correction_zenith_hydrostatic_Saastamoinen), -1);
19480
- rb_define_method(SwigClassSpaceNode.klass, "tropo_correction", VALUEFUNC(_wrap_SpaceNode_tropo_correction), -1);
19487
+ rb_define_singleton_method(SwigClassSpaceNode.klass, "tropo_correction", VALUEFUNC(_wrap_SpaceNode_tropo_correction), -1);
19481
19488
  rb_define_method(SwigClassSpaceNode.klass, "register_ephemeris", VALUEFUNC(_wrap_SpaceNode_register_ephemeris), -1);
19482
19489
  rb_define_method(SwigClassSpaceNode.klass, "ephemeris", VALUEFUNC(_wrap_SpaceNode_ephemeris), -1);
19483
19490
  rb_define_method(SwigClassSpaceNode.klass, "read", VALUEFUNC(_wrap_SpaceNode_read), -1);
@@ -19646,6 +19653,7 @@ SWIGEXPORT void Init_GPS(void) {
19646
19653
  rb_define_const(SwigClassMeasurement.klass, "L1_RANGE_RATE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_RANGE_RATE_SIGMA)));
19647
19654
  rb_define_const(SwigClassMeasurement.klass, "L1_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_SIGNAL_STRENGTH_dBHz)));
19648
19655
  rb_define_const(SwigClassMeasurement.klass, "L1_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_LOCK_SEC)));
19656
+ rb_define_const(SwigClassMeasurement.klass, "L1_FREQUENCY", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_FREQUENCY)));
19649
19657
  rb_define_const(SwigClassMeasurement.klass, "ITEMS_PREDEFINED", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::ITEMS_PREDEFINED)));
19650
19658
  rb_define_method(SwigClassMeasurement.klass, "add", VALUEFUNC(_wrap_Measurement_add), -1);
19651
19659
  rb_define_method(SwigClassMeasurement.klass, "each", VALUEFUNC(_wrap_Measurement_each), -1);
@@ -19657,21 +19665,11 @@ SWIGEXPORT void Init_GPS(void) {
19657
19665
  SwigClassSolverOptionsCommon.klass = rb_define_class_under(mGPS, "SolverOptionsCommon", rb_cObject);
19658
19666
  SWIG_TypeClientData(SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, (void *) &SwigClassSolverOptionsCommon);
19659
19667
  rb_undef_alloc_func(SwigClassSolverOptionsCommon.klass);
19660
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_KLOBUCHAR", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_KLOBUCHAR)));
19661
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_SBAS", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_SBAS)));
19662
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_NTCM_GL", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_NTCM_GL)));
19663
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_NONE", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_NONE)));
19664
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_MODELS", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_MODELS)));
19665
- rb_define_const(SwigClassSolverOptionsCommon.klass, "IONOSPHERIC_SKIP", SWIG_From_int(static_cast< int >(GPS_SolverOptions_Common< double >::IONOSPHERIC_SKIP)));
19666
19668
  rb_define_method(SwigClassSolverOptionsCommon.klass, "cast_general", VALUEFUNC(_wrap_SolverOptionsCommon_cast_general), -1);
19667
- rb_define_method(SwigClassSolverOptionsCommon.klass, "ionospheric_models", VALUEFUNC(_wrap_SolverOptionsCommon_ionospheric_models), -1);
19668
- rb_define_method(SwigClassSolverOptionsCommon.klass, "ionospheric_models=", VALUEFUNC(_wrap_SolverOptionsCommon_ionospheric_modelse___), -1);
19669
19669
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_maske___), -1);
19670
19670
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_mask), -1);
19671
19671
  rb_define_method(SwigClassSolverOptionsCommon.klass, "residual_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_residual_maske___), -1);
19672
19672
  rb_define_method(SwigClassSolverOptionsCommon.klass, "residual_mask", VALUEFUNC(_wrap_SolverOptionsCommon_residual_mask), -1);
19673
- rb_define_method(SwigClassSolverOptionsCommon.klass, "f_10_7=", VALUEFUNC(_wrap_SolverOptionsCommon_f_10_7e___), -1);
19674
- rb_define_method(SwigClassSolverOptionsCommon.klass, "f_10_7", VALUEFUNC(_wrap_SolverOptionsCommon_f_10_7), -1);
19675
19673
  SwigClassSolverOptionsCommon.mark = 0;
19676
19674
  SwigClassSolverOptionsCommon.destroy = (void (*)(void *)) free_GPS_SolverOptions_Common_Sl_double_Sg_;
19677
19675
  SwigClassSolverOptionsCommon.trackObjects = 0;
@@ -19697,6 +19695,8 @@ SWIGEXPORT void Init_GPS(void) {
19697
19695
  rb_define_method(SwigClassSolver.klass, "sbas_space_node", VALUEFUNC(_wrap_Solver_sbas_space_node), -1);
19698
19696
  rb_define_method(SwigClassSolver.klass, "sbas_options", VALUEFUNC(_wrap_Solver_sbas_options), -1);
19699
19697
  rb_define_method(SwigClassSolver.klass, "solve", VALUEFUNC(_wrap_Solver_solve), -1);
19698
+ rb_define_method(SwigClassSolver.klass, "correction", VALUEFUNC(_wrap_Solver_correction), -1);
19699
+ rb_define_method(SwigClassSolver.klass, "correction=", VALUEFUNC(_wrap_Solver_correctione___), -1);
19700
19700
  SwigClassSolver.mark = (void (*)(void *)) GPS_Solver<double>::mark;
19701
19701
  SwigClassSolver.destroy = (void (*)(void *)) free_GPS_Solver_Sl_double_Sg_;
19702
19702
  SwigClassSolver.trackObjects = 0;
@@ -19766,7 +19766,7 @@ SWIGEXPORT void Init_GPS(void) {
19766
19766
  rb_define_const(SwigClassSpaceNode_SBAS.klass, "NULL_MESSAGES", SWIG_From_int(static_cast< int >(SBAS_SpaceNode< double >::NULL_MESSAGES)));
19767
19767
  rb_define_const(SwigClassSpaceNode_SBAS.klass, "UNSUPPORTED_MESSAGE", SWIG_From_int(static_cast< int >(SBAS_SpaceNode< double >::UNSUPPORTED_MESSAGE)));
19768
19768
  rb_define_singleton_method(SwigClassSpaceNode_SBAS.klass, "sagnac_correction", VALUEFUNC(_wrap_SpaceNode_SBAS_sagnac_correction), -1);
19769
- rb_define_method(SwigClassSpaceNode_SBAS.klass, "tropo_correction", VALUEFUNC(_wrap_SpaceNode_SBAS_tropo_correction), -1);
19769
+ rb_define_singleton_method(SwigClassSpaceNode_SBAS.klass, "tropo_correction", VALUEFUNC(_wrap_SpaceNode_SBAS_tropo_correction), -1);
19770
19770
  rb_define_method(SwigClassSpaceNode_SBAS.klass, "has_satellite", VALUEFUNC(_wrap_SpaceNode_SBAS_has_satellite), -1);
19771
19771
  rb_define_method(SwigClassSpaceNode_SBAS.klass, "update_all_ephemeris", VALUEFUNC(_wrap_SpaceNode_SBAS_update_all_ephemeris), -1);
19772
19772
  rb_define_method(SwigClassSpaceNode_SBAS.klass, "available_satellites", VALUEFUNC(_wrap_SpaceNode_SBAS_available_satellites), -1);