gps_pvt 0.8.0 → 0.8.2

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.
@@ -1862,57 +1862,57 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1862
1862
  #define SWIGTYPE_p_GPS_SolverOptionsT_double_t swig_types[12]
1863
1863
  #define SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t swig_types[13]
1864
1864
  #define SWIGTYPE_p_GPS_SolverT_double_t swig_types[14]
1865
- #define SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t swig_types[15]
1866
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t swig_types[16]
1867
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters swig_types[17]
1868
- #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[18]
1869
- #define SWIGTYPE_p_GPS_TimeT_double_t swig_types[19]
1870
- #define SWIGTYPE_p_GPS_TimeT_double_t__leap_second_event_t swig_types[20]
1871
- #define SWIGTYPE_p_GPS_TimeT_double_t__leap_year_prop_res_t swig_types[21]
1872
- #define SWIGTYPE_p_GPS_User_PVTT_double_t swig_types[22]
1873
- #define SWIGTYPE_p_MatrixT_ComplexT_double_t_Array2D_DenseT_ComplexT_double_t_t_MatrixViewBaseT_t_t swig_types[23]
1874
- #define SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[24]
1875
- #define SWIGTYPE_p_MatrixViewBaseT_t swig_types[25]
1876
- #define SWIGTYPE_p_MatrixViewFilterT_MatrixViewBaseT_t_t swig_types[26]
1877
- #define SWIGTYPE_p_Matrix_FrozenT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[27]
1878
- #define SWIGTYPE_p_PushableData swig_types[28]
1879
- #define SWIGTYPE_p_RINEX_ClockT_double_t swig_types[29]
1880
- #define SWIGTYPE_p_RINEX_ObservationT_double_t swig_types[30]
1881
- #define SWIGTYPE_p_SBAS_EphemerisT_double_t swig_types[31]
1882
- #define SWIGTYPE_p_SBAS_SolverOptionsT_double_t swig_types[32]
1883
- #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t swig_types[33]
1884
- #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[34]
1885
- #define SWIGTYPE_p_SP3T_double_t swig_types[35]
1886
- #define SWIGTYPE_p_System_ENUT_double_WGS84_t swig_types[36]
1887
- #define SWIGTYPE_p_System_LLHT_double_WGS84_t swig_types[37]
1888
- #define SWIGTYPE_p_System_XYZT_double_WGS84_t swig_types[38]
1889
- #define SWIGTYPE_p_available_satellites_t swig_types[39]
1890
- #define SWIGTYPE_p_char swig_types[40]
1891
- #define SWIGTYPE_p_double swig_types[41]
1892
- #define SWIGTYPE_p_enu_t swig_types[42]
1893
- #define SWIGTYPE_p_eph_t swig_types[43]
1894
- #define SWIGTYPE_p_float_t swig_types[44]
1895
- #define SWIGTYPE_p_gps_space_node_t swig_types[45]
1896
- #define SWIGTYPE_p_gps_time_t swig_types[46]
1897
- #define SWIGTYPE_p_int swig_types[47]
1898
- #define SWIGTYPE_p_int_t swig_types[48]
1899
- #define SWIGTYPE_p_llh_t swig_types[49]
1900
- #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[50]
1901
- #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[51]
1902
- #define SWIGTYPE_p_p_double swig_types[52]
1903
- #define SWIGTYPE_p_range_correction_list_t swig_types[53]
1904
- #define SWIGTYPE_p_s16_t swig_types[54]
1905
- #define SWIGTYPE_p_s32_t swig_types[55]
1906
- #define SWIGTYPE_p_s8_t swig_types[56]
1907
- #define SWIGTYPE_p_satellites_t swig_types[57]
1908
- #define SWIGTYPE_p_self_t swig_types[58]
1909
- #define SWIGTYPE_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t swig_types[59]
1910
- #define SWIGTYPE_p_super_t swig_types[60]
1911
- #define SWIGTYPE_p_swig__GC_VALUE swig_types[61]
1912
- #define SWIGTYPE_p_u16_t swig_types[62]
1913
- #define SWIGTYPE_p_u32_t swig_types[63]
1914
- #define SWIGTYPE_p_u8_t swig_types[64]
1915
- #define SWIGTYPE_p_uint_t swig_types[65]
1865
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t swig_types[15]
1866
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters swig_types[16]
1867
+ #define SWIGTYPE_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[17]
1868
+ #define SWIGTYPE_p_GPS_TimeT_double_t swig_types[18]
1869
+ #define SWIGTYPE_p_GPS_TimeT_double_t__leap_second_event_t swig_types[19]
1870
+ #define SWIGTYPE_p_GPS_TimeT_double_t__leap_year_prop_res_t swig_types[20]
1871
+ #define SWIGTYPE_p_GPS_User_PVTT_double_t swig_types[21]
1872
+ #define SWIGTYPE_p_MatrixT_ComplexT_double_t_Array2D_DenseT_ComplexT_double_t_t_MatrixViewBaseT_t_t swig_types[22]
1873
+ #define SWIGTYPE_p_MatrixT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[23]
1874
+ #define SWIGTYPE_p_MatrixViewBaseT_t swig_types[24]
1875
+ #define SWIGTYPE_p_MatrixViewFilterT_MatrixViewBaseT_t_t swig_types[25]
1876
+ #define SWIGTYPE_p_Matrix_FrozenT_double_Array2D_DenseT_double_t_MatrixViewBaseT_t_t swig_types[26]
1877
+ #define SWIGTYPE_p_PushableData swig_types[27]
1878
+ #define SWIGTYPE_p_RINEX_ClockT_double_t swig_types[28]
1879
+ #define SWIGTYPE_p_RINEX_ObservationT_double_t swig_types[29]
1880
+ #define SWIGTYPE_p_SBAS_EphemerisT_double_t swig_types[30]
1881
+ #define SWIGTYPE_p_SBAS_SolverOptionsT_double_t swig_types[31]
1882
+ #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t swig_types[32]
1883
+ #define SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris swig_types[33]
1884
+ #define SWIGTYPE_p_SP3T_double_t swig_types[34]
1885
+ #define SWIGTYPE_p_System_ENUT_double_WGS84_t swig_types[35]
1886
+ #define SWIGTYPE_p_System_LLHT_double_WGS84_t swig_types[36]
1887
+ #define SWIGTYPE_p_System_XYZT_double_WGS84_t swig_types[37]
1888
+ #define SWIGTYPE_p_available_satellites_t swig_types[38]
1889
+ #define SWIGTYPE_p_char swig_types[39]
1890
+ #define SWIGTYPE_p_double swig_types[40]
1891
+ #define SWIGTYPE_p_enu_t swig_types[41]
1892
+ #define SWIGTYPE_p_eph_t swig_types[42]
1893
+ #define SWIGTYPE_p_float_t swig_types[43]
1894
+ #define SWIGTYPE_p_gps_space_node_t swig_types[44]
1895
+ #define SWIGTYPE_p_gps_time_t swig_types[45]
1896
+ #define SWIGTYPE_p_int swig_types[46]
1897
+ #define SWIGTYPE_p_int_t swig_types[47]
1898
+ #define SWIGTYPE_p_llh_t swig_types[48]
1899
+ #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[49]
1900
+ #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[50]
1901
+ #define SWIGTYPE_p_p_double swig_types[51]
1902
+ #define SWIGTYPE_p_range_correction_list_t swig_types[52]
1903
+ #define SWIGTYPE_p_s16_t swig_types[53]
1904
+ #define SWIGTYPE_p_s32_t swig_types[54]
1905
+ #define SWIGTYPE_p_s8_t swig_types[55]
1906
+ #define SWIGTYPE_p_satellites_t swig_types[56]
1907
+ #define SWIGTYPE_p_self_t swig_types[57]
1908
+ #define SWIGTYPE_p_std__vectorT_std__pairT_int_SBAS_SpaceNodeT_double_t__Satellite_const_p_t_t swig_types[58]
1909
+ #define SWIGTYPE_p_super_t swig_types[59]
1910
+ #define SWIGTYPE_p_swig__GC_VALUE swig_types[60]
1911
+ #define SWIGTYPE_p_u16_t swig_types[61]
1912
+ #define SWIGTYPE_p_u32_t swig_types[62]
1913
+ #define SWIGTYPE_p_u8_t swig_types[63]
1914
+ #define SWIGTYPE_p_uint_t swig_types[64]
1915
+ #define SWIGTYPE_p_unsigned_int swig_types[65]
1916
1916
  #define SWIGTYPE_p_xyz_t swig_types[66]
1917
1917
  static swig_type_info *swig_types[68];
1918
1918
  static swig_module_info swig_module = {swig_types, 67, 0, 0, 0, 0};
@@ -1964,6 +1964,7 @@ static VALUE mGPS;
1964
1964
  #include "navigation/GPS_Solver_Base.h"
1965
1965
  #include "navigation/GPS_Solver.h"
1966
1966
  #include "navigation/GPS_Solver_RAIM.h"
1967
+ #include "navigation/GPS_Solver_MultiFrequency.h"
1967
1968
  #include "navigation/SBAS_Solver.h"
1968
1969
  #include "navigation/GLONASS_Solver.h"
1969
1970
 
@@ -2360,6 +2361,11 @@ struct GPS_Ephemeris : public GPS_SpaceNode<FloatT>::SatelliteProperties::Epheme
2360
2361
  || (this->iode != this->iode_subframe3)
2361
2362
  || ((this->iodc & 0xFF) != this->iode));
2362
2363
  }
2364
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2365
+ return is_consistent() && GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2366
+ }
2367
+ GPS_Time<FloatT> t_clock() const {return GPS_Time<FloatT>(this->WN, this->t_oc);}
2368
+ GPS_Time<FloatT> t_ephemeris() const {return GPS_Time<FloatT>(this->WN, this->t_oe);}
2363
2369
  GPS_Ephemeris() : GPS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {
2364
2370
  invalidate();
2365
2371
  }
@@ -2381,6 +2387,10 @@ struct SBAS_Ephemeris : public SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephe
2381
2387
  SBAS_Ephemeris() : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris() {}
2382
2388
  SBAS_Ephemeris(const typename SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris &eph)
2383
2389
  : SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris(eph) {}
2390
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2391
+ return SBAS_SpaceNode<FloatT>::SatelliteProperties::Ephemeris::is_valid(t);
2392
+ }
2393
+ GPS_Time<FloatT> t_applicable() const {return GPS_Time<FloatT>(this->WN, this->t_0);}
2384
2394
  };
2385
2395
 
2386
2396
 
@@ -2397,6 +2407,9 @@ struct GLONASS_Ephemeris
2397
2407
  bool is_consistent() const {
2398
2408
  return has_string == 0x1F;
2399
2409
  }
2410
+ bool is_valid(const GPS_Time<FloatT> &t) const {
2411
+ return is_consistent() && eph_t::is_valid(t);
2412
+ }
2400
2413
  GLONASS_Ephemeris() : eph_t() {
2401
2414
  invalidate();
2402
2415
  }
@@ -2525,6 +2538,16 @@ struct GPS_Measurement {
2525
2538
  L1_SIGNAL_STRENGTH_dBHz,
2526
2539
  L1_LOCK_SEC,
2527
2540
  L1_FREQUENCY,
2541
+
2542
+
2543
+ L2CM_PSEUDORANGE, L2CL_PSEUDORANGE, L2CM_PSEUDORANGE_SIGMA, L2CL_PSEUDORANGE_SIGMA,
2544
+ L2CM_CARRIER_PHASE, L2CL_CARRIER_PHASE, L2CM_CARRIER_PHASE_SIGMA, L2CL_CARRIER_PHASE_SIGMA,
2545
+ L2CM_DOPPLER, L2CL_DOPPLER, L2CM_DOPPLER_SIGMA, L2CL_DOPPLER_SIGMA,
2546
+ L2CM_RANGE_RATE, L2CL_RANGE_RATE, L2CM_RANGE_RATE_SIGMA, L2CL_RANGE_RATE_SIGMA,
2547
+ L2CM_SIGNAL_STRENGTH_dBHz, L2CL_SIGNAL_STRENGTH_dBHz,
2548
+ L2CM_LOCK_SEC, L2CL_LOCK_SEC,
2549
+
2550
+
2528
2551
  ITEMS_PREDEFINED,
2529
2552
  };
2530
2553
  void add(const int &prn, const int &key, const FloatT &value){
@@ -2543,12 +2566,14 @@ struct GPS_SolverOptions_Common {
2543
2566
 
2544
2567
  template <class FloatT>
2545
2568
  struct GPS_SolverOptions
2546
- : public GPS_SinglePositioning<FloatT>::options_t,
2569
+ : public GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >::options_t,
2547
2570
  GPS_SolverOptions_Common<FloatT> {
2548
- typedef typename GPS_SinglePositioning<FloatT>::options_t base_t;
2571
+ typedef typename GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >::options_t base_t;
2549
2572
  void exclude(const int &prn){base_t::exclude_prn.set(prn);}
2550
2573
  void include(const int &prn){base_t::exclude_prn.reset(prn);}
2551
2574
  std::vector<int> excluded() const {return base_t::exclude_prn.excluded();}
2575
+ bool get_exclude_L2C() {return base_t::exclude_L2C;}
2576
+ bool set_exclude_L2C(const bool &b) {return base_t::exclude_L2C = b;}
2552
2577
  GPS_Solver_GeneralOptions<FloatT> *cast_general(){return this;}
2553
2578
  const GPS_Solver_GeneralOptions<FloatT> *cast_general() const {return this;}
2554
2579
  };
@@ -2600,6 +2625,43 @@ struct GPS_RangeCorrector
2600
2625
  };
2601
2626
 
2602
2627
 
2628
+ template <class BaseT, class HookT>
2629
+ struct HookableSolver : public BaseT {
2630
+ typedef BaseT base_t;
2631
+ HookT *hook;
2632
+ template <class ArgT>
2633
+ HookableSolver(const ArgT &);
2634
+ virtual typename base_t::relative_property_t relative_property(
2635
+ const typename base_t::prn_t &prn,
2636
+ const typename base_t::measurement_t::mapped_type &measurement,
2637
+ const typename base_t::float_t &receiver_error,
2638
+ const typename base_t::gps_time_t &time_arrival,
2639
+ const typename base_t::pos_t &usr_pos,
2640
+ const typename base_t::xyz_t &usr_vel) const {
2641
+ typename base_t::relative_property_t res(
2642
+ base_t::relative_property(
2643
+ prn, measurement, receiver_error, time_arrival,
2644
+ usr_pos, usr_vel));
2645
+ if(hook){
2646
+ res = hook->relative_property(
2647
+ prn, measurement, receiver_error, time_arrival,
2648
+ usr_pos, usr_vel,
2649
+ res);
2650
+ }
2651
+ return res;
2652
+ }
2653
+ virtual typename base_t::satellite_t select_satellite(
2654
+ const typename base_t::prn_t &prn,
2655
+ const typename base_t::gps_time_t &time) const {
2656
+ typename base_t::satellite_t res(base_t::select_satellite(prn, time));
2657
+ if(hook){
2658
+ res = hook->select_satellite(prn, time, res);
2659
+ }
2660
+ return res;
2661
+ }
2662
+ };
2663
+
2664
+
2603
2665
  template <class FloatT>
2604
2666
  struct GPS_Solver
2605
2667
  : public GPS_Solver_RAIM_LSR<FloatT,
@@ -2610,7 +2672,9 @@ struct GPS_Solver
2610
2672
  struct gps_t {
2611
2673
  GPS_SpaceNode<FloatT> space_node;
2612
2674
  GPS_SolverOptions<FloatT> options;
2613
- GPS_SinglePositioning<FloatT> solver;
2675
+ HookableSolver<
2676
+ GPS_Solver_MultiFrequency<GPS_SinglePositioning<FloatT> >,
2677
+ GPS_Solver<FloatT> > solver;
2614
2678
  struct ephemeris_proxy_t {
2615
2679
  struct item_t {
2616
2680
  const void *impl;
@@ -2632,18 +2696,20 @@ struct GPS_Solver
2632
2696
  solver.satellites.impl_select = forward;
2633
2697
  }
2634
2698
  } ephemeris_proxy;
2635
- gps_t() : space_node(), options(), solver(space_node), ephemeris_proxy(solver) {}
2699
+ gps_t() : space_node(), options(), solver(space_node), ephemeris_proxy(solver) {
2700
+ options.exclude_L2C = true;
2701
+ }
2636
2702
  } gps;
2637
2703
  struct sbas_t {
2638
2704
  SBAS_SpaceNode<FloatT> space_node;
2639
2705
  SBAS_SolverOptions<FloatT> options;
2640
- SBAS_SinglePositioning<FloatT> solver;
2706
+ HookableSolver<SBAS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2641
2707
  sbas_t() : space_node(), options(), solver(space_node) {}
2642
2708
  } sbas;
2643
2709
  struct glonass_t {
2644
2710
  GLONASS_SpaceNode<FloatT> space_node;
2645
2711
  GLONASS_SolverOptions<FloatT> options;
2646
- GLONASS_SinglePositioning<FloatT> solver;
2712
+ HookableSolver<GLONASS_SinglePositioning<FloatT>, GPS_Solver<FloatT> > solver;
2647
2713
  glonass_t() : space_node(), options(), solver(space_node) {}
2648
2714
  } glonass;
2649
2715
  VALUE hooks;
@@ -2679,6 +2745,9 @@ struct GPS_Solver
2679
2745
  = sbas.solver.tropospheric_correction
2680
2746
  = glonass.solver.tropospheric_correction
2681
2747
  = tropospheric;
2748
+ gps.solver.hook = this;
2749
+ sbas.solver.hook = this;
2750
+ glonass.solver.hook = this;
2682
2751
  }
2683
2752
  GPS_SpaceNode<FloatT> &gps_space_node() {return gps.space_node;}
2684
2753
  GPS_SolverOptions<FloatT> &gps_options() {return gps.options;}
@@ -2686,28 +2755,44 @@ struct GPS_Solver
2686
2755
  SBAS_SolverOptions<FloatT> &sbas_options() {return sbas.options;}
2687
2756
  GLONASS_SpaceNode<FloatT> &glonass_space_node() {return glonass.space_node;}
2688
2757
  GLONASS_SolverOptions<FloatT> &glonass_options() {return glonass.options;}
2689
- const base_t &select_solver(
2758
+ const base_t &select(
2690
2759
  const typename base_t::prn_t &prn) const {
2691
2760
  if(prn > 0 && prn <= 32){return gps.solver;}
2692
2761
  if(prn >= 120 && prn <= 158){return sbas.solver;}
2693
2762
  if(prn > 192 && prn <= 202){return gps.solver;}
2694
2763
  if(prn > 0x100 && prn <= (0x100 + 24)){return glonass.solver;}
2695
- // call order: base_t::solve => this returned by select()
2696
- // => relative_property() => select_solver()
2697
- // For not supported satellite, call loop prevention is required.
2698
- static const base_t dummy;
2699
- return dummy;
2764
+ return *this;
2700
2765
  }
2766
+ // proxy of virtual functions
2767
+ typename base_t::relative_property_t relative_property(
2768
+ const typename base_t::prn_t &prn,
2769
+ const typename base_t::measurement_t::mapped_type &measurement,
2770
+ const typename base_t::float_t &receiver_error,
2771
+ const typename base_t::gps_time_t &time_arrival,
2772
+ const typename base_t::pos_t &usr_pos,
2773
+ const typename base_t::xyz_t &usr_vel,
2774
+ const typename base_t::relative_property_t &orig) const;
2701
2775
  virtual typename base_t::relative_property_t relative_property(
2702
2776
  const typename base_t::prn_t &prn,
2703
2777
  const typename base_t::measurement_t::mapped_type &measurement,
2704
2778
  const typename base_t::float_t &receiver_error,
2705
2779
  const typename base_t::gps_time_t &time_arrival,
2706
2780
  const typename base_t::pos_t &usr_pos,
2707
- const typename base_t::xyz_t &usr_vel) const;
2781
+ const typename base_t::xyz_t &usr_vel) const {
2782
+ return relative_property(
2783
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel,
2784
+ super_t::relative_property(
2785
+ prn, measurement, receiver_error, time_arrival, usr_pos, usr_vel));
2786
+ }
2787
+ typename base_t::satellite_t select_satellite(
2788
+ const typename base_t::prn_t &prn,
2789
+ const typename base_t::gps_time_t &time,
2790
+ const typename base_t::satellite_t &orig) const;
2708
2791
  virtual typename base_t::satellite_t select_satellite(
2709
2792
  const typename base_t::prn_t &prn,
2710
- const typename base_t::gps_time_t &time) const;
2793
+ const typename base_t::gps_time_t &time) const {
2794
+ return select_satellite(prn, time, super_t::select_satellite(prn, time));
2795
+ }
2711
2796
  virtual bool update_position_solution(
2712
2797
  const typename base_t::geometric_matrices_t &geomat,
2713
2798
  typename base_t::user_pvt_t &res) const;
@@ -3565,6 +3650,13 @@ SWIGINTERN GPS_Ionospheric_UTC_Parameters< double > GPS_Ionospheric_UTC_Paramete
3565
3650
  (typename GPS_SpaceNode<double>::Ionospheric_UTC_Parameters &)res = raw;
3566
3651
  return res;
3567
3652
  }
3653
+ SWIGINTERN void GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(GPS_Ionospheric_UTC_Parameters< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t){
3654
+ typedef typename GPS_SpaceNode<double>
3655
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3656
+ dump_t::how_set(buf_brdc, t);
3657
+ GPS_SpaceNode<double>::Ionospheric_UTC_Parameters::raw_t raw;
3658
+ (raw = *self).dump<2, 0>(buf_brdc);
3659
+ }
3568
3660
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_svid(GPS_Ephemeris< double > *self,unsigned int const &v){
3569
3661
  return self->svid = v;
3570
3662
  }
@@ -3577,10 +3669,10 @@ SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_WN(GPS_Ephemeris< double
3577
3669
  SWIGINTERN unsigned int const &GPS_Ephemeris_Sl_double_Sg__get_WN(GPS_Ephemeris< double > const *self){
3578
3670
  return self->WN;
3579
3671
  }
3580
- SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,int const &v){
3672
+ SWIGINTERN double GPS_Ephemeris_Sl_double_Sg__set_URA(GPS_Ephemeris< double > *self,double const &v){
3581
3673
  return self->URA = v;
3582
3674
  }
3583
- SWIGINTERN int const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3675
+ SWIGINTERN double const &GPS_Ephemeris_Sl_double_Sg__get_URA(GPS_Ephemeris< double > const *self){
3584
3676
  return self->URA;
3585
3677
  }
3586
3678
  SWIGINTERN unsigned int GPS_Ephemeris_Sl_double_Sg__set_SV_health(GPS_Ephemeris< double > *self,unsigned int const &v){
@@ -3783,6 +3875,62 @@ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__parse(GPS_Ephemeris< double > *self,
3783
3875
  break;
3784
3876
  }
3785
3877
  }
3878
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump(GPS_Ephemeris< double > *self,unsigned int buf_sf1[10],unsigned int buf_sf2[10],unsigned int buf_sf3[10],GPS_Time< double > const &t){
3879
+ typedef typename GPS_SpaceNode<double>
3880
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3881
+ GPS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
3882
+ raw = *self;
3883
+ unsigned int *buf[10] = {buf_sf1, buf_sf2, buf_sf3};
3884
+ for(int i(0); i < 3; ++i){
3885
+ dump_t::how_set(buf[i], t);
3886
+ raw.dump<2, 0>(buf[i], i + 1);
3887
+ }
3888
+ }
3889
+ SWIGINTERN int GPS_Ephemeris_Sl_double_Sg__parse_almanac(GPS_Ephemeris< double > *self,unsigned int const buf[10]){
3890
+ typedef GPS_SpaceNode<double>::BroadcastedMessage<unsigned int, 30> parse_t;
3891
+ switch(parse_t::subframe_id(buf)){
3892
+ case 4:
3893
+ case 5:
3894
+ break;
3895
+ default: return -1;
3896
+ }
3897
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3898
+ almanac_t::raw_t raw;
3899
+ switch(parse_t::data_id(buf)){
3900
+ case 1: // GPS
3901
+ raw.update<2, 0>(buf);
3902
+ if((raw.svid < 1) || (raw.svid > 32)){return -1;}
3903
+ break;
3904
+ case 3: // QZSS
3905
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3906
+ .update<2, 0>(buf);
3907
+ if((raw.svid < 193) || (raw.svid > 202)){return -1;}
3908
+ break;
3909
+ default:
3910
+ return -1;
3911
+ }
3912
+ almanac_t almanac;
3913
+ *self = (GPS_SpaceNode<double>::SatelliteProperties::Ephemeris)(almanac = raw);
3914
+ return self->svid;
3915
+ }
3916
+ SWIGINTERN void GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(GPS_Ephemeris< double > *self,unsigned int buf_brdc[10],GPS_Time< double > const &t,unsigned int const &qzss_subframe=0){
3917
+ typedef typename GPS_SpaceNode<double>
3918
+ ::BroadcastedMessage<unsigned int, 30> dump_t;
3919
+ dump_t::how_set(buf_brdc, t);
3920
+ typedef GPS_SpaceNode<double>::SatelliteProperties::Almanac almanac_t;
3921
+ almanac_t almanac;
3922
+ almanac_t::raw_t raw;
3923
+ raw = (almanac = *self);
3924
+ switch(qzss_subframe){
3925
+ case 4:
3926
+ case 5:
3927
+ reinterpret_cast<QZSS_SpaceNode<double>::SatelliteProperties::Almanac::raw_t &>(raw)
3928
+ .dump<2, 0>(buf_brdc, qzss_subframe);
3929
+ break;
3930
+ default:
3931
+ raw.dump<2, 0>(buf_brdc);
3932
+ }
3933
+ }
3786
3934
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GPS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GPS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
3787
3935
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
3788
3936
  self->constellation(t_tx, dt_transit, true));
@@ -3926,6 +4074,20 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
3926
4074
  return self->cast_general()->residual_mask;
3927
4075
  }
3928
4076
 
4077
+ template <> template <>
4078
+ HookableSolver<
4079
+ GPS_Solver_MultiFrequency<GPS_SinglePositioning<double> >,
4080
+ GPS_Solver<double> >
4081
+ ::HookableSolver<GPS_SpaceNode<double> >(const GPS_SpaceNode<double> &sn)
4082
+ : GPS_Solver_MultiFrequency<GPS_SinglePositioning<double> >(sn), hook(NULL) {}
4083
+ template <> template <>
4084
+ HookableSolver<SBAS_SinglePositioning<double>, GPS_Solver<double> >
4085
+ ::HookableSolver<SBAS_SpaceNode<double> >(const SBAS_SpaceNode<double> &sn)
4086
+ : SBAS_SinglePositioning<double>(sn), hook(NULL) {}
4087
+ template <> template <>
4088
+ HookableSolver<GLONASS_SinglePositioning<double>, GPS_Solver<double> >
4089
+ ::HookableSolver<GLONASS_SpaceNode<double> >(const GLONASS_SpaceNode<double> &sn)
4090
+ : GLONASS_SinglePositioning<double>(sn), hook(NULL) {}
3929
4091
  template <>
3930
4092
  GPS_Solver<double>::base_t::relative_property_t
3931
4093
  GPS_Solver<double>::relative_property(
@@ -3934,14 +4096,12 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
3934
4096
  const GPS_Solver<double>::base_t::float_t &receiver_error,
3935
4097
  const GPS_Solver<double>::base_t::gps_time_t &time_arrival,
3936
4098
  const GPS_Solver<double>::base_t::pos_t &usr_pos,
3937
- const GPS_Solver<double>::base_t::xyz_t &usr_vel) const {
4099
+ const GPS_Solver<double>::base_t::xyz_t &usr_vel,
4100
+ const GPS_Solver<double>::base_t::relative_property_t &res_orig) const {
3938
4101
  union {
3939
4102
  base_t::relative_property_t prop;
3940
4103
  double values[7];
3941
- } res = {
3942
- select_solver(prn).relative_property(
3943
- prn, measurement, receiver_error, time_arrival,
3944
- usr_pos, usr_vel)};
4104
+ } res = {res_orig};
3945
4105
 
3946
4106
  do{
3947
4107
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4021,9 +4181,9 @@ SWIGINTERN double const &GPS_SolverOptions_Common_Sl_double_Sg__get_residual_mas
4021
4181
  template <>
4022
4182
  GPS_Solver<double>::base_t::satellite_t GPS_Solver<double>::select_satellite(
4023
4183
  const GPS_Solver<double>::base_t::prn_t &prn,
4024
- const GPS_Solver<double>::base_t::gps_time_t &time) const {
4025
- GPS_Solver<double>::base_t::satellite_t res(
4026
- select_solver(prn).select_satellite(prn, time));
4184
+ const GPS_Solver<double>::base_t::gps_time_t &time,
4185
+ const GPS_Solver<double>::base_t::satellite_t &res_orig) const {
4186
+ GPS_Solver<double>::base_t::satellite_t res(res_orig);
4027
4187
 
4028
4188
  if(!res.is_available()){
4029
4189
  static const VALUE key(ID2SYM(rb_intern("relative_property")));
@@ -4280,6 +4440,12 @@ SWIGINTERN double SBAS_Ephemeris_Sl_double_Sg__set_a_Gf1(SBAS_Ephemeris< double
4280
4440
  SWIGINTERN double const &SBAS_Ephemeris_Sl_double_Sg__get_a_Gf1(SBAS_Ephemeris< double > const *self){
4281
4441
  return self->a_Gf1;
4282
4442
  }
4443
+ SWIGINTERN void SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(SBAS_Ephemeris< double > *self,unsigned int buf_brdc[8],unsigned int const &preamble_idx=0){
4444
+ SBAS_SpaceNode<double>::DataBlock::preamble_set2(buf_brdc, preamble_idx);
4445
+ SBAS_SpaceNode<double>::SatelliteProperties::Ephemeris::raw_t raw;
4446
+ (raw = *self).dump(buf_brdc);
4447
+ SBAS_SpaceNode<double>::DataBlock::parity_set(buf_brdc);
4448
+ }
4283
4449
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t SBAS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(SBAS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0,bool const &with_velocity=true){
4284
4450
  typename SBAS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4285
4451
  self->constellation(t_tx, dt_transit, with_velocity));
@@ -4543,6 +4709,15 @@ SWIGINTERN bool GLONASS_Ephemeris_Sl_double_Sg__parse__SWIG_0(GLONASS_Ephemeris<
4543
4709
  self->has_string = has_string;
4544
4710
  return updated;
4545
4711
  }
4712
+ SWIGINTERN void GLONASS_Ephemeris_Sl_double_Sg__dump(GLONASS_Ephemeris< double > *self,unsigned int buf_str1[3],unsigned int buf_str2[3],unsigned int buf_str3[3],unsigned int buf_str4[3],unsigned int buf_str5[3],GPS_Time< double > const &t){
4713
+ typename GLONASS_Ephemeris<double>::eph_t::raw_t raw;
4714
+ raw = *self;
4715
+ unsigned int *buf[4] = {buf_str1, buf_str2, buf_str3, buf_str4};
4716
+ for(int i(0); i < 4; ++i){
4717
+ raw.GLONASS_Ephemeris<double>::Ephemeris::raw_t::dump<0, 0>(buf[i], i + 1);
4718
+ }
4719
+ raw.GLONASS_Ephemeris<double>::TimeProperties::raw_t::dump<0, 0>(buf_str5);
4720
+ }
4546
4721
  SWIGINTERN GPS_Ephemeris< double >::constellation_res_t GLONASS_Ephemeris_Sl_double_Sg__constellation__SWIG_0(GLONASS_Ephemeris< double > const *self,GPS_Time< double > const &t_tx,double const &dt_transit=0){
4547
4722
  typename GPS_SpaceNode<double>::SatelliteProperties::constellation_t pv(
4548
4723
  self->constellation(t_tx, dt_transit));
@@ -10872,6 +11047,67 @@ fail:
10872
11047
  }
10873
11048
 
10874
11049
 
11050
+ /*
11051
+ Document-method: GPS_PVT::GPS::Ionospheric_UTC_Parameters.dump
11052
+
11053
+ call-seq:
11054
+ dump(Time t)
11055
+
11056
+ An instance method.
11057
+
11058
+ */
11059
+ SWIGINTERN VALUE
11060
+ _wrap_Ionospheric_UTC_Parameters_dump(int argc, VALUE *argv, VALUE self) {
11061
+ GPS_Ionospheric_UTC_Parameters< double > *arg1 = (GPS_Ionospheric_UTC_Parameters< double > *) 0 ;
11062
+ unsigned int *arg2 ;
11063
+ GPS_Time< double > *arg3 = 0 ;
11064
+ void *argp1 = 0 ;
11065
+ int res1 = 0 ;
11066
+ unsigned int temp2[10] = {
11067
+ 0
11068
+ } ;
11069
+ void *argp3 ;
11070
+ int res3 = 0 ;
11071
+ VALUE vresult = Qnil;
11072
+
11073
+ arg2 = temp2;
11074
+ if ((argc < 1) || (argc > 1)) {
11075
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11076
+ }
11077
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_Ionospheric_UTC_ParametersT_double_t, 0 | 0 );
11078
+ if (!SWIG_IsOK(res1)) {
11079
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ionospheric_UTC_Parameters< double > *","dump", 1, self ));
11080
+ }
11081
+ arg1 = reinterpret_cast< GPS_Ionospheric_UTC_Parameters< double > * >(argp1);
11082
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11083
+ if (!SWIG_IsOK(res3)) {
11084
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 3, argv[0] ));
11085
+ }
11086
+ if (!argp3) {
11087
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 3, argv[0]));
11088
+ }
11089
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
11090
+ {
11091
+ try {
11092
+ GPS_Ionospheric_UTC_Parameters_Sl_double_Sg__dump(arg1,arg2,(GPS_Time< double > const &)*arg3);
11093
+ } catch (const native_exception &e) {
11094
+ e.regenerate();
11095
+ SWIG_fail;
11096
+ } catch (const std::exception& e) {
11097
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11098
+ }
11099
+ }
11100
+ {
11101
+ for(int i(0); i < 10; ++i){
11102
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
11103
+ }
11104
+ }
11105
+ return vresult;
11106
+ fail:
11107
+ return Qnil;
11108
+ }
11109
+
11110
+
10875
11111
  SWIGINTERN VALUE
10876
11112
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10877
11113
  _wrap_Ionospheric_UTC_Parameters_allocate(VALUE self)
@@ -11087,6 +11323,143 @@ fail:
11087
11323
  }
11088
11324
 
11089
11325
 
11326
+ /*
11327
+ Document-method: GPS_PVT::GPS::Ephemeris.valid?
11328
+
11329
+ call-seq:
11330
+ valid?(Time t) -> bool
11331
+
11332
+ An instance method.
11333
+
11334
+ */
11335
+ SWIGINTERN VALUE
11336
+ _wrap_Ephemeris_validq___(int argc, VALUE *argv, VALUE self) {
11337
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11338
+ GPS_Time< double > *arg2 = 0 ;
11339
+ void *argp1 = 0 ;
11340
+ int res1 = 0 ;
11341
+ void *argp2 ;
11342
+ int res2 = 0 ;
11343
+ bool result;
11344
+ VALUE vresult = Qnil;
11345
+
11346
+ if ((argc < 1) || (argc > 1)) {
11347
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
11348
+ }
11349
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11350
+ if (!SWIG_IsOK(res1)) {
11351
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","is_valid", 1, self ));
11352
+ }
11353
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11354
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
11355
+ if (!SWIG_IsOK(res2)) {
11356
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
11357
+ }
11358
+ if (!argp2) {
11359
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
11360
+ }
11361
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
11362
+ {
11363
+ try {
11364
+ result = (bool)((GPS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
11365
+ } catch (const native_exception &e) {
11366
+ e.regenerate();
11367
+ SWIG_fail;
11368
+ } catch (const std::exception& e) {
11369
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11370
+ }
11371
+ }
11372
+ vresult = SWIG_From_bool(static_cast< bool >(result));
11373
+ return vresult;
11374
+ fail:
11375
+ return Qnil;
11376
+ }
11377
+
11378
+
11379
+ /*
11380
+ Document-method: GPS_PVT::GPS::Ephemeris.t_clock
11381
+
11382
+ call-seq:
11383
+ t_clock -> Time
11384
+
11385
+ An instance method.
11386
+
11387
+ */
11388
+ SWIGINTERN VALUE
11389
+ _wrap_Ephemeris_t_clock(int argc, VALUE *argv, VALUE self) {
11390
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11391
+ void *argp1 = 0 ;
11392
+ int res1 = 0 ;
11393
+ GPS_Time< double > result;
11394
+ VALUE vresult = Qnil;
11395
+
11396
+ if ((argc < 0) || (argc > 0)) {
11397
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11398
+ }
11399
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11400
+ if (!SWIG_IsOK(res1)) {
11401
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_clock", 1, self ));
11402
+ }
11403
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11404
+ {
11405
+ try {
11406
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_clock();
11407
+ } catch (const native_exception &e) {
11408
+ e.regenerate();
11409
+ SWIG_fail;
11410
+ } catch (const std::exception& e) {
11411
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11412
+ }
11413
+ }
11414
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11415
+ return vresult;
11416
+ fail:
11417
+ return Qnil;
11418
+ }
11419
+
11420
+
11421
+ /*
11422
+ Document-method: GPS_PVT::GPS::Ephemeris.t_ephemeris
11423
+
11424
+ call-seq:
11425
+ t_ephemeris -> Time
11426
+
11427
+ An instance method.
11428
+
11429
+ */
11430
+ SWIGINTERN VALUE
11431
+ _wrap_Ephemeris_t_ephemeris(int argc, VALUE *argv, VALUE self) {
11432
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11433
+ void *argp1 = 0 ;
11434
+ int res1 = 0 ;
11435
+ GPS_Time< double > result;
11436
+ VALUE vresult = Qnil;
11437
+
11438
+ if ((argc < 0) || (argc > 0)) {
11439
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
11440
+ }
11441
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
11442
+ if (!SWIG_IsOK(res1)) {
11443
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > const *","t_ephemeris", 1, self ));
11444
+ }
11445
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11446
+ {
11447
+ try {
11448
+ result = ((GPS_Ephemeris< double > const *)arg1)->t_ephemeris();
11449
+ } catch (const native_exception &e) {
11450
+ e.regenerate();
11451
+ SWIG_fail;
11452
+ } catch (const std::exception& e) {
11453
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
11454
+ }
11455
+ }
11456
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
11457
+ return vresult;
11458
+ fail:
11459
+ return Qnil;
11460
+ }
11461
+
11462
+
11090
11463
  /*
11091
11464
  Document-method: GPS_PVT::GPS::Ephemeris.new
11092
11465
 
@@ -11395,7 +11768,7 @@ fail:
11395
11768
  Document-method: GPS_PVT::GPS::Ephemeris.URA=
11396
11769
 
11397
11770
  call-seq:
11398
- URA=(int const & v) -> int
11771
+ URA=(double const & v) -> double
11399
11772
 
11400
11773
  An instance method.
11401
11774
 
@@ -11403,13 +11776,13 @@ An instance method.
11403
11776
  SWIGINTERN VALUE
11404
11777
  _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11405
11778
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11406
- int *arg2 = 0 ;
11779
+ double *arg2 = 0 ;
11407
11780
  void *argp1 = 0 ;
11408
11781
  int res1 = 0 ;
11409
- int temp2 ;
11410
- int val2 ;
11782
+ double temp2 ;
11783
+ double val2 ;
11411
11784
  int ecode2 = 0 ;
11412
- int result;
11785
+ double result;
11413
11786
  VALUE vresult = Qnil;
11414
11787
 
11415
11788
  if ((argc < 1) || (argc > 1)) {
@@ -11420,15 +11793,15 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11420
11793
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","set_URA", 1, self ));
11421
11794
  }
11422
11795
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11423
- ecode2 = SWIG_AsVal_int(argv[0], &val2);
11796
+ ecode2 = SWIG_AsVal_double(argv[0], &val2);
11424
11797
  if (!SWIG_IsOK(ecode2)) {
11425
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","set_URA", 2, argv[0] ));
11798
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "double","set_URA", 2, argv[0] ));
11426
11799
  }
11427
- temp2 = static_cast< int >(val2);
11800
+ temp2 = static_cast< double >(val2);
11428
11801
  arg2 = &temp2;
11429
11802
  {
11430
11803
  try {
11431
- result = (int)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(int const &)*arg2);
11804
+ result = (double)GPS_Ephemeris_Sl_double_Sg__set_URA(arg1,(double const &)*arg2);
11432
11805
  } catch (const native_exception &e) {
11433
11806
  e.regenerate();
11434
11807
  SWIG_fail;
@@ -11436,7 +11809,7 @@ _wrap_Ephemeris_URAe___(int argc, VALUE *argv, VALUE self) {
11436
11809
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11437
11810
  }
11438
11811
  }
11439
- vresult = SWIG_From_int(static_cast< int >(result));
11812
+ vresult = SWIG_From_double(static_cast< double >(result));
11440
11813
  return vresult;
11441
11814
  fail:
11442
11815
  return Qnil;
@@ -11447,7 +11820,7 @@ fail:
11447
11820
  Document-method: GPS_PVT::GPS::Ephemeris.URA
11448
11821
 
11449
11822
  call-seq:
11450
- URA -> int const &
11823
+ URA -> double const &
11451
11824
 
11452
11825
  An instance method.
11453
11826
 
@@ -11457,7 +11830,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11457
11830
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
11458
11831
  void *argp1 = 0 ;
11459
11832
  int res1 = 0 ;
11460
- int *result = 0 ;
11833
+ double *result = 0 ;
11461
11834
  VALUE vresult = Qnil;
11462
11835
 
11463
11836
  if ((argc < 0) || (argc > 0)) {
@@ -11470,7 +11843,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11470
11843
  arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
11471
11844
  {
11472
11845
  try {
11473
- result = (int *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11846
+ result = (double *) &GPS_Ephemeris_Sl_double_Sg__get_URA((GPS_Ephemeris< double > const *)arg1);
11474
11847
  } catch (const native_exception &e) {
11475
11848
  e.regenerate();
11476
11849
  SWIG_fail;
@@ -11478,7 +11851,7 @@ _wrap_Ephemeris_URA(int argc, VALUE *argv, VALUE self) {
11478
11851
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
11479
11852
  }
11480
11853
  }
11481
- vresult = SWIG_From_int(static_cast< int >(*result));
11854
+ vresult = SWIG_From_double(static_cast< double >(*result));
11482
11855
  return vresult;
11483
11856
  fail:
11484
11857
  return Qnil;
@@ -13910,29 +14283,345 @@ fail:
13910
14283
 
13911
14284
 
13912
14285
  /*
13913
- Document-method: GPS_PVT::GPS::Ephemeris.constellation
14286
+ Document-method: GPS_PVT::GPS::Ephemeris.dump
13914
14287
 
13915
14288
  call-seq:
13916
- constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
13917
- constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14289
+ dump(Time t)
13918
14290
 
13919
14291
  An instance method.
13920
14292
 
13921
14293
  */
13922
14294
  SWIGINTERN VALUE
13923
- _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14295
+ _wrap_Ephemeris_dump(int argc, VALUE *argv, VALUE self) {
13924
14296
  GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
13925
- GPS_Time< double > *arg2 = 0 ;
13926
- double *arg3 = 0 ;
14297
+ unsigned int *arg2 ;
14298
+ unsigned int *arg3 ;
14299
+ unsigned int *arg4 ;
14300
+ GPS_Time< double > *arg5 = 0 ;
13927
14301
  void *argp1 = 0 ;
13928
14302
  int res1 = 0 ;
13929
- void *argp2 ;
13930
- int res2 = 0 ;
13931
- double temp3 ;
13932
- double val3 ;
13933
- int ecode3 = 0 ;
13934
- GPS_Ephemeris< double >::constellation_res_t result;
13935
- VALUE vresult = Qnil;
14303
+ unsigned int temp2[10] = {
14304
+ 0
14305
+ } ;
14306
+ unsigned int temp3[10] = {
14307
+ 0
14308
+ } ;
14309
+ unsigned int temp4[10] = {
14310
+ 0
14311
+ } ;
14312
+ void *argp5 ;
14313
+ int res5 = 0 ;
14314
+ VALUE vresult = Qnil;
14315
+
14316
+ arg2 = temp2;
14317
+ arg3 = temp3;
14318
+ arg4 = temp4;
14319
+ if ((argc < 1) || (argc > 1)) {
14320
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14321
+ }
14322
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14323
+ if (!SWIG_IsOK(res1)) {
14324
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump", 1, self ));
14325
+ }
14326
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14327
+ res5 = SWIG_ConvertPtr(argv[0], &argp5, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14328
+ if (!SWIG_IsOK(res5)) {
14329
+ SWIG_exception_fail(SWIG_ArgError(res5), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 5, argv[0] ));
14330
+ }
14331
+ if (!argp5) {
14332
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 5, argv[0]));
14333
+ }
14334
+ arg5 = reinterpret_cast< GPS_Time< double > * >(argp5);
14335
+ {
14336
+ try {
14337
+ GPS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,(GPS_Time< double > const &)*arg5);
14338
+ } catch (const native_exception &e) {
14339
+ e.regenerate();
14340
+ SWIG_fail;
14341
+ } catch (const std::exception& e) {
14342
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14343
+ }
14344
+ }
14345
+ vresult = rb_ary_new();
14346
+ {
14347
+ for(int i(0); i < 10; ++i){
14348
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14349
+ }
14350
+ }
14351
+ {
14352
+ for(int i(0); i < 10; ++i){
14353
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
14354
+ }
14355
+ }
14356
+ {
14357
+ for(int i(0); i < 10; ++i){
14358
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
14359
+ }
14360
+ }
14361
+ return vresult;
14362
+ fail:
14363
+ return Qnil;
14364
+ }
14365
+
14366
+
14367
+ /*
14368
+ Document-method: GPS_PVT::GPS::Ephemeris.parse_almanac
14369
+
14370
+ call-seq:
14371
+ parse_almanac(unsigned int const [10] buf) -> int
14372
+
14373
+ An instance method.
14374
+
14375
+ */
14376
+ SWIGINTERN VALUE
14377
+ _wrap_Ephemeris_parse_almanac(int argc, VALUE *argv, VALUE self) {
14378
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14379
+ unsigned int *arg2 ;
14380
+ void *argp1 = 0 ;
14381
+ int res1 = 0 ;
14382
+ unsigned int temp2[10] ;
14383
+ int result;
14384
+ VALUE vresult = Qnil;
14385
+
14386
+ if ((argc < 1) || (argc > 1)) {
14387
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14388
+ }
14389
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14390
+ if (!SWIG_IsOK(res1)) {
14391
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","parse_almanac", 1, self ));
14392
+ }
14393
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14394
+ {
14395
+ if(!(RB_TYPE_P(argv[0], T_ARRAY) && (RARRAY_LEN(argv[0]) == 10))){
14396
+ SWIG_exception(SWIG_TypeError, "array[10] is expected");
14397
+ }
14398
+ for(int i(0); i < 10; ++i){
14399
+ if(!SWIG_IsOK(SWIG_AsVal_unsigned_SS_int (RARRAY_AREF(argv[0], i), &temp2[i]))){
14400
+ SWIG_exception(SWIG_TypeError, "unsigned int is expected");
14401
+ }
14402
+ }
14403
+ arg2 = temp2;
14404
+ }
14405
+ {
14406
+ try {
14407
+ result = (int)GPS_Ephemeris_Sl_double_Sg__parse_almanac(arg1,(unsigned int const (*))arg2);
14408
+ } catch (const native_exception &e) {
14409
+ e.regenerate();
14410
+ SWIG_fail;
14411
+ } catch (const std::exception& e) {
14412
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14413
+ }
14414
+ }
14415
+ vresult = SWIG_From_int(static_cast< int >(result));
14416
+ return vresult;
14417
+ fail:
14418
+ return Qnil;
14419
+ }
14420
+
14421
+
14422
+ /*
14423
+ Document-method: GPS_PVT::GPS::Ephemeris.dump_almanac
14424
+
14425
+ call-seq:
14426
+ dump_almanac(Time t, unsigned int const & qzss_subframe=0)
14427
+ dump_almanac(Time t)
14428
+
14429
+ An instance method.
14430
+
14431
+ */
14432
+ SWIGINTERN VALUE
14433
+ _wrap_Ephemeris_dump_almanac__SWIG_0(int argc, VALUE *argv, VALUE self) {
14434
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14435
+ unsigned int *arg2 ;
14436
+ GPS_Time< double > *arg3 = 0 ;
14437
+ unsigned int *arg4 = 0 ;
14438
+ void *argp1 = 0 ;
14439
+ int res1 = 0 ;
14440
+ unsigned int temp2[10] = {
14441
+ 0
14442
+ } ;
14443
+ void *argp3 ;
14444
+ int res3 = 0 ;
14445
+ unsigned int temp4 ;
14446
+ unsigned int val4 ;
14447
+ int ecode4 = 0 ;
14448
+ VALUE vresult = Qnil;
14449
+
14450
+ arg2 = temp2;
14451
+ if ((argc < 2) || (argc > 2)) {
14452
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
14453
+ }
14454
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14455
+ if (!SWIG_IsOK(res1)) {
14456
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14457
+ }
14458
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14459
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14460
+ if (!SWIG_IsOK(res3)) {
14461
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14462
+ }
14463
+ if (!argp3) {
14464
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14465
+ }
14466
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14467
+ ecode4 = SWIG_AsVal_unsigned_SS_int(argv[1], &val4);
14468
+ if (!SWIG_IsOK(ecode4)) {
14469
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "unsigned int","dump_almanac", 4, argv[1] ));
14470
+ }
14471
+ temp4 = static_cast< unsigned int >(val4);
14472
+ arg4 = &temp4;
14473
+ {
14474
+ try {
14475
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3,(unsigned int const &)*arg4);
14476
+ } catch (const native_exception &e) {
14477
+ e.regenerate();
14478
+ SWIG_fail;
14479
+ } catch (const std::exception& e) {
14480
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14481
+ }
14482
+ }
14483
+ {
14484
+ for(int i(0); i < 10; ++i){
14485
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14486
+ }
14487
+ }
14488
+ return vresult;
14489
+ fail:
14490
+ return Qnil;
14491
+ }
14492
+
14493
+
14494
+ SWIGINTERN VALUE
14495
+ _wrap_Ephemeris_dump_almanac__SWIG_1(int argc, VALUE *argv, VALUE self) {
14496
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14497
+ unsigned int *arg2 ;
14498
+ GPS_Time< double > *arg3 = 0 ;
14499
+ void *argp1 = 0 ;
14500
+ int res1 = 0 ;
14501
+ unsigned int temp2[10] = {
14502
+ 0
14503
+ } ;
14504
+ void *argp3 ;
14505
+ int res3 = 0 ;
14506
+ VALUE vresult = Qnil;
14507
+
14508
+ arg2 = temp2;
14509
+ if ((argc < 1) || (argc > 1)) {
14510
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
14511
+ }
14512
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_EphemerisT_double_t, 0 | 0 );
14513
+ if (!SWIG_IsOK(res1)) {
14514
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_Ephemeris< double > *","dump_almanac", 1, self ));
14515
+ }
14516
+ arg1 = reinterpret_cast< GPS_Ephemeris< double > * >(argp1);
14517
+ res3 = SWIG_ConvertPtr(argv[0], &argp3, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
14518
+ if (!SWIG_IsOK(res3)) {
14519
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump_almanac", 3, argv[0] ));
14520
+ }
14521
+ if (!argp3) {
14522
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump_almanac", 3, argv[0]));
14523
+ }
14524
+ arg3 = reinterpret_cast< GPS_Time< double > * >(argp3);
14525
+ {
14526
+ try {
14527
+ GPS_Ephemeris_Sl_double_Sg__dump_almanac__SWIG_0(arg1,arg2,(GPS_Time< double > const &)*arg3);
14528
+ } catch (const native_exception &e) {
14529
+ e.regenerate();
14530
+ SWIG_fail;
14531
+ } catch (const std::exception& e) {
14532
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
14533
+ }
14534
+ }
14535
+ {
14536
+ for(int i(0); i < 10; ++i){
14537
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
14538
+ }
14539
+ }
14540
+ return vresult;
14541
+ fail:
14542
+ return Qnil;
14543
+ }
14544
+
14545
+
14546
+ SWIGINTERN VALUE _wrap_Ephemeris_dump_almanac(int nargs, VALUE *args, VALUE self) {
14547
+ int argc;
14548
+ VALUE argv[4];
14549
+ int ii;
14550
+
14551
+ argc = nargs + 1;
14552
+ argv[0] = self;
14553
+ if (argc > 4) SWIG_fail;
14554
+ for (ii = 1; (ii < argc); ++ii) {
14555
+ argv[ii] = args[ii-1];
14556
+ }
14557
+ if (argc == 2) {
14558
+ int _v;
14559
+ void *vptr = 0;
14560
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14561
+ _v = SWIG_CheckState(res);
14562
+ if (_v) {
14563
+ void *vptr = 0;
14564
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14565
+ _v = SWIG_CheckState(res);
14566
+ if (_v) {
14567
+ return _wrap_Ephemeris_dump_almanac__SWIG_1(nargs, args, self);
14568
+ }
14569
+ }
14570
+ }
14571
+ if (argc == 3) {
14572
+ int _v;
14573
+ void *vptr = 0;
14574
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_EphemerisT_double_t, 0);
14575
+ _v = SWIG_CheckState(res);
14576
+ if (_v) {
14577
+ void *vptr = 0;
14578
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_NO_NULL);
14579
+ _v = SWIG_CheckState(res);
14580
+ if (_v) {
14581
+ {
14582
+ int res = SWIG_AsVal_unsigned_SS_int(argv[2], NULL);
14583
+ _v = SWIG_CheckState(res);
14584
+ }
14585
+ if (_v) {
14586
+ return _wrap_Ephemeris_dump_almanac__SWIG_0(nargs, args, self);
14587
+ }
14588
+ }
14589
+ }
14590
+ }
14591
+
14592
+ fail:
14593
+ Ruby_Format_OverloadedError( argc, 4, "dump_almanac",
14594
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t, unsigned int const &qzss_subframe)\n"
14595
+ " void dump_almanac(unsigned int buf_brdc[10], GPS_Time< double > const &t)\n");
14596
+
14597
+ return Qnil;
14598
+ }
14599
+
14600
+
14601
+ /*
14602
+ Document-method: GPS_PVT::GPS::Ephemeris.constellation
14603
+
14604
+ call-seq:
14605
+ constellation(Time t_tx, double const & dt_transit=0) -> GPS_Ephemeris< double >::constellation_res_t
14606
+ constellation(Time t_tx) -> GPS_Ephemeris< double >::constellation_res_t
14607
+
14608
+ An instance method.
14609
+
14610
+ */
14611
+ SWIGINTERN VALUE
14612
+ _wrap_Ephemeris_constellation__SWIG_0(int argc, VALUE *argv, VALUE self) {
14613
+ GPS_Ephemeris< double > *arg1 = (GPS_Ephemeris< double > *) 0 ;
14614
+ GPS_Time< double > *arg2 = 0 ;
14615
+ double *arg3 = 0 ;
14616
+ void *argp1 = 0 ;
14617
+ int res1 = 0 ;
14618
+ void *argp2 ;
14619
+ int res2 = 0 ;
14620
+ double temp3 ;
14621
+ double val3 ;
14622
+ int ecode3 = 0 ;
14623
+ GPS_Ephemeris< double >::constellation_res_t result;
14624
+ VALUE vresult = Qnil;
13936
14625
 
13937
14626
  if ((argc < 2) || (argc > 2)) {
13938
14627
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
@@ -15751,196 +16440,376 @@ fail:
15751
16440
 
15752
16441
 
15753
16442
  /*
15754
- Document-method: GPS_PVT::GPS::PVT.fde_2nd
16443
+ Document-method: GPS_PVT::GPS::PVT.fde_2nd
16444
+
16445
+ call-seq:
16446
+ fde_2nd
16447
+
16448
+ An instance method.
16449
+
16450
+ */
16451
+ SWIGINTERN VALUE
16452
+ _wrap_PVT_fde_2nd(int argc, VALUE *argv, VALUE self) {
16453
+ GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *) 0 ;
16454
+ GPS_User_PVT< double >::base_t::detection_t **arg2 = (GPS_User_PVT< double >::base_t::detection_t **) 0 ;
16455
+ GPS_User_PVT< double >::base_t::exclusion_t **arg3 = (GPS_User_PVT< double >::base_t::exclusion_t **) 0 ;
16456
+ void *argp1 = 0 ;
16457
+ int res1 = 0 ;
16458
+ GPS_User_PVT< double >::base_t::detection_t *temp2 ;
16459
+ GPS_User_PVT< double >::base_t::exclusion_t *temp3 ;
16460
+ VALUE vresult = Qnil;
16461
+
16462
+ {
16463
+ arg2 = &temp2;
16464
+ }
16465
+ {
16466
+ arg3 = &temp3;
16467
+ }
16468
+ if ((argc < 0) || (argc > 0)) {
16469
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
16470
+ }
16471
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_User_PVTT_double_t, 0 | 0 );
16472
+ if (!SWIG_IsOK(res1)) {
16473
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_User_PVT< double > const *","fde_2nd", 1, self ));
16474
+ }
16475
+ arg1 = reinterpret_cast< GPS_User_PVT< double > * >(argp1);
16476
+ {
16477
+ try {
16478
+ ((GPS_User_PVT< double > const *)arg1)->fde_2nd((GPS_User_PVT< double >::base_t::detection_t const **)arg2,(GPS_User_PVT< double >::base_t::exclusion_t const **)arg3);
16479
+ } catch (const native_exception &e) {
16480
+ e.regenerate();
16481
+ SWIG_fail;
16482
+ } catch (const std::exception& e) {
16483
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
16484
+ }
16485
+ }
16486
+ vresult = rb_ary_new();
16487
+ {
16488
+ if((*arg2)->valid){
16489
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr));
16490
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr_sf));
16491
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->weight_max));
16492
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[0].max));
16493
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[0].prn)));
16494
+ vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[1].max));
16495
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[1].prn)));
16496
+ }
16497
+ }
16498
+ {
16499
+ if((*arg3)->valid){
16500
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg3)->excluded)));
16501
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
16502
+ (new System_XYZ<double, WGS84>((*arg3)->user_position.xyz)),
16503
+ SWIGTYPE_System_XYZT_double_WGS84_t, SWIG_POINTER_OWN))
16504
+
16505
+
16506
+
16507
+ ;
16508
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
16509
+ (new System_LLH<double, WGS84>((*arg3)->user_position.llh)),
16510
+ SWIGTYPE_System_LLHT_double_WGS84_t, SWIG_POINTER_OWN))
16511
+
16512
+
16513
+
16514
+ ;
16515
+ }
16516
+ }
16517
+ return vresult;
16518
+ fail:
16519
+ return Qnil;
16520
+ }
16521
+
16522
+
16523
+ SWIGINTERN void
16524
+ free_GPS_User_PVT_Sl_double_Sg_(void *self) {
16525
+ GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *)self;
16526
+ delete arg1;
16527
+ }
16528
+
16529
+ /*
16530
+ Document-class: GPS_PVT::GPS::Measurement
16531
+
16532
+ Proxy of C++ GPS_PVT::GPS::Measurement class
16533
+
16534
+
16535
+ */
16536
+ static swig_class SwigClassMeasurement;
16537
+
16538
+ /*
16539
+ Document-method: GPS_PVT::GPS.L1_PSEUDORANGE
16540
+
16541
+ call-seq:
16542
+ L1_PSEUDORANGE -> int
16543
+
16544
+ A class method.
16545
+
16546
+ */
16547
+ /*
16548
+ Document-method: GPS_PVT::GPS.L1_DOPPLER
16549
+
16550
+ call-seq:
16551
+ L1_DOPPLER -> int
16552
+
16553
+ A class method.
16554
+
16555
+ */
16556
+ /*
16557
+ Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE
16558
+
16559
+ call-seq:
16560
+ L1_CARRIER_PHASE -> int
16561
+
16562
+ A class method.
16563
+
16564
+ */
16565
+ /*
16566
+ Document-method: GPS_PVT::GPS.L1_RANGE_RATE
16567
+
16568
+ call-seq:
16569
+ L1_RANGE_RATE -> int
16570
+
16571
+ A class method.
16572
+
16573
+ */
16574
+ /*
16575
+ Document-method: GPS_PVT::GPS.L1_PSEUDORANGE_SIGMA
16576
+
16577
+ call-seq:
16578
+ L1_PSEUDORANGE_SIGMA -> int
16579
+
16580
+ A class method.
16581
+
16582
+ */
16583
+ /*
16584
+ Document-method: GPS_PVT::GPS.L1_DOPPLER_SIGMA
16585
+
16586
+ call-seq:
16587
+ L1_DOPPLER_SIGMA -> int
16588
+
16589
+ A class method.
16590
+
16591
+ */
16592
+ /*
16593
+ Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE_SIGMA
16594
+
16595
+ call-seq:
16596
+ L1_CARRIER_PHASE_SIGMA -> int
16597
+
16598
+ A class method.
16599
+
16600
+ */
16601
+ /*
16602
+ Document-method: GPS_PVT::GPS.L1_RANGE_RATE_SIGMA
16603
+
16604
+ call-seq:
16605
+ L1_RANGE_RATE_SIGMA -> int
16606
+
16607
+ A class method.
16608
+
16609
+ */
16610
+ /*
16611
+ Document-method: GPS_PVT::GPS.L1_SIGNAL_STRENGTH_dBHz
16612
+
16613
+ call-seq:
16614
+ L1_SIGNAL_STRENGTH_dBHz -> int
16615
+
16616
+ A class method.
16617
+
16618
+ */
16619
+ /*
16620
+ Document-method: GPS_PVT::GPS.L1_LOCK_SEC
16621
+
16622
+ call-seq:
16623
+ L1_LOCK_SEC -> int
16624
+
16625
+ A class method.
16626
+
16627
+ */
16628
+ /*
16629
+ Document-method: GPS_PVT::GPS.L1_FREQUENCY
16630
+
16631
+ call-seq:
16632
+ L1_FREQUENCY -> int
16633
+
16634
+ A class method.
16635
+
16636
+ */
16637
+ /*
16638
+ Document-method: GPS_PVT::GPS.L2CM_PSEUDORANGE
16639
+
16640
+ call-seq:
16641
+ L2CM_PSEUDORANGE -> int
16642
+
16643
+ A class method.
16644
+
16645
+ */
16646
+ /*
16647
+ Document-method: GPS_PVT::GPS.L2CL_PSEUDORANGE
16648
+
16649
+ call-seq:
16650
+ L2CL_PSEUDORANGE -> int
16651
+
16652
+ A class method.
16653
+
16654
+ */
16655
+ /*
16656
+ Document-method: GPS_PVT::GPS.L2CM_PSEUDORANGE_SIGMA
16657
+
16658
+ call-seq:
16659
+ L2CM_PSEUDORANGE_SIGMA -> int
16660
+
16661
+ A class method.
16662
+
16663
+ */
16664
+ /*
16665
+ Document-method: GPS_PVT::GPS.L2CL_PSEUDORANGE_SIGMA
16666
+
16667
+ call-seq:
16668
+ L2CL_PSEUDORANGE_SIGMA -> int
16669
+
16670
+ A class method.
16671
+
16672
+ */
16673
+ /*
16674
+ Document-method: GPS_PVT::GPS.L2CM_CARRIER_PHASE
15755
16675
 
15756
16676
  call-seq:
15757
- fde_2nd
16677
+ L2CM_CARRIER_PHASE -> int
15758
16678
 
15759
- An instance method.
16679
+ A class method.
15760
16680
 
15761
16681
  */
15762
- SWIGINTERN VALUE
15763
- _wrap_PVT_fde_2nd(int argc, VALUE *argv, VALUE self) {
15764
- GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *) 0 ;
15765
- GPS_User_PVT< double >::base_t::detection_t **arg2 = (GPS_User_PVT< double >::base_t::detection_t **) 0 ;
15766
- GPS_User_PVT< double >::base_t::exclusion_t **arg3 = (GPS_User_PVT< double >::base_t::exclusion_t **) 0 ;
15767
- void *argp1 = 0 ;
15768
- int res1 = 0 ;
15769
- GPS_User_PVT< double >::base_t::detection_t *temp2 ;
15770
- GPS_User_PVT< double >::base_t::exclusion_t *temp3 ;
15771
- VALUE vresult = Qnil;
15772
-
15773
- {
15774
- arg2 = &temp2;
15775
- }
15776
- {
15777
- arg3 = &temp3;
15778
- }
15779
- if ((argc < 0) || (argc > 0)) {
15780
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
15781
- }
15782
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_User_PVTT_double_t, 0 | 0 );
15783
- if (!SWIG_IsOK(res1)) {
15784
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_User_PVT< double > const *","fde_2nd", 1, self ));
15785
- }
15786
- arg1 = reinterpret_cast< GPS_User_PVT< double > * >(argp1);
15787
- {
15788
- try {
15789
- ((GPS_User_PVT< double > const *)arg1)->fde_2nd((GPS_User_PVT< double >::base_t::detection_t const **)arg2,(GPS_User_PVT< double >::base_t::exclusion_t const **)arg3);
15790
- } catch (const native_exception &e) {
15791
- e.regenerate();
15792
- SWIG_fail;
15793
- } catch (const std::exception& e) {
15794
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
15795
- }
15796
- }
15797
- vresult = rb_ary_new();
15798
- {
15799
- if((*arg2)->valid){
15800
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr));
15801
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->wssr_sf));
15802
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->weight_max));
15803
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[0].max));
15804
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[0].prn)));
15805
- vresult = SWIG_Ruby_AppendOutput(vresult, swig::from((*arg2)->slope_HV[1].max));
15806
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg2)->slope_HV[1].prn)));
15807
- }
15808
- }
15809
- {
15810
- if((*arg3)->valid){
15811
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_int (((*arg3)->excluded)));
15812
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
15813
- (new System_XYZ<double, WGS84>((*arg3)->user_position.xyz)),
15814
- SWIGTYPE_System_XYZT_double_WGS84_t, SWIG_POINTER_OWN))
15815
-
15816
-
15817
-
15818
- ;
15819
- vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_NewPointerObj(
15820
- (new System_LLH<double, WGS84>((*arg3)->user_position.llh)),
15821
- SWIGTYPE_System_LLHT_double_WGS84_t, SWIG_POINTER_OWN))
15822
-
15823
-
15824
-
15825
- ;
15826
- }
15827
- }
15828
- return vresult;
15829
- fail:
15830
- return Qnil;
15831
- }
16682
+ /*
16683
+ Document-method: GPS_PVT::GPS.L2CL_CARRIER_PHASE
15832
16684
 
16685
+ call-seq:
16686
+ L2CL_CARRIER_PHASE -> int
15833
16687
 
15834
- SWIGINTERN void
15835
- free_GPS_User_PVT_Sl_double_Sg_(void *self) {
15836
- GPS_User_PVT< double > *arg1 = (GPS_User_PVT< double > *)self;
15837
- delete arg1;
15838
- }
16688
+ A class method.
15839
16689
 
16690
+ */
15840
16691
  /*
15841
- Document-class: GPS_PVT::GPS::Measurement
16692
+ Document-method: GPS_PVT::GPS.L2CM_CARRIER_PHASE_SIGMA
15842
16693
 
15843
- Proxy of C++ GPS_PVT::GPS::Measurement class
16694
+ call-seq:
16695
+ L2CM_CARRIER_PHASE_SIGMA -> int
15844
16696
 
16697
+ A class method.
15845
16698
 
15846
16699
  */
15847
- static swig_class SwigClassMeasurement;
16700
+ /*
16701
+ Document-method: GPS_PVT::GPS.L2CL_CARRIER_PHASE_SIGMA
16702
+
16703
+ call-seq:
16704
+ L2CL_CARRIER_PHASE_SIGMA -> int
16705
+
16706
+ A class method.
15848
16707
 
16708
+ */
15849
16709
  /*
15850
- Document-method: GPS_PVT::GPS.L1_PSEUDORANGE
16710
+ Document-method: GPS_PVT::GPS.L2CM_DOPPLER
15851
16711
 
15852
16712
  call-seq:
15853
- L1_PSEUDORANGE -> int
16713
+ L2CM_DOPPLER -> int
15854
16714
 
15855
16715
  A class method.
15856
16716
 
15857
16717
  */
15858
16718
  /*
15859
- Document-method: GPS_PVT::GPS.L1_DOPPLER
16719
+ Document-method: GPS_PVT::GPS.L2CL_DOPPLER
15860
16720
 
15861
16721
  call-seq:
15862
- L1_DOPPLER -> int
16722
+ L2CL_DOPPLER -> int
15863
16723
 
15864
16724
  A class method.
15865
16725
 
15866
16726
  */
15867
16727
  /*
15868
- Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE
16728
+ Document-method: GPS_PVT::GPS.L2CM_DOPPLER_SIGMA
15869
16729
 
15870
16730
  call-seq:
15871
- L1_CARRIER_PHASE -> int
16731
+ L2CM_DOPPLER_SIGMA -> int
15872
16732
 
15873
16733
  A class method.
15874
16734
 
15875
16735
  */
15876
16736
  /*
15877
- Document-method: GPS_PVT::GPS.L1_RANGE_RATE
16737
+ Document-method: GPS_PVT::GPS.L2CL_DOPPLER_SIGMA
15878
16738
 
15879
16739
  call-seq:
15880
- L1_RANGE_RATE -> int
16740
+ L2CL_DOPPLER_SIGMA -> int
15881
16741
 
15882
16742
  A class method.
15883
16743
 
15884
16744
  */
15885
16745
  /*
15886
- Document-method: GPS_PVT::GPS.L1_PSEUDORANGE_SIGMA
16746
+ Document-method: GPS_PVT::GPS.L2CM_RANGE_RATE
15887
16747
 
15888
16748
  call-seq:
15889
- L1_PSEUDORANGE_SIGMA -> int
16749
+ L2CM_RANGE_RATE -> int
15890
16750
 
15891
16751
  A class method.
15892
16752
 
15893
16753
  */
15894
16754
  /*
15895
- Document-method: GPS_PVT::GPS.L1_DOPPLER_SIGMA
16755
+ Document-method: GPS_PVT::GPS.L2CL_RANGE_RATE
15896
16756
 
15897
16757
  call-seq:
15898
- L1_DOPPLER_SIGMA -> int
16758
+ L2CL_RANGE_RATE -> int
15899
16759
 
15900
16760
  A class method.
15901
16761
 
15902
16762
  */
15903
16763
  /*
15904
- Document-method: GPS_PVT::GPS.L1_CARRIER_PHASE_SIGMA
16764
+ Document-method: GPS_PVT::GPS.L2CM_RANGE_RATE_SIGMA
15905
16765
 
15906
16766
  call-seq:
15907
- L1_CARRIER_PHASE_SIGMA -> int
16767
+ L2CM_RANGE_RATE_SIGMA -> int
15908
16768
 
15909
16769
  A class method.
15910
16770
 
15911
16771
  */
15912
16772
  /*
15913
- Document-method: GPS_PVT::GPS.L1_RANGE_RATE_SIGMA
16773
+ Document-method: GPS_PVT::GPS.L2CL_RANGE_RATE_SIGMA
15914
16774
 
15915
16775
  call-seq:
15916
- L1_RANGE_RATE_SIGMA -> int
16776
+ L2CL_RANGE_RATE_SIGMA -> int
15917
16777
 
15918
16778
  A class method.
15919
16779
 
15920
16780
  */
15921
16781
  /*
15922
- Document-method: GPS_PVT::GPS.L1_SIGNAL_STRENGTH_dBHz
16782
+ Document-method: GPS_PVT::GPS.L2CM_SIGNAL_STRENGTH_dBHz
15923
16783
 
15924
16784
  call-seq:
15925
- L1_SIGNAL_STRENGTH_dBHz -> int
16785
+ L2CM_SIGNAL_STRENGTH_dBHz -> int
15926
16786
 
15927
16787
  A class method.
15928
16788
 
15929
16789
  */
15930
16790
  /*
15931
- Document-method: GPS_PVT::GPS.L1_LOCK_SEC
16791
+ Document-method: GPS_PVT::GPS.L2CL_SIGNAL_STRENGTH_dBHz
15932
16792
 
15933
16793
  call-seq:
15934
- L1_LOCK_SEC -> int
16794
+ L2CL_SIGNAL_STRENGTH_dBHz -> int
15935
16795
 
15936
16796
  A class method.
15937
16797
 
15938
16798
  */
15939
16799
  /*
15940
- Document-method: GPS_PVT::GPS.L1_FREQUENCY
16800
+ Document-method: GPS_PVT::GPS.L2CM_LOCK_SEC
15941
16801
 
15942
16802
  call-seq:
15943
- L1_FREQUENCY -> int
16803
+ L2CM_LOCK_SEC -> int
16804
+
16805
+ A class method.
16806
+
16807
+ */
16808
+ /*
16809
+ Document-method: GPS_PVT::GPS.L2CL_LOCK_SEC
16810
+
16811
+ call-seq:
16812
+ L2CL_LOCK_SEC -> int
15944
16813
 
15945
16814
  A class method.
15946
16815
 
@@ -16141,169 +17010,40 @@ fail:
16141
17010
  }
16142
17011
 
16143
17012
 
16144
- SWIGINTERN VALUE
16145
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
16146
- _wrap_Measurement_allocate(VALUE self)
16147
- #else
16148
- _wrap_Measurement_allocate(int argc, VALUE *argv, VALUE self)
16149
- #endif
16150
- {
16151
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_GPS_MeasurementT_double_t);
16152
- #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
16153
- rb_obj_call_init(vresult, argc, argv);
16154
- #endif
16155
- return vresult;
16156
- }
16157
-
16158
-
16159
- SWIGINTERN VALUE
16160
- _wrap_new_Measurement__SWIG_1(int argc, VALUE *argv, VALUE self) {
16161
- GPS_Measurement< double > *arg1 = 0 ;
16162
- GPS_Measurement< double > temp1 ;
16163
- GPS_Measurement< double > *result = 0 ;
16164
-
16165
- if ((argc < 1) || (argc > 1)) {
16166
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
16167
- }
16168
- {
16169
- if((!SWIG_IsOK(SWIG_ConvertPtr(argv[0], (void **)&arg1, SWIGTYPE_p_GPS_MeasurementT_double_t, 0)))
16170
- && (!SWIG_IsOK(swig::asval(argv[0], (arg1 = &temp1))))){
16171
- SWIG_exception(SWIG_TypeError, "in method 'GPS_Measurement<(double)>', expecting type GPS_Measurement< double >");
16172
- }
16173
- }
16174
- {
16175
- try {
16176
- result = (GPS_Measurement< double > *)new GPS_Measurement< double >((GPS_Measurement< double > const &)*arg1);
16177
- DATA_PTR(self) = result;
16178
- } catch (const native_exception &e) {
16179
- e.regenerate();
16180
- SWIG_fail;
16181
- } catch (const std::exception& e) {
16182
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
16183
- }
16184
- }
16185
- return self;
16186
- fail:
16187
- return Qnil;
16188
- }
16189
-
16190
-
16191
- SWIGINTERN VALUE _wrap_new_Measurement(int nargs, VALUE *args, VALUE self) {
16192
- int argc;
16193
- VALUE argv[1];
16194
- int ii;
16195
-
16196
- argc = nargs;
16197
- if (argc > 1) SWIG_fail;
16198
- for (ii = 0; (ii < argc); ++ii) {
16199
- argv[ii] = args[ii];
16200
- }
16201
- if (argc == 0) {
16202
- return _wrap_new_Measurement__SWIG_0(nargs, args, self);
16203
- }
16204
- if (argc == 1) {
16205
- int _v;
16206
- {
16207
- _v = SWIG_CheckState(SWIG_ConvertPtr(argv[0], (void **)0, SWIGTYPE_p_GPS_MeasurementT_double_t, 0))
16208
- || swig::check<GPS_Measurement<double> >(argv[0]);
16209
- }
16210
- if (_v) {
16211
- return _wrap_new_Measurement__SWIG_1(nargs, args, self);
16212
- }
16213
- }
16214
-
16215
- fail:
16216
- Ruby_Format_OverloadedError( argc, 1, "Measurement.new",
16217
- " Measurement.new()\n"
16218
- " Measurement.new(GPS_Measurement< double > const &other)\n");
16219
-
16220
- return Qnil;
16221
- }
16222
-
16223
-
16224
- SWIGINTERN void
16225
- free_GPS_Measurement_Sl_double_Sg_(void *self) {
16226
- GPS_Measurement< double > *arg1 = (GPS_Measurement< double > *)self;
16227
- delete arg1;
16228
- }
16229
-
16230
- /*
16231
- Document-class: GPS_PVT::GPS::SolverOptionsCommon
16232
-
16233
- Proxy of C++ GPS_PVT::GPS::SolverOptionsCommon class
16234
-
16235
-
16236
- */
16237
- static swig_class SwigClassSolverOptionsCommon;
16238
-
16239
- SWIGINTERN void
16240
- free_GPS_SolverOptions_Common_Sl_double_Sg_(void *self) {
16241
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *)self;
16242
- delete arg1;
16243
- }
16244
-
16245
- /*
16246
- Document-method: GPS_PVT::GPS::SolverOptionsCommon.cast_general
16247
-
16248
- call-seq:
16249
- cast_general -> GPS_Solver_GeneralOptions< double > *
16250
- cast_general -> GPS_Solver_GeneralOptions< double > const
16251
-
16252
- An instance method.
16253
-
16254
- */
16255
- SWIGINTERN VALUE
16256
- _wrap_SolverOptionsCommon_cast_general__SWIG_0(int argc, VALUE *argv, VALUE self) {
16257
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
16258
- void *argp1 = 0 ;
16259
- int res1 = 0 ;
16260
- GPS_Solver_GeneralOptions< double > *result = 0 ;
16261
- VALUE vresult = Qnil;
16262
-
16263
- if ((argc < 0) || (argc > 0)) {
16264
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
16265
- }
16266
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
16267
- if (!SWIG_IsOK(res1)) {
16268
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > *","cast_general", 1, self ));
16269
- }
16270
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
16271
- {
16272
- try {
16273
- result = (GPS_Solver_GeneralOptions< double > *)(arg1)->cast_general();
16274
- } catch (const native_exception &e) {
16275
- e.regenerate();
16276
- SWIG_fail;
16277
- } catch (const std::exception& e) {
16278
- SWIG_exception_fail(SWIG_RuntimeError, e.what());
16279
- }
16280
- }
16281
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t, 0 | 0 );
17013
+ SWIGINTERN VALUE
17014
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
17015
+ _wrap_Measurement_allocate(VALUE self)
17016
+ #else
17017
+ _wrap_Measurement_allocate(int argc, VALUE *argv, VALUE self)
17018
+ #endif
17019
+ {
17020
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_GPS_MeasurementT_double_t);
17021
+ #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
17022
+ rb_obj_call_init(vresult, argc, argv);
17023
+ #endif
16282
17024
  return vresult;
16283
- fail:
16284
- return Qnil;
16285
17025
  }
16286
17026
 
16287
17027
 
16288
17028
  SWIGINTERN VALUE
16289
- _wrap_SolverOptionsCommon_cast_general__SWIG_1(int argc, VALUE *argv, VALUE self) {
16290
- GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *) 0 ;
16291
- void *argp1 = 0 ;
16292
- int res1 = 0 ;
16293
- GPS_Solver_GeneralOptions< double > *result = 0 ;
16294
- VALUE vresult = Qnil;
17029
+ _wrap_new_Measurement__SWIG_1(int argc, VALUE *argv, VALUE self) {
17030
+ GPS_Measurement< double > *arg1 = 0 ;
17031
+ GPS_Measurement< double > temp1 ;
17032
+ GPS_Measurement< double > *result = 0 ;
16295
17033
 
16296
- if ((argc < 0) || (argc > 0)) {
16297
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
17034
+ if ((argc < 1) || (argc > 1)) {
17035
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
16298
17036
  }
16299
- res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0 | 0 );
16300
- if (!SWIG_IsOK(res1)) {
16301
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions_Common< double > const *","cast_general", 1, self ));
17037
+ {
17038
+ if((!SWIG_IsOK(SWIG_ConvertPtr(argv[0], (void **)&arg1, SWIGTYPE_p_GPS_MeasurementT_double_t, 0)))
17039
+ && (!SWIG_IsOK(swig::asval(argv[0], (arg1 = &temp1))))){
17040
+ SWIG_exception(SWIG_TypeError, "in method 'GPS_Measurement<(double)>', expecting type GPS_Measurement< double >");
17041
+ }
16302
17042
  }
16303
- arg1 = reinterpret_cast< GPS_SolverOptions_Common< double > * >(argp1);
16304
17043
  {
16305
17044
  try {
16306
- result = (GPS_Solver_GeneralOptions< double > *)((GPS_SolverOptions_Common< double > const *)arg1)->cast_general();
17045
+ result = (GPS_Measurement< double > *)new GPS_Measurement< double >((GPS_Measurement< double > const &)*arg1);
17046
+ DATA_PTR(self) = result;
16307
17047
  } catch (const native_exception &e) {
16308
17048
  e.regenerate();
16309
17049
  SWIG_fail;
@@ -16311,52 +17051,66 @@ _wrap_SolverOptionsCommon_cast_general__SWIG_1(int argc, VALUE *argv, VALUE self
16311
17051
  SWIG_exception_fail(SWIG_RuntimeError, e.what());
16312
17052
  }
16313
17053
  }
16314
- vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_GPS_Solver_GeneralOptionsT_double_t, 0 | 0 );
16315
- return vresult;
17054
+ return self;
16316
17055
  fail:
16317
17056
  return Qnil;
16318
17057
  }
16319
17058
 
16320
17059
 
16321
- SWIGINTERN VALUE _wrap_SolverOptionsCommon_cast_general(int nargs, VALUE *args, VALUE self) {
17060
+ SWIGINTERN VALUE _wrap_new_Measurement(int nargs, VALUE *args, VALUE self) {
16322
17061
  int argc;
16323
- VALUE argv[2];
17062
+ VALUE argv[1];
16324
17063
  int ii;
16325
17064
 
16326
- argc = nargs + 1;
16327
- argv[0] = self;
16328
- if (argc > 2) SWIG_fail;
16329
- for (ii = 1; (ii < argc); ++ii) {
16330
- argv[ii] = args[ii-1];
17065
+ argc = nargs;
17066
+ if (argc > 1) SWIG_fail;
17067
+ for (ii = 0; (ii < argc); ++ii) {
17068
+ argv[ii] = args[ii];
16331
17069
  }
16332
- if (argc == 1) {
16333
- int _v;
16334
- void *vptr = 0;
16335
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0);
16336
- _v = SWIG_CheckState(res);
16337
- if (_v) {
16338
- return _wrap_SolverOptionsCommon_cast_general__SWIG_0(nargs, args, self);
16339
- }
17070
+ if (argc == 0) {
17071
+ return _wrap_new_Measurement__SWIG_0(nargs, args, self);
16340
17072
  }
16341
17073
  if (argc == 1) {
16342
17074
  int _v;
16343
- void *vptr = 0;
16344
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, 0);
16345
- _v = SWIG_CheckState(res);
17075
+ {
17076
+ _v = SWIG_CheckState(SWIG_ConvertPtr(argv[0], (void **)0, SWIGTYPE_p_GPS_MeasurementT_double_t, 0))
17077
+ || swig::check<GPS_Measurement<double> >(argv[0]);
17078
+ }
16346
17079
  if (_v) {
16347
- return _wrap_SolverOptionsCommon_cast_general__SWIG_1(nargs, args, self);
17080
+ return _wrap_new_Measurement__SWIG_1(nargs, args, self);
16348
17081
  }
16349
17082
  }
16350
17083
 
16351
17084
  fail:
16352
- Ruby_Format_OverloadedError( argc, 2, "SolverOptionsCommon.cast_general",
16353
- " GPS_Solver_GeneralOptions< double > SolverOptionsCommon.cast_general()\n"
16354
- " GPS_Solver_GeneralOptions< double > const * SolverOptionsCommon.cast_general()\n");
17085
+ Ruby_Format_OverloadedError( argc, 1, "Measurement.new",
17086
+ " Measurement.new()\n"
17087
+ " Measurement.new(GPS_Measurement< double > const &other)\n");
16355
17088
 
16356
17089
  return Qnil;
16357
17090
  }
16358
17091
 
16359
17092
 
17093
+ SWIGINTERN void
17094
+ free_GPS_Measurement_Sl_double_Sg_(void *self) {
17095
+ GPS_Measurement< double > *arg1 = (GPS_Measurement< double > *)self;
17096
+ delete arg1;
17097
+ }
17098
+
17099
+ /*
17100
+ Document-class: GPS_PVT::GPS::SolverOptionsCommon
17101
+
17102
+ Proxy of C++ GPS_PVT::GPS::SolverOptionsCommon class
17103
+
17104
+
17105
+ */
17106
+ static swig_class SwigClassSolverOptionsCommon;
17107
+
17108
+ SWIGINTERN void
17109
+ free_GPS_SolverOptions_Common_Sl_double_Sg_(void *self) {
17110
+ GPS_SolverOptions_Common< double > *arg1 = (GPS_SolverOptions_Common< double > *)self;
17111
+ delete arg1;
17112
+ }
17113
+
16360
17114
  /*
16361
17115
  Document-method: GPS_PVT::GPS::SolverOptionsCommon.elevation_mask=
16362
17116
 
@@ -16701,6 +17455,100 @@ fail:
16701
17455
  }
16702
17456
 
16703
17457
 
17458
+ /*
17459
+ Document-method: GPS_PVT::GPS::SolverOptions.exclude_L2C?
17460
+
17461
+ call-seq:
17462
+ exclude_L2C? -> bool
17463
+
17464
+ An instance method.
17465
+
17466
+ */
17467
+ SWIGINTERN VALUE
17468
+ _wrap_SolverOptions_exclude_L2Cq___(int argc, VALUE *argv, VALUE self) {
17469
+ GPS_SolverOptions< double > *arg1 = (GPS_SolverOptions< double > *) 0 ;
17470
+ void *argp1 = 0 ;
17471
+ int res1 = 0 ;
17472
+ bool result;
17473
+ VALUE vresult = Qnil;
17474
+
17475
+ if ((argc < 0) || (argc > 0)) {
17476
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
17477
+ }
17478
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptionsT_double_t, 0 | 0 );
17479
+ if (!SWIG_IsOK(res1)) {
17480
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions< double > *","get_exclude_L2C", 1, self ));
17481
+ }
17482
+ arg1 = reinterpret_cast< GPS_SolverOptions< double > * >(argp1);
17483
+ {
17484
+ try {
17485
+ result = (bool)(arg1)->get_exclude_L2C();
17486
+ } catch (const native_exception &e) {
17487
+ e.regenerate();
17488
+ SWIG_fail;
17489
+ } catch (const std::exception& e) {
17490
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17491
+ }
17492
+ }
17493
+ vresult = SWIG_From_bool(static_cast< bool >(result));
17494
+ return vresult;
17495
+ fail:
17496
+ return Qnil;
17497
+ }
17498
+
17499
+
17500
+ /*
17501
+ Document-method: GPS_PVT::GPS::SolverOptions.exclude_L2C=
17502
+
17503
+ call-seq:
17504
+ exclude_L2C=(bool const & b) -> bool
17505
+
17506
+ An instance method.
17507
+
17508
+ */
17509
+ SWIGINTERN VALUE
17510
+ _wrap_SolverOptions_exclude_L2Ce___(int argc, VALUE *argv, VALUE self) {
17511
+ GPS_SolverOptions< double > *arg1 = (GPS_SolverOptions< double > *) 0 ;
17512
+ bool *arg2 = 0 ;
17513
+ void *argp1 = 0 ;
17514
+ int res1 = 0 ;
17515
+ bool temp2 ;
17516
+ bool val2 ;
17517
+ int ecode2 = 0 ;
17518
+ bool result;
17519
+ VALUE vresult = Qnil;
17520
+
17521
+ if ((argc < 1) || (argc > 1)) {
17522
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
17523
+ }
17524
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GPS_SolverOptionsT_double_t, 0 | 0 );
17525
+ if (!SWIG_IsOK(res1)) {
17526
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GPS_SolverOptions< double > *","set_exclude_L2C", 1, self ));
17527
+ }
17528
+ arg1 = reinterpret_cast< GPS_SolverOptions< double > * >(argp1);
17529
+ ecode2 = SWIG_AsVal_bool(argv[0], &val2);
17530
+ if (!SWIG_IsOK(ecode2)) {
17531
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","set_exclude_L2C", 2, argv[0] ));
17532
+ }
17533
+ temp2 = static_cast< bool >(val2);
17534
+ arg2 = &temp2;
17535
+ {
17536
+ try {
17537
+ result = (bool)(arg1)->set_exclude_L2C((bool const &)*arg2);
17538
+ } catch (const native_exception &e) {
17539
+ e.regenerate();
17540
+ SWIG_fail;
17541
+ } catch (const std::exception& e) {
17542
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17543
+ }
17544
+ }
17545
+ vresult = SWIG_From_bool(static_cast< bool >(result));
17546
+ return vresult;
17547
+ fail:
17548
+ return Qnil;
17549
+ }
17550
+
17551
+
16704
17552
  SWIGINTERN VALUE
16705
17553
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
16706
17554
  _wrap_SolverOptions_allocate(VALUE self)
@@ -17450,21 +18298,116 @@ SWIGINTERN VALUE _wrap_new_Ephemeris_SBAS(int nargs, VALUE *args, VALUE self) {
17450
18298
  if (argc == 0) {
17451
18299
  return _wrap_new_Ephemeris_SBAS__SWIG_0(nargs, args, self);
17452
18300
  }
17453
- if (argc == 1) {
17454
- int _v;
17455
- void *vptr = 0;
17456
- int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
17457
- _v = SWIG_CheckState(res);
17458
- if (_v) {
17459
- return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18301
+ if (argc == 1) {
18302
+ int _v;
18303
+ void *vptr = 0;
18304
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, SWIG_POINTER_NO_NULL);
18305
+ _v = SWIG_CheckState(res);
18306
+ if (_v) {
18307
+ return _wrap_new_Ephemeris_SBAS__SWIG_1(nargs, args, self);
18308
+ }
18309
+ }
18310
+
18311
+ fail:
18312
+ Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
18313
+ " Ephemeris_SBAS.new()\n"
18314
+ " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
18315
+
18316
+ return Qnil;
18317
+ }
18318
+
18319
+
18320
+ /*
18321
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.valid?
18322
+
18323
+ call-seq:
18324
+ valid?(Time t) -> bool
18325
+
18326
+ An instance method.
18327
+
18328
+ */
18329
+ SWIGINTERN VALUE
18330
+ _wrap_Ephemeris_SBAS_validq___(int argc, VALUE *argv, VALUE self) {
18331
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18332
+ GPS_Time< double > *arg2 = 0 ;
18333
+ void *argp1 = 0 ;
18334
+ int res1 = 0 ;
18335
+ void *argp2 ;
18336
+ int res2 = 0 ;
18337
+ bool result;
18338
+ VALUE vresult = Qnil;
18339
+
18340
+ if ((argc < 1) || (argc > 1)) {
18341
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
18342
+ }
18343
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18344
+ if (!SWIG_IsOK(res1)) {
18345
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","is_valid", 1, self ));
18346
+ }
18347
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18348
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
18349
+ if (!SWIG_IsOK(res2)) {
18350
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
18351
+ }
18352
+ if (!argp2) {
18353
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
18354
+ }
18355
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
18356
+ {
18357
+ try {
18358
+ result = (bool)((SBAS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
18359
+ } catch (const native_exception &e) {
18360
+ e.regenerate();
18361
+ SWIG_fail;
18362
+ } catch (const std::exception& e) {
18363
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
18364
+ }
18365
+ }
18366
+ vresult = SWIG_From_bool(static_cast< bool >(result));
18367
+ return vresult;
18368
+ fail:
18369
+ return Qnil;
18370
+ }
18371
+
18372
+
18373
+ /*
18374
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.t_applicable
18375
+
18376
+ call-seq:
18377
+ t_applicable -> Time
18378
+
18379
+ An instance method.
18380
+
18381
+ */
18382
+ SWIGINTERN VALUE
18383
+ _wrap_Ephemeris_SBAS_t_applicable(int argc, VALUE *argv, VALUE self) {
18384
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
18385
+ void *argp1 = 0 ;
18386
+ int res1 = 0 ;
18387
+ GPS_Time< double > result;
18388
+ VALUE vresult = Qnil;
18389
+
18390
+ if ((argc < 0) || (argc > 0)) {
18391
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
18392
+ }
18393
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
18394
+ if (!SWIG_IsOK(res1)) {
18395
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > const *","t_applicable", 1, self ));
18396
+ }
18397
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
18398
+ {
18399
+ try {
18400
+ result = ((SBAS_Ephemeris< double > const *)arg1)->t_applicable();
18401
+ } catch (const native_exception &e) {
18402
+ e.regenerate();
18403
+ SWIG_fail;
18404
+ } catch (const std::exception& e) {
18405
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
17460
18406
  }
17461
18407
  }
17462
-
18408
+ vresult = SWIG_NewPointerObj((new GPS_Time< double >(static_cast< const GPS_Time< double >& >(result))), SWIGTYPE_p_GPS_TimeT_double_t, SWIG_POINTER_OWN | 0 );
18409
+ return vresult;
17463
18410
  fail:
17464
- Ruby_Format_OverloadedError( argc, 1, "Ephemeris_SBAS.new",
17465
- " Ephemeris_SBAS.new()\n"
17466
- " Ephemeris_SBAS.new(SBAS_SpaceNode< double >::SatelliteProperties::Ephemeris const &eph)\n");
17467
-
17468
18411
  return Qnil;
17469
18412
  }
17470
18413
 
@@ -18879,6 +19822,153 @@ fail:
18879
19822
  }
18880
19823
 
18881
19824
 
19825
+ /*
19826
+ Document-method: GPS_PVT::GPS::Ephemeris_SBAS.dump
19827
+
19828
+ call-seq:
19829
+ dump(unsigned int const & preamble_idx=0)
19830
+ dump
19831
+
19832
+ An instance method.
19833
+
19834
+ */
19835
+ SWIGINTERN VALUE
19836
+ _wrap_Ephemeris_SBAS_dump__SWIG_0(int argc, VALUE *argv, VALUE self) {
19837
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19838
+ unsigned int *arg2 ;
19839
+ unsigned int *arg3 = 0 ;
19840
+ void *argp1 = 0 ;
19841
+ int res1 = 0 ;
19842
+ unsigned int temp2[8] = {
19843
+ 0
19844
+ } ;
19845
+ unsigned int temp3 ;
19846
+ unsigned int val3 ;
19847
+ int ecode3 = 0 ;
19848
+ VALUE vresult = Qnil;
19849
+
19850
+ arg2 = temp2;
19851
+ if ((argc < 1) || (argc > 1)) {
19852
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
19853
+ }
19854
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19855
+ if (!SWIG_IsOK(res1)) {
19856
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19857
+ }
19858
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19859
+ ecode3 = SWIG_AsVal_unsigned_SS_int(argv[0], &val3);
19860
+ if (!SWIG_IsOK(ecode3)) {
19861
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "unsigned int","dump", 3, argv[0] ));
19862
+ }
19863
+ temp3 = static_cast< unsigned int >(val3);
19864
+ arg3 = &temp3;
19865
+ {
19866
+ try {
19867
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2,(unsigned int const &)*arg3);
19868
+ } catch (const native_exception &e) {
19869
+ e.regenerate();
19870
+ SWIG_fail;
19871
+ } catch (const std::exception& e) {
19872
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19873
+ }
19874
+ }
19875
+ {
19876
+ for(int i(0); i < 8; ++i){
19877
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19878
+ }
19879
+ }
19880
+ return vresult;
19881
+ fail:
19882
+ return Qnil;
19883
+ }
19884
+
19885
+
19886
+ SWIGINTERN VALUE
19887
+ _wrap_Ephemeris_SBAS_dump__SWIG_1(int argc, VALUE *argv, VALUE self) {
19888
+ SBAS_Ephemeris< double > *arg1 = (SBAS_Ephemeris< double > *) 0 ;
19889
+ unsigned int *arg2 ;
19890
+ void *argp1 = 0 ;
19891
+ int res1 = 0 ;
19892
+ unsigned int temp2[8] = {
19893
+ 0
19894
+ } ;
19895
+ VALUE vresult = Qnil;
19896
+
19897
+ arg2 = temp2;
19898
+ if ((argc < 0) || (argc > 0)) {
19899
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
19900
+ }
19901
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_SBAS_EphemerisT_double_t, 0 | 0 );
19902
+ if (!SWIG_IsOK(res1)) {
19903
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "SBAS_Ephemeris< double > *","dump", 1, self ));
19904
+ }
19905
+ arg1 = reinterpret_cast< SBAS_Ephemeris< double > * >(argp1);
19906
+ {
19907
+ try {
19908
+ SBAS_Ephemeris_Sl_double_Sg__dump__SWIG_0(arg1,arg2);
19909
+ } catch (const native_exception &e) {
19910
+ e.regenerate();
19911
+ SWIG_fail;
19912
+ } catch (const std::exception& e) {
19913
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
19914
+ }
19915
+ }
19916
+ {
19917
+ for(int i(0); i < 8; ++i){
19918
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
19919
+ }
19920
+ }
19921
+ return vresult;
19922
+ fail:
19923
+ return Qnil;
19924
+ }
19925
+
19926
+
19927
+ SWIGINTERN VALUE _wrap_Ephemeris_SBAS_dump(int nargs, VALUE *args, VALUE self) {
19928
+ int argc;
19929
+ VALUE argv[3];
19930
+ int ii;
19931
+
19932
+ argc = nargs + 1;
19933
+ argv[0] = self;
19934
+ if (argc > 3) SWIG_fail;
19935
+ for (ii = 1; (ii < argc); ++ii) {
19936
+ argv[ii] = args[ii-1];
19937
+ }
19938
+ if (argc == 1) {
19939
+ int _v;
19940
+ void *vptr = 0;
19941
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19942
+ _v = SWIG_CheckState(res);
19943
+ if (_v) {
19944
+ return _wrap_Ephemeris_SBAS_dump__SWIG_1(nargs, args, self);
19945
+ }
19946
+ }
19947
+ if (argc == 2) {
19948
+ int _v;
19949
+ void *vptr = 0;
19950
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SBAS_EphemerisT_double_t, 0);
19951
+ _v = SWIG_CheckState(res);
19952
+ if (_v) {
19953
+ {
19954
+ int res = SWIG_AsVal_unsigned_SS_int(argv[1], NULL);
19955
+ _v = SWIG_CheckState(res);
19956
+ }
19957
+ if (_v) {
19958
+ return _wrap_Ephemeris_SBAS_dump__SWIG_0(nargs, args, self);
19959
+ }
19960
+ }
19961
+ }
19962
+
19963
+ fail:
19964
+ Ruby_Format_OverloadedError( argc, 3, "dump",
19965
+ " void dump(unsigned int buf_brdc[8], unsigned int const &preamble_idx)\n"
19966
+ " void dump(unsigned int buf_brdc[8])\n");
19967
+
19968
+ return Qnil;
19969
+ }
19970
+
19971
+
18882
19972
  /*
18883
19973
  Document-method: GPS_PVT::GPS::Ephemeris_SBAS.constellation
18884
19974
 
@@ -21479,6 +22569,59 @@ fail:
21479
22569
  }
21480
22570
 
21481
22571
 
22572
+ /*
22573
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.valid?
22574
+
22575
+ call-seq:
22576
+ valid?(Time t) -> bool
22577
+
22578
+ An instance method.
22579
+
22580
+ */
22581
+ SWIGINTERN VALUE
22582
+ _wrap_Ephemeris_GLONASS_validq___(int argc, VALUE *argv, VALUE self) {
22583
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
22584
+ GPS_Time< double > *arg2 = 0 ;
22585
+ void *argp1 = 0 ;
22586
+ int res1 = 0 ;
22587
+ void *argp2 ;
22588
+ int res2 = 0 ;
22589
+ bool result;
22590
+ VALUE vresult = Qnil;
22591
+
22592
+ if ((argc < 1) || (argc > 1)) {
22593
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
22594
+ }
22595
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
22596
+ if (!SWIG_IsOK(res1)) {
22597
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > const *","is_valid", 1, self ));
22598
+ }
22599
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
22600
+ res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
22601
+ if (!SWIG_IsOK(res2)) {
22602
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "GPS_Time< double > const &","is_valid", 2, argv[0] ));
22603
+ }
22604
+ if (!argp2) {
22605
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","is_valid", 2, argv[0]));
22606
+ }
22607
+ arg2 = reinterpret_cast< GPS_Time< double > * >(argp2);
22608
+ {
22609
+ try {
22610
+ result = (bool)((GLONASS_Ephemeris< double > const *)arg1)->is_valid((GPS_Time< double > const &)*arg2);
22611
+ } catch (const native_exception &e) {
22612
+ e.regenerate();
22613
+ SWIG_fail;
22614
+ } catch (const std::exception& e) {
22615
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
22616
+ }
22617
+ }
22618
+ vresult = SWIG_From_bool(static_cast< bool >(result));
22619
+ return vresult;
22620
+ fail:
22621
+ return Qnil;
22622
+ }
22623
+
22624
+
21482
22625
  /*
21483
22626
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.new
21484
22627
 
@@ -24520,6 +25663,108 @@ fail:
24520
25663
  }
24521
25664
 
24522
25665
 
25666
+ /*
25667
+ Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.dump
25668
+
25669
+ call-seq:
25670
+ dump(Time t)
25671
+
25672
+ An instance method.
25673
+
25674
+ */
25675
+ SWIGINTERN VALUE
25676
+ _wrap_Ephemeris_GLONASS_dump(int argc, VALUE *argv, VALUE self) {
25677
+ GLONASS_Ephemeris< double > *arg1 = (GLONASS_Ephemeris< double > *) 0 ;
25678
+ unsigned int *arg2 ;
25679
+ unsigned int *arg3 ;
25680
+ unsigned int *arg4 ;
25681
+ unsigned int *arg5 ;
25682
+ unsigned int *arg6 ;
25683
+ GPS_Time< double > *arg7 = 0 ;
25684
+ void *argp1 = 0 ;
25685
+ int res1 = 0 ;
25686
+ unsigned int temp2[3] = {
25687
+ 0
25688
+ } ;
25689
+ unsigned int temp3[3] = {
25690
+ 0
25691
+ } ;
25692
+ unsigned int temp4[3] = {
25693
+ 0
25694
+ } ;
25695
+ unsigned int temp5[3] = {
25696
+ 0
25697
+ } ;
25698
+ unsigned int temp6[3] = {
25699
+ 0
25700
+ } ;
25701
+ void *argp7 ;
25702
+ int res7 = 0 ;
25703
+ VALUE vresult = Qnil;
25704
+
25705
+ arg2 = temp2;
25706
+ arg3 = temp3;
25707
+ arg4 = temp4;
25708
+ arg5 = temp5;
25709
+ arg6 = temp6;
25710
+ if ((argc < 1) || (argc > 1)) {
25711
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
25712
+ }
25713
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_GLONASS_EphemerisT_double_t, 0 | 0 );
25714
+ if (!SWIG_IsOK(res1)) {
25715
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "GLONASS_Ephemeris< double > *","dump", 1, self ));
25716
+ }
25717
+ arg1 = reinterpret_cast< GLONASS_Ephemeris< double > * >(argp1);
25718
+ res7 = SWIG_ConvertPtr(argv[0], &argp7, SWIGTYPE_p_GPS_TimeT_double_t, 0 );
25719
+ if (!SWIG_IsOK(res7)) {
25720
+ SWIG_exception_fail(SWIG_ArgError(res7), Ruby_Format_TypeError( "", "GPS_Time< double > const &","dump", 7, argv[0] ));
25721
+ }
25722
+ if (!argp7) {
25723
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "GPS_Time< double > const &","dump", 7, argv[0]));
25724
+ }
25725
+ arg7 = reinterpret_cast< GPS_Time< double > * >(argp7);
25726
+ {
25727
+ try {
25728
+ GLONASS_Ephemeris_Sl_double_Sg__dump(arg1,arg2,arg3,arg4,arg5,arg6,(GPS_Time< double > const &)*arg7);
25729
+ } catch (const native_exception &e) {
25730
+ e.regenerate();
25731
+ SWIG_fail;
25732
+ } catch (const std::exception& e) {
25733
+ SWIG_exception_fail(SWIG_RuntimeError, e.what());
25734
+ }
25735
+ }
25736
+ vresult = rb_ary_new();
25737
+ {
25738
+ for(int i(0); i < 3; ++i){
25739
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg2)[i]));
25740
+ }
25741
+ }
25742
+ {
25743
+ for(int i(0); i < 3; ++i){
25744
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg3)[i]));
25745
+ }
25746
+ }
25747
+ {
25748
+ for(int i(0); i < 3; ++i){
25749
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg4)[i]));
25750
+ }
25751
+ }
25752
+ {
25753
+ for(int i(0); i < 3; ++i){
25754
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg5)[i]));
25755
+ }
25756
+ }
25757
+ {
25758
+ for(int i(0); i < 3; ++i){
25759
+ vresult = SWIG_Ruby_AppendOutput(vresult, SWIG_From_unsigned_SS_int ((arg6)[i]));
25760
+ }
25761
+ }
25762
+ return vresult;
25763
+ fail:
25764
+ return Qnil;
25765
+ }
25766
+
25767
+
24523
25768
  /*
24524
25769
  Document-method: GPS_PVT::GPS::Ephemeris_GLONASS.constellation
24525
25770
 
@@ -26221,7 +27466,6 @@ static swig_type_info _swigt__p_GPS_MeasurementT_double_t = {"_p_GPS_Measurement
26221
27466
  static swig_type_info _swigt__p_GPS_SolverOptionsT_double_t = {"_p_GPS_SolverOptionsT_double_t", "GPS_SolverOptions< double > *", 0, 0, (void*)0, 0};
26222
27467
  static swig_type_info _swigt__p_GPS_SolverOptions_CommonT_double_t = {"_p_GPS_SolverOptions_CommonT_double_t", "GPS_SolverOptions_Common< double > *", 0, 0, (void*)0, 0};
26223
27468
  static swig_type_info _swigt__p_GPS_SolverT_double_t = {"_p_GPS_SolverT_double_t", "GPS_Solver< double > *", 0, 0, (void*)0, 0};
26224
- static swig_type_info _swigt__p_GPS_Solver_GeneralOptionsT_double_t = {"_p_GPS_Solver_GeneralOptionsT_double_t", "GPS_Solver_GeneralOptions< double > *", 0, 0, (void*)0, 0};
26225
27469
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t = {"_p_GPS_SpaceNodeT_double_t", "GPS_SpaceNode< double >::self_t *|GPS_SpaceNode< double > *", 0, 0, (void*)0, 0};
26226
27470
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters = {"_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters", "GPS_SpaceNode< double >::Ionospheric_UTC_Parameters *", 0, 0, (void*)0, 0};
26227
27471
  static swig_type_info _swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris = {"_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris", "GPS_SpaceNode< double >::SatelliteProperties::Ephemeris *", 0, 0, (void*)0, 0};
@@ -26272,6 +27516,7 @@ static swig_type_info _swigt__p_u16_t = {"_p_u16_t", "u16_t *", 0, 0, (void*)0,
26272
27516
  static swig_type_info _swigt__p_u32_t = {"_p_u32_t", "u32_t *", 0, 0, (void*)0, 0};
26273
27517
  static swig_type_info _swigt__p_u8_t = {"_p_u8_t", "u8_t *", 0, 0, (void*)0, 0};
26274
27518
  static swig_type_info _swigt__p_uint_t = {"_p_uint_t", "uint_t *", 0, 0, (void*)0, 0};
27519
+ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, (void*)0, 0};
26275
27520
  static swig_type_info _swigt__p_xyz_t = {"_p_xyz_t", "xyz_t *", 0, 0, (void*)0, 0};
26276
27521
 
26277
27522
  static swig_type_info *swig_type_initial[] = {
@@ -26290,7 +27535,6 @@ static swig_type_info *swig_type_initial[] = {
26290
27535
  &_swigt__p_GPS_SolverOptionsT_double_t,
26291
27536
  &_swigt__p_GPS_SolverOptions_CommonT_double_t,
26292
27537
  &_swigt__p_GPS_SolverT_double_t,
26293
- &_swigt__p_GPS_Solver_GeneralOptionsT_double_t,
26294
27538
  &_swigt__p_GPS_SpaceNodeT_double_t,
26295
27539
  &_swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters,
26296
27540
  &_swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris,
@@ -26341,6 +27585,7 @@ static swig_type_info *swig_type_initial[] = {
26341
27585
  &_swigt__p_u32_t,
26342
27586
  &_swigt__p_u8_t,
26343
27587
  &_swigt__p_uint_t,
27588
+ &_swigt__p_unsigned_int,
26344
27589
  &_swigt__p_xyz_t,
26345
27590
  };
26346
27591
 
@@ -26359,7 +27604,6 @@ static swig_cast_info _swigc__p_GPS_MeasurementT_double_t[] = { {&_swigt__p_GPS
26359
27604
  static swig_cast_info _swigc__p_GPS_SolverOptionsT_double_t[] = { {&_swigt__p_GPS_SolverOptionsT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26360
27605
  static swig_cast_info _swigc__p_GPS_SolverOptions_CommonT_double_t[] = { {&_swigt__p_GPS_SolverOptions_CommonT_double_t, 0, 0, 0}, {&_swigt__p_GPS_SolverOptionsT_double_t, _p_GPS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0}, {&_swigt__p_SBAS_SolverOptionsT_double_t, _p_SBAS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0}, {&_swigt__p_GLONASS_SolverOptionsT_double_t, _p_GLONASS_SolverOptionsT_double_tTo_p_GPS_SolverOptions_CommonT_double_t, 0, 0},{0, 0, 0, 0}};
26361
27606
  static swig_cast_info _swigc__p_GPS_SolverT_double_t[] = { {&_swigt__p_GPS_SolverT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26362
- static swig_cast_info _swigc__p_GPS_Solver_GeneralOptionsT_double_t[] = { {&_swigt__p_GPS_Solver_GeneralOptionsT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26363
27607
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t[] = { {&_swigt__p_GPS_SpaceNodeT_double_t, 0, 0, 0},{0, 0, 0, 0}};
26364
27608
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters[] = { {&_swigt__p_GPS_Ionospheric_UTC_ParametersT_double_t, _p_GPS_Ionospheric_UTC_ParametersT_double_tTo_p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters, 0, 0}, {&_swigt__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters, 0, 0, 0},{0, 0, 0, 0}};
26365
27609
  static swig_cast_info _swigc__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris[] = { {&_swigt__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, 0, 0, 0}, {&_swigt__p_GPS_EphemerisT_double_t, _p_GPS_EphemerisT_double_tTo_p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris, 0, 0},{0, 0, 0, 0}};
@@ -26410,6 +27654,7 @@ static swig_cast_info _swigc__p_u16_t[] = { {&_swigt__p_u16_t, 0, 0, 0},{0, 0,
26410
27654
  static swig_cast_info _swigc__p_u32_t[] = { {&_swigt__p_u32_t, 0, 0, 0},{0, 0, 0, 0}};
26411
27655
  static swig_cast_info _swigc__p_u8_t[] = { {&_swigt__p_u8_t, 0, 0, 0},{0, 0, 0, 0}};
26412
27656
  static swig_cast_info _swigc__p_uint_t[] = { {&_swigt__p_uint_t, 0, 0, 0},{0, 0, 0, 0}};
27657
+ static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
26413
27658
  static swig_cast_info _swigc__p_xyz_t[] = { {&_swigt__p_xyz_t, 0, 0, 0},{0, 0, 0, 0}};
26414
27659
 
26415
27660
  static swig_cast_info *swig_cast_initial[] = {
@@ -26428,7 +27673,6 @@ static swig_cast_info *swig_cast_initial[] = {
26428
27673
  _swigc__p_GPS_SolverOptionsT_double_t,
26429
27674
  _swigc__p_GPS_SolverOptions_CommonT_double_t,
26430
27675
  _swigc__p_GPS_SolverT_double_t,
26431
- _swigc__p_GPS_Solver_GeneralOptionsT_double_t,
26432
27676
  _swigc__p_GPS_SpaceNodeT_double_t,
26433
27677
  _swigc__p_GPS_SpaceNodeT_double_t__Ionospheric_UTC_Parameters,
26434
27678
  _swigc__p_GPS_SpaceNodeT_double_t__SatelliteProperties__Ephemeris,
@@ -26479,6 +27723,7 @@ static swig_cast_info *swig_cast_initial[] = {
26479
27723
  _swigc__p_u32_t,
26480
27724
  _swigc__p_u8_t,
26481
27725
  _swigc__p_uint_t,
27726
+ _swigc__p_unsigned_int,
26482
27727
  _swigc__p_xyz_t,
26483
27728
  };
26484
27729
 
@@ -26864,6 +28109,7 @@ SWIGEXPORT void Init_GPS(void) {
26864
28109
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF=", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSFe___), -1);
26865
28110
  rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "delta_t_LSF", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_delta_t_LSF), -1);
26866
28111
  rb_define_singleton_method(SwigClassIonospheric_UTC_Parameters.klass, "parse", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_parse), -1);
28112
+ rb_define_method(SwigClassIonospheric_UTC_Parameters.klass, "dump", VALUEFUNC(_wrap_Ionospheric_UTC_Parameters_dump), -1);
26867
28113
  SwigClassIonospheric_UTC_Parameters.mark = 0;
26868
28114
  SwigClassIonospheric_UTC_Parameters.destroy = (void (*)(void *)) free_GPS_Ionospheric_UTC_Parameters_Sl_double_Sg_;
26869
28115
  SwigClassIonospheric_UTC_Parameters.trackObjects = 0;
@@ -26876,6 +28122,9 @@ SWIGEXPORT void Init_GPS(void) {
26876
28122
  rb_define_method(SwigClassEphemeris.klass, "iode_subframe3", VALUEFUNC(_wrap_Ephemeris_iode_subframe3_get), -1);
26877
28123
  rb_define_method(SwigClassEphemeris.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_invalidate), -1);
26878
28124
  rb_define_method(SwigClassEphemeris.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_consistentq___), -1);
28125
+ rb_define_method(SwigClassEphemeris.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_validq___), -1);
28126
+ rb_define_method(SwigClassEphemeris.klass, "t_clock", VALUEFUNC(_wrap_Ephemeris_t_clock), -1);
28127
+ rb_define_method(SwigClassEphemeris.klass, "t_ephemeris", VALUEFUNC(_wrap_Ephemeris_t_ephemeris), -1);
26879
28128
  rb_define_method(SwigClassEphemeris.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_svide___), -1);
26880
28129
  rb_define_method(SwigClassEphemeris.klass, "svid", VALUEFUNC(_wrap_Ephemeris_svid), -1);
26881
28130
  rb_define_method(SwigClassEphemeris.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_WNe___), -1);
@@ -26933,6 +28182,9 @@ SWIGEXPORT void Init_GPS(void) {
26933
28182
  rb_define_method(SwigClassEphemeris.klass, "dot_i0=", VALUEFUNC(_wrap_Ephemeris_dot_i0e___), -1);
26934
28183
  rb_define_method(SwigClassEphemeris.klass, "dot_i0", VALUEFUNC(_wrap_Ephemeris_dot_i0), -1);
26935
28184
  rb_define_method(SwigClassEphemeris.klass, "parse", VALUEFUNC(_wrap_Ephemeris_parse), -1);
28185
+ rb_define_method(SwigClassEphemeris.klass, "dump", VALUEFUNC(_wrap_Ephemeris_dump), -1);
28186
+ rb_define_method(SwigClassEphemeris.klass, "parse_almanac", VALUEFUNC(_wrap_Ephemeris_parse_almanac), -1);
28187
+ rb_define_method(SwigClassEphemeris.klass, "dump_almanac", VALUEFUNC(_wrap_Ephemeris_dump_almanac), -1);
26936
28188
  rb_define_method(SwigClassEphemeris.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_constellation), -1);
26937
28189
  SwigClassEphemeris.mark = 0;
26938
28190
  SwigClassEphemeris.destroy = (void (*)(void *)) free_GPS_Ephemeris_Sl_double_Sg_;
@@ -27001,6 +28253,26 @@ SWIGEXPORT void Init_GPS(void) {
27001
28253
  rb_define_const(SwigClassMeasurement.klass, "L1_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_SIGNAL_STRENGTH_dBHz)));
27002
28254
  rb_define_const(SwigClassMeasurement.klass, "L1_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_LOCK_SEC)));
27003
28255
  rb_define_const(SwigClassMeasurement.klass, "L1_FREQUENCY", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L1_FREQUENCY)));
28256
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_PSEUDORANGE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_PSEUDORANGE)));
28257
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_PSEUDORANGE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_PSEUDORANGE)));
28258
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_PSEUDORANGE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_PSEUDORANGE_SIGMA)));
28259
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_PSEUDORANGE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_PSEUDORANGE_SIGMA)));
28260
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_CARRIER_PHASE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_CARRIER_PHASE)));
28261
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_CARRIER_PHASE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_CARRIER_PHASE)));
28262
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_CARRIER_PHASE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_CARRIER_PHASE_SIGMA)));
28263
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_CARRIER_PHASE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_CARRIER_PHASE_SIGMA)));
28264
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_DOPPLER", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_DOPPLER)));
28265
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_DOPPLER", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_DOPPLER)));
28266
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_DOPPLER_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_DOPPLER_SIGMA)));
28267
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_DOPPLER_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_DOPPLER_SIGMA)));
28268
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_RANGE_RATE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_RANGE_RATE)));
28269
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_RANGE_RATE", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_RANGE_RATE)));
28270
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_RANGE_RATE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_RANGE_RATE_SIGMA)));
28271
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_RANGE_RATE_SIGMA", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_RANGE_RATE_SIGMA)));
28272
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_SIGNAL_STRENGTH_dBHz)));
28273
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_SIGNAL_STRENGTH_dBHz", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_SIGNAL_STRENGTH_dBHz)));
28274
+ rb_define_const(SwigClassMeasurement.klass, "L2CM_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CM_LOCK_SEC)));
28275
+ rb_define_const(SwigClassMeasurement.klass, "L2CL_LOCK_SEC", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::L2CL_LOCK_SEC)));
27004
28276
  rb_define_const(SwigClassMeasurement.klass, "ITEMS_PREDEFINED", SWIG_From_int(static_cast< int >(GPS_Measurement< double >::ITEMS_PREDEFINED)));
27005
28277
  rb_define_method(SwigClassMeasurement.klass, "add", VALUEFUNC(_wrap_Measurement_add), -1);
27006
28278
  rb_define_method(SwigClassMeasurement.klass, "each", VALUEFUNC(_wrap_Measurement_each), -1);
@@ -27012,7 +28284,6 @@ SWIGEXPORT void Init_GPS(void) {
27012
28284
  SwigClassSolverOptionsCommon.klass = rb_define_class_under(mGPS, "SolverOptionsCommon", rb_cObject);
27013
28285
  SWIG_TypeClientData(SWIGTYPE_p_GPS_SolverOptions_CommonT_double_t, (void *) &SwigClassSolverOptionsCommon);
27014
28286
  rb_undef_alloc_func(SwigClassSolverOptionsCommon.klass);
27015
- rb_define_method(SwigClassSolverOptionsCommon.klass, "cast_general", VALUEFUNC(_wrap_SolverOptionsCommon_cast_general), -1);
27016
28287
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_maske___), -1);
27017
28288
  rb_define_method(SwigClassSolverOptionsCommon.klass, "elevation_mask", VALUEFUNC(_wrap_SolverOptionsCommon_elevation_mask), -1);
27018
28289
  rb_define_method(SwigClassSolverOptionsCommon.klass, "residual_mask=", VALUEFUNC(_wrap_SolverOptionsCommon_residual_maske___), -1);
@@ -27028,6 +28299,8 @@ SWIGEXPORT void Init_GPS(void) {
27028
28299
  rb_define_method(SwigClassSolverOptions.klass, "exclude", VALUEFUNC(_wrap_SolverOptions_exclude), -1);
27029
28300
  rb_define_method(SwigClassSolverOptions.klass, "include", VALUEFUNC(_wrap_SolverOptions_include), -1);
27030
28301
  rb_define_method(SwigClassSolverOptions.klass, "excluded", VALUEFUNC(_wrap_SolverOptions_excluded), -1);
28302
+ rb_define_method(SwigClassSolverOptions.klass, "exclude_L2C?", VALUEFUNC(_wrap_SolverOptions_exclude_L2Cq___), -1);
28303
+ rb_define_method(SwigClassSolverOptions.klass, "exclude_L2C=", VALUEFUNC(_wrap_SolverOptions_exclude_L2Ce___), -1);
27031
28304
  SwigClassSolverOptions.mark = 0;
27032
28305
  SwigClassSolverOptions.destroy = (void (*)(void *)) free_GPS_SolverOptions_Sl_double_Sg_;
27033
28306
  SwigClassSolverOptions.trackObjects = 0;
@@ -27056,6 +28329,8 @@ SWIGEXPORT void Init_GPS(void) {
27056
28329
  SWIG_TypeClientData(SWIGTYPE_p_SBAS_EphemerisT_double_t, (void *) &SwigClassEphemeris_SBAS);
27057
28330
  rb_define_alloc_func(SwigClassEphemeris_SBAS.klass, _wrap_Ephemeris_SBAS_allocate);
27058
28331
  rb_define_method(SwigClassEphemeris_SBAS.klass, "initialize", VALUEFUNC(_wrap_new_Ephemeris_SBAS), -1);
28332
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_SBAS_validq___), -1);
28333
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "t_applicable", VALUEFUNC(_wrap_Ephemeris_SBAS_t_applicable), -1);
27059
28334
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_SBAS_svide___), -1);
27060
28335
  rb_define_method(SwigClassEphemeris_SBAS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_SBAS_svid), -1);
27061
28336
  rb_define_method(SwigClassEphemeris_SBAS.klass, "WN=", VALUEFUNC(_wrap_Ephemeris_SBAS_WNe___), -1);
@@ -27086,6 +28361,7 @@ SWIGEXPORT void Init_GPS(void) {
27086
28361
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf0", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf0), -1);
27087
28362
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1=", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1e___), -1);
27088
28363
  rb_define_method(SwigClassEphemeris_SBAS.klass, "a_Gf1", VALUEFUNC(_wrap_Ephemeris_SBAS_a_Gf1), -1);
28364
+ rb_define_method(SwigClassEphemeris_SBAS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_SBAS_dump), -1);
27089
28365
  rb_define_method(SwigClassEphemeris_SBAS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_SBAS_constellation), -1);
27090
28366
  SwigClassEphemeris_SBAS.mark = 0;
27091
28367
  SwigClassEphemeris_SBAS.destroy = (void (*)(void *)) free_SBAS_Ephemeris_Sl_double_Sg_;
@@ -27173,6 +28449,7 @@ SWIGEXPORT void Init_GPS(void) {
27173
28449
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "raw", VALUEFUNC(_wrap_Ephemeris_GLONASS_raw_get), -1);
27174
28450
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "invalidate", VALUEFUNC(_wrap_Ephemeris_GLONASS_invalidate), -1);
27175
28451
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "consistent?", VALUEFUNC(_wrap_Ephemeris_GLONASS_consistentq___), -1);
28452
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "valid?", VALUEFUNC(_wrap_Ephemeris_GLONASS_validq___), -1);
27176
28453
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid=", VALUEFUNC(_wrap_Ephemeris_GLONASS_svide___), -1);
27177
28454
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "svid", VALUEFUNC(_wrap_Ephemeris_GLONASS_svid), -1);
27178
28455
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "freq_ch=", VALUEFUNC(_wrap_Ephemeris_GLONASS_freq_che___), -1);
@@ -27233,6 +28510,7 @@ SWIGEXPORT void Init_GPS(void) {
27233
28510
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "frequency_L2", VALUEFUNC(_wrap_Ephemeris_GLONASS_frequency_L2), -1);
27234
28511
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "base_time", VALUEFUNC(_wrap_Ephemeris_GLONASS_base_time), -1);
27235
28512
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "parse", VALUEFUNC(_wrap_Ephemeris_GLONASS_parse), -1);
28513
+ rb_define_method(SwigClassEphemeris_GLONASS.klass, "dump", VALUEFUNC(_wrap_Ephemeris_GLONASS_dump), -1);
27236
28514
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "constellation", VALUEFUNC(_wrap_Ephemeris_GLONASS_constellation), -1);
27237
28515
  rb_define_method(SwigClassEphemeris_GLONASS.klass, "in_range?", VALUEFUNC(_wrap_Ephemeris_GLONASS_in_rangeq___), -1);
27238
28516
  SwigClassEphemeris_GLONASS.mark = 0;