gps_pvt 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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);