ootk 4.0.0-0 → 4.0.0-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.
Files changed (356) hide show
  1. package/CHANGELOG.md +142 -31
  2. package/{lib → dist}/coordinate/Hill.d.ts +17 -18
  3. package/{lib → dist}/coordinate/Hill.js +44 -36
  4. package/dist/coordinate/Hill.js.map +1 -0
  5. package/{lib → dist}/covariance/CovarianceSample.d.ts +6 -7
  6. package/{lib → dist}/covariance/CovarianceSample.js +29 -28
  7. package/dist/covariance/CovarianceSample.js.map +1 -0
  8. package/{lib → dist}/covariance/StateCovariance.d.ts +4 -3
  9. package/{lib → dist}/covariance/StateCovariance.js +8 -5
  10. package/dist/covariance/StateCovariance.js.map +1 -0
  11. package/{lib → dist}/force/AtmosphericDrag.d.ts +1 -2
  12. package/{lib → dist}/force/AtmosphericDrag.js +13 -6
  13. package/dist/force/AtmosphericDrag.js.map +1 -0
  14. package/{lib → dist}/force/EarthGravity.d.ts +1 -2
  15. package/{lib → dist}/force/EarthGravity.js +4 -2
  16. package/dist/force/EarthGravity.js.map +1 -0
  17. package/{lib → dist}/force/Force.d.ts +3 -2
  18. package/{lib → dist}/force/Force.js +3 -2
  19. package/dist/force/Force.js.map +1 -0
  20. package/{lib → dist}/force/ForceModel.d.ts +4 -5
  21. package/{lib → dist}/force/ForceModel.js +6 -2
  22. package/dist/force/ForceModel.js.map +1 -0
  23. package/{lib → dist}/force/Gravity.d.ts +1 -4
  24. package/{lib → dist}/force/Gravity.js +3 -4
  25. package/dist/force/Gravity.js.map +1 -0
  26. package/{lib → dist}/force/SolarRadiationPressure.d.ts +1 -2
  27. package/{lib → dist}/force/SolarRadiationPressure.js +6 -4
  28. package/dist/force/SolarRadiationPressure.js.map +1 -0
  29. package/{lib → dist}/force/ThirdBodyGravity.d.ts +1 -2
  30. package/{lib → dist}/force/ThirdBodyGravity.js +4 -3
  31. package/dist/force/ThirdBodyGravity.js.map +1 -0
  32. package/{lib → dist}/force/Thrust.d.ts +10 -11
  33. package/{lib → dist}/force/Thrust.js +8 -3
  34. package/dist/force/Thrust.js.map +1 -0
  35. package/dist/interfaces/RfSensorParams.d.ts +28 -0
  36. package/dist/interfaces/RfSensorParams.js +24 -0
  37. package/dist/interfaces/RfSensorParams.js.map +1 -0
  38. package/dist/interfaces/index.d.ts +1 -0
  39. package/dist/interfaces/index.js +2 -0
  40. package/dist/interfaces/index.js.map +1 -0
  41. package/{lib → dist}/interpolator/ChebyshevCoefficients.d.ts +11 -15
  42. package/{lib → dist}/interpolator/ChebyshevCoefficients.js +19 -15
  43. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
  44. package/{lib → dist}/interpolator/ChebyshevInterpolator.d.ts +1 -2
  45. package/{lib → dist}/interpolator/ChebyshevInterpolator.js +2 -2
  46. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
  47. package/{lib → dist}/interpolator/CubicSpline.d.ts +8 -9
  48. package/{lib → dist}/interpolator/CubicSpline.js +10 -5
  49. package/dist/interpolator/CubicSpline.js.map +1 -0
  50. package/{lib → dist}/interpolator/CubicSplineInterpolator.d.ts +2 -3
  51. package/{lib → dist}/interpolator/CubicSplineInterpolator.js +6 -4
  52. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
  53. package/{lib → dist}/interpolator/FieldInterpolator.d.ts +7 -5
  54. package/{lib → dist}/interpolator/FieldInterpolator.js +6 -3
  55. package/dist/interpolator/FieldInterpolator.js.map +1 -0
  56. package/{lib → dist}/interpolator/Interpolator.d.ts +1 -2
  57. package/{lib → dist}/interpolator/Interpolator.js +1 -2
  58. package/dist/interpolator/Interpolator.js.map +1 -0
  59. package/{lib → dist}/interpolator/LagrangeInterpolator.d.ts +8 -10
  60. package/{lib → dist}/interpolator/LagrangeInterpolator.js +32 -29
  61. package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
  62. package/{lib → dist}/interpolator/StateInterpolator.d.ts +2 -4
  63. package/{lib → dist}/interpolator/StateInterpolator.js +2 -4
  64. package/dist/interpolator/StateInterpolator.js.map +1 -0
  65. package/{lib → dist}/interpolator/VerletBlendInterpolator.d.ts +4 -5
  66. package/{lib → dist}/interpolator/VerletBlendInterpolator.js +16 -13
  67. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
  68. package/{lib/ootk.d.ts → dist/main.d.ts} +4 -2
  69. package/dist/main.js +32 -0
  70. package/dist/main.js.map +1 -0
  71. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.d.ts +5 -7
  72. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.js +6 -3
  73. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
  74. package/{lib → dist}/maneuver/Waypoint.d.ts +30 -5
  75. package/{lib → dist}/maneuver/Waypoint.js +31 -4
  76. package/dist/maneuver/Waypoint.js.map +1 -0
  77. package/{lib → dist}/objects/DetailedSatellite.d.ts +7 -31
  78. package/{lib → dist}/objects/DetailedSatellite.js +68 -72
  79. package/dist/objects/DetailedSatellite.js.map +1 -0
  80. package/{lib → dist}/objects/DetailedSensor.d.ts +1 -2
  81. package/{lib → dist}/objects/DetailedSensor.js +22 -2
  82. package/dist/objects/DetailedSensor.js.map +1 -0
  83. package/{lib → dist}/objects/LandObject.d.ts +3 -6
  84. package/{lib → dist}/objects/LandObject.js +9 -3
  85. package/dist/objects/LandObject.js.map +1 -0
  86. package/{lib → dist}/objects/Marker.d.ts +1 -2
  87. package/{lib → dist}/objects/Marker.js +1 -2
  88. package/dist/objects/Marker.js.map +1 -0
  89. package/dist/objects/RfSensor.d.ts +41 -0
  90. package/dist/objects/RfSensor.js +67 -0
  91. package/dist/objects/RfSensor.js.map +1 -0
  92. package/{lib → dist}/objects/index.d.ts +1 -1
  93. package/{lib → dist}/objects/index.js +1 -1
  94. package/dist/objects/index.js.map +1 -0
  95. package/{lib → dist}/observation/Observation.d.ts +42 -4
  96. package/{lib → dist}/observation/Observation.js +41 -10
  97. package/dist/observation/Observation.js.map +1 -0
  98. package/{lib → dist}/observation/ObservationOptical.d.ts +7 -6
  99. package/{lib → dist}/observation/ObservationOptical.js +19 -15
  100. package/dist/observation/ObservationOptical.js.map +1 -0
  101. package/{lib → dist}/observation/ObservationRadar.d.ts +7 -4
  102. package/{lib → dist}/observation/ObservationRadar.js +25 -19
  103. package/dist/observation/ObservationRadar.js.map +1 -0
  104. package/{lib → dist}/observation/ObservationUtils.d.ts +1 -2
  105. package/{lib → dist}/observation/ObservationUtils.js +1 -2
  106. package/dist/observation/ObservationUtils.js.map +1 -0
  107. package/{lib → dist}/observation/PropagatorPairs.d.ts +3 -2
  108. package/{lib → dist}/observation/PropagatorPairs.js +7 -4
  109. package/dist/observation/PropagatorPairs.js.map +1 -0
  110. package/{lib → dist}/operations/BoxMuller.d.ts +7 -2
  111. package/{lib → dist}/operations/BoxMuller.js +15 -4
  112. package/dist/operations/BoxMuller.js.map +1 -0
  113. package/dist/operations/EulerAngles.d.ts +105 -0
  114. package/{lib → dist}/operations/EulerAngles.js +72 -22
  115. package/dist/operations/EulerAngles.js.map +1 -0
  116. package/{lib → dist}/operations/Quaternion.d.ts +5 -6
  117. package/{lib → dist}/operations/Quaternion.js +12 -9
  118. package/dist/operations/Quaternion.js.map +1 -0
  119. package/{lib → dist}/operations/RandomGaussianSource.d.ts +1 -2
  120. package/{lib → dist}/operations/RandomGaussianSource.js +3 -3
  121. package/dist/operations/RandomGaussianSource.js.map +1 -0
  122. package/{lib → dist}/optimize/ChebyshevCompressor.d.ts +3 -2
  123. package/{lib → dist}/optimize/ChebyshevCompressor.js +7 -4
  124. package/dist/optimize/ChebyshevCompressor.js.map +1 -0
  125. package/{lib → dist}/optimize/DownhillSimplex.d.ts +16 -2
  126. package/{lib → dist}/optimize/DownhillSimplex.js +16 -2
  127. package/dist/optimize/DownhillSimplex.js.map +1 -0
  128. package/{lib → dist}/optimize/GoldenSection.d.ts +9 -3
  129. package/{lib → dist}/optimize/GoldenSection.js +9 -3
  130. package/dist/optimize/GoldenSection.js.map +1 -0
  131. package/{lib → dist}/optimize/PolynomialRegression.d.ts +14 -2
  132. package/{lib → dist}/optimize/PolynomialRegression.js +19 -2
  133. package/dist/optimize/PolynomialRegression.js.map +1 -0
  134. package/{lib → dist}/optimize/PolynomicalRegressionResult.d.ts +5 -2
  135. package/{lib → dist}/optimize/PolynomicalRegressionResult.js +8 -2
  136. package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
  137. package/{lib → dist}/optimize/SimpleLinearRegression.d.ts +5 -2
  138. package/{lib → dist}/optimize/SimpleLinearRegression.js +12 -7
  139. package/dist/optimize/SimpleLinearRegression.js.map +1 -0
  140. package/{lib → dist}/optimize/SimplexEntry.d.ts +1 -2
  141. package/{lib → dist}/optimize/SimplexEntry.js +5 -2
  142. package/dist/optimize/SimplexEntry.js.map +1 -0
  143. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.d.ts +14 -3
  144. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.js +29 -4
  145. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
  146. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.d.ts +4 -2
  147. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.js +7 -2
  148. package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
  149. package/{lib → dist}/orbit_determination/GibbsIOD.d.ts +9 -4
  150. package/{lib → dist}/orbit_determination/GibbsIOD.js +11 -5
  151. package/dist/orbit_determination/GibbsIOD.js.map +1 -0
  152. package/{lib → dist}/orbit_determination/GoodingIOD.d.ts +21 -22
  153. package/{lib → dist}/orbit_determination/GoodingIOD.js +74 -71
  154. package/dist/orbit_determination/GoodingIOD.js.map +1 -0
  155. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.d.ts +4 -4
  156. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.js +3 -2
  157. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
  158. package/{lib → dist}/orbit_determination/LambertIOD.d.ts +21 -8
  159. package/{lib → dist}/orbit_determination/LambertIOD.js +20 -6
  160. package/dist/orbit_determination/LambertIOD.js.map +1 -0
  161. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.d.ts +6 -7
  162. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.js +12 -11
  163. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
  164. package/{lib → dist}/propagator/DormandPrince54Propagator.d.ts +1 -2
  165. package/dist/propagator/DormandPrince54Propagator.js +64 -0
  166. package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
  167. package/{lib → dist}/propagator/KeplerPropagator.d.ts +1 -2
  168. package/{lib → dist}/propagator/KeplerPropagator.js +5 -2
  169. package/{lib → dist}/propagator/KeplerPropagator.js.map +1 -1
  170. package/{lib → dist}/propagator/Propagator.d.ts +5 -6
  171. package/{lib → dist}/propagator/Propagator.js +5 -6
  172. package/dist/propagator/Propagator.js.map +1 -0
  173. package/{lib → dist}/propagator/RkCheckpoint.d.ts +1 -2
  174. package/{lib → dist}/propagator/RkCheckpoint.js +3 -2
  175. package/dist/propagator/RkCheckpoint.js.map +1 -0
  176. package/{lib → dist}/propagator/RkResult.d.ts +1 -2
  177. package/{lib → dist}/propagator/RkResult.js +4 -2
  178. package/dist/propagator/RkResult.js.map +1 -0
  179. package/{lib → dist}/propagator/RungeKutta4Propagator.d.ts +14 -10
  180. package/{lib → dist}/propagator/RungeKutta4Propagator.js +45 -36
  181. package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
  182. package/{lib → dist}/propagator/RungeKutta89Propagator.d.ts +1 -2
  183. package/dist/propagator/RungeKutta89Propagator.js +126 -0
  184. package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
  185. package/{lib → dist}/propagator/RungeKuttaAdaptive.d.ts +13 -11
  186. package/{lib → dist}/propagator/RungeKuttaAdaptive.js +31 -24
  187. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
  188. package/{lib → dist}/propagator/Sgp4Propagator.d.ts +3 -4
  189. package/{lib → dist}/propagator/Sgp4Propagator.js +4 -3
  190. package/dist/propagator/Sgp4Propagator.js.map +1 -0
  191. package/{lib → dist}/smoothing/ExponentialSmoothing.d.ts +1 -2
  192. package/{lib → dist}/smoothing/ExponentialSmoothing.js +1 -2
  193. package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
  194. package/dist/transforms/index.d.ts +1 -0
  195. package/dist/transforms/index.js +2 -0
  196. package/dist/transforms/index.js.map +1 -0
  197. package/dist/transforms/transforms.d.ts +58 -0
  198. package/dist/transforms/transforms.js +94 -0
  199. package/dist/transforms/transforms.js.map +1 -0
  200. package/{lib → dist}/types/types.d.ts +44 -4
  201. package/{lib → dist}/types/types.js +1 -2
  202. package/dist/types/types.js.map +1 -0
  203. package/dist/utils/functions.d.ts +8 -0
  204. package/dist/utils/functions.js +18 -0
  205. package/dist/utils/functions.js.map +1 -0
  206. package/dist/utils/index.d.ts +2 -0
  207. package/dist/utils/index.js +3 -0
  208. package/dist/utils/index.js.map +1 -0
  209. package/dist/utils/jacobian.d.ts +11 -0
  210. package/dist/utils/jacobian.js +29 -0
  211. package/dist/utils/jacobian.js.map +1 -0
  212. package/package.json +32 -42
  213. package/src/coordinate/Hill.ts +326 -0
  214. package/src/coordinate/index.ts +1 -0
  215. package/src/covariance/CovarianceSample.ts +194 -0
  216. package/src/covariance/StateCovariance.ts +69 -0
  217. package/src/force/AtmosphericDrag.ts +101 -0
  218. package/src/force/EarthGravity.ts +157 -0
  219. package/src/force/Force.ts +33 -0
  220. package/src/force/ForceModel.ts +91 -0
  221. package/src/force/Gravity.ts +53 -0
  222. package/src/force/SolarRadiationPressure.ts +42 -0
  223. package/src/force/ThirdBodyGravity.ts +62 -0
  224. package/src/force/Thrust.ts +83 -0
  225. package/src/interfaces/RfSensorParams.ts +30 -0
  226. package/src/interfaces/index.ts +1 -0
  227. package/src/interpolator/ChebyshevCoefficients.ts +109 -0
  228. package/src/interpolator/ChebyshevInterpolator.ts +87 -0
  229. package/src/interpolator/CubicSpline.ts +72 -0
  230. package/src/interpolator/CubicSplineInterpolator.ts +90 -0
  231. package/src/interpolator/FieldInterpolator.ts +37 -0
  232. package/src/interpolator/Interpolator.ts +56 -0
  233. package/src/interpolator/LagrangeInterpolator.ts +192 -0
  234. package/src/interpolator/StateInterpolator.ts +39 -0
  235. package/src/interpolator/VerletBlendInterpolator.ts +146 -0
  236. package/{lib/ootk.js → src/main.ts} +7 -3
  237. package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
  238. package/src/maneuver/Waypoint.ts +267 -0
  239. package/src/objects/DetailedSatellite.ts +159 -0
  240. package/src/objects/DetailedSensor.ts +68 -0
  241. package/src/objects/LandObject.ts +46 -0
  242. package/src/objects/Marker.ts +25 -0
  243. package/src/objects/RfSensor.ts +78 -0
  244. package/src/objects/index.ts +5 -0
  245. package/src/observation/Observation.ts +125 -0
  246. package/src/observation/ObservationOptical.ts +146 -0
  247. package/src/observation/ObservationRadar.ts +131 -0
  248. package/src/observation/ObservationUtils.ts +40 -0
  249. package/src/observation/PropagatorPairs.ts +45 -0
  250. package/src/operations/BoxMuller.ts +87 -0
  251. package/src/operations/EulerAngles.ts +183 -0
  252. package/src/operations/Quaternion.ts +222 -0
  253. package/src/operations/RandomGaussianSource.ts +51 -0
  254. package/src/operations/index.ts +4 -0
  255. package/src/optimize/ChebyshevCompressor.ts +96 -0
  256. package/src/optimize/DownhillSimplex.ts +212 -0
  257. package/src/optimize/GoldenSection.ts +71 -0
  258. package/src/optimize/PolynomialRegression.ts +109 -0
  259. package/src/optimize/PolynomicalRegressionResult.ts +32 -0
  260. package/src/optimize/SimpleLinearRegression.ts +127 -0
  261. package/src/optimize/SimplexEntry.ts +50 -0
  262. package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
  263. package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
  264. package/src/orbit_determination/GibbsIOD.ts +95 -0
  265. package/src/orbit_determination/GoodingIOD.ts +380 -0
  266. package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
  267. package/src/orbit_determination/LambertIOD.ts +260 -0
  268. package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
  269. package/src/propagator/DormandPrince54Propagator.ts +73 -0
  270. package/src/propagator/KeplerPropagator.ts +102 -0
  271. package/src/propagator/Propagator.ts +253 -0
  272. package/src/propagator/RkCheckpoint.ts +25 -0
  273. package/src/propagator/RkResult.ts +26 -0
  274. package/src/propagator/RungeKutta4Propagator.ts +179 -0
  275. package/src/propagator/RungeKutta89Propagator.ts +132 -0
  276. package/src/propagator/RungeKuttaAdaptive.ts +232 -0
  277. package/src/propagator/Sgp4Propagator.ts +71 -0
  278. package/src/smoothing/ExponentialSmoothing.ts +90 -0
  279. package/src/transforms/index.ts +1 -0
  280. package/src/transforms/transforms.ts +117 -0
  281. package/src/types/types.ts +135 -0
  282. package/src/utils/functions.ts +21 -0
  283. package/src/utils/index.ts +2 -0
  284. package/src/utils/jacobian.ts +38 -0
  285. package/.eslintrc.json +0 -244
  286. package/jest.config.ts +0 -30
  287. package/lib/coordinate/Hill.js.map +0 -1
  288. package/lib/covariance/CovarianceSample.js.map +0 -1
  289. package/lib/covariance/StateCovariance.js.map +0 -1
  290. package/lib/force/AtmosphericDrag.js.map +0 -1
  291. package/lib/force/EarthGravity.js.map +0 -1
  292. package/lib/force/Force.js.map +0 -1
  293. package/lib/force/ForceModel.js.map +0 -1
  294. package/lib/force/Gravity.js.map +0 -1
  295. package/lib/force/SolarRadiationPressure.js.map +0 -1
  296. package/lib/force/ThirdBodyGravity.js.map +0 -1
  297. package/lib/force/Thrust.js.map +0 -1
  298. package/lib/interpolator/ChebyshevCoefficients.js.map +0 -1
  299. package/lib/interpolator/ChebyshevInterpolator.js.map +0 -1
  300. package/lib/interpolator/CubicSpline.js.map +0 -1
  301. package/lib/interpolator/CubicSplineInterpolator.js.map +0 -1
  302. package/lib/interpolator/FieldInterpolator.js.map +0 -1
  303. package/lib/interpolator/Interpolator.js.map +0 -1
  304. package/lib/interpolator/LagrangeInterpolator.js.map +0 -1
  305. package/lib/interpolator/StateInterpolator.js.map +0 -1
  306. package/lib/interpolator/VerletBlendInterpolator.js.map +0 -1
  307. package/lib/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
  308. package/lib/maneuver/Waypoint.js.map +0 -1
  309. package/lib/objects/DetailedSatellite.js.map +0 -1
  310. package/lib/objects/DetailedSensor.js.map +0 -1
  311. package/lib/objects/LandObject.js.map +0 -1
  312. package/lib/objects/Marker.js.map +0 -1
  313. package/lib/objects/index.js.map +0 -1
  314. package/lib/observation/Observation.js.map +0 -1
  315. package/lib/observation/ObservationOptical.js.map +0 -1
  316. package/lib/observation/ObservationRadar.js.map +0 -1
  317. package/lib/observation/ObservationUtils.js.map +0 -1
  318. package/lib/observation/PropagatorPairs.js.map +0 -1
  319. package/lib/ootk.js.map +0 -1
  320. package/lib/operations/BoxMuller.js.map +0 -1
  321. package/lib/operations/EulerAngles.d.ts +0 -50
  322. package/lib/operations/EulerAngles.js.map +0 -1
  323. package/lib/operations/Quaternion.js.map +0 -1
  324. package/lib/operations/RandomGaussianSource.js.map +0 -1
  325. package/lib/optimize/ChebyshevCompressor.js.map +0 -1
  326. package/lib/optimize/DownhillSimplex.js.map +0 -1
  327. package/lib/optimize/GoldenSection.js.map +0 -1
  328. package/lib/optimize/PolynomialRegression.js.map +0 -1
  329. package/lib/optimize/PolynomicalRegressionResult.js.map +0 -1
  330. package/lib/optimize/SimpleLinearRegression.js.map +0 -1
  331. package/lib/optimize/SimplexEntry.js.map +0 -1
  332. package/lib/orbit_determination/BatchLeastSquaresOD.js.map +0 -1
  333. package/lib/orbit_determination/BatchLeastSquaresResult.js.map +0 -1
  334. package/lib/orbit_determination/GibbsIOD.js.map +0 -1
  335. package/lib/orbit_determination/GoodingIOD.js.map +0 -1
  336. package/lib/orbit_determination/HerrickGibbsIOD.js.map +0 -1
  337. package/lib/orbit_determination/LambertIOD.js.map +0 -1
  338. package/lib/orbit_determination/ModifiedGoodingIOD.js.map +0 -1
  339. package/lib/propagator/DormandPrince54Propagator.js +0 -68
  340. package/lib/propagator/DormandPrince54Propagator.js.map +0 -1
  341. package/lib/propagator/Propagator.js.map +0 -1
  342. package/lib/propagator/RkCheckpoint.js.map +0 -1
  343. package/lib/propagator/RkResult.js.map +0 -1
  344. package/lib/propagator/RungeKutta4Propagator.js.map +0 -1
  345. package/lib/propagator/RungeKutta89Propagator.js +0 -130
  346. package/lib/propagator/RungeKutta89Propagator.js.map +0 -1
  347. package/lib/propagator/RungeKuttaAdaptive.js.map +0 -1
  348. package/lib/propagator/Sgp4Propagator.js.map +0 -1
  349. package/lib/smoothing/ExponentialSmoothing.js.map +0 -1
  350. package/lib/types/types.js.map +0 -1
  351. /package/{lib → dist}/coordinate/index.d.ts +0 -0
  352. /package/{lib → dist}/coordinate/index.js +0 -0
  353. /package/{lib → dist}/coordinate/index.js.map +0 -0
  354. /package/{lib → dist}/operations/index.d.ts +0 -0
  355. /package/{lib → dist}/operations/index.js +0 -0
  356. /package/{lib → dist}/operations/index.js.map +0 -0
package/CHANGELOG.md CHANGED
@@ -1,42 +1,100 @@
1
1
  ### Changelog
2
2
 
3
- All notable changes to this project will be documented in this file. Dates are displayed in UTC.
3
+ This is an automatic changelog that automatically records all changes made to the project. Generated from Git commit
4
+ messages, it details updates like bug fixes and new features, providing a clear history of the project's development.
4
5
 
5
- Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
+ #### [4.0.0-2](https://github.com/thkruz/ootk/compare/v4.0.0-1...4.0.0-2)
7
+
8
+ - refactor: :recycle: move derivative from ootk-core [`9a9b50d`](https://github.com/thkruz/ootk/commit/9a9b50d4402b24398d920ae4ef0a76a7d19edabf)
9
+ - build: :arrow_up: bump ootk-core [`efc4aa0`](https://github.com/thkruz/ootk/commit/efc4aa0caf7182afd9fbba7e29a50a8defd16ebe)
10
+ - test: :white_check_mark: update snapshots [`ca95ad6`](https://github.com/thkruz/ootk/commit/ca95ad65be2de3f818390585a7bc1749ca7bf918)
11
+
12
+ #### [v4.0.0-1](https://github.com/thkruz/ootk/compare/v4.0.0-0...v4.0.0-1)
13
+
14
+ > 17 January 2024
15
+
16
+ - feat: :sparkles: integrate ootk-core v1.0.7 [`101eeb6`](https://github.com/thkruz/ootk/commit/101eeb6a21008ce198832818154fa0442691e4ad)
17
+ - refactor: :recycle: refactor to match latest ootk-core [`ae37922`](https://github.com/thkruz/ootk/commit/ae3792283571c69ff0d6406188d0c7219215c56f)
18
+ - docs: :page_facing_up: add license to all major files [`8549064`](https://github.com/thkruz/ootk/commit/8549064fe77001e2501f13d67588cbc0dfd490cb)
19
+ - ci: :construction_worker: update github ci/cd pipeline [`670b252`](https://github.com/thkruz/ootk/commit/670b2526669dbb4478499d6587b4dc729c373745)
20
+ - fix: :rotating_light: fix linter errors [`195c5eb`](https://github.com/thkruz/ootk/commit/195c5eb8ebfa68221241d7ceabc6522b8f12bd1b)
21
+ - fix: :bug: cleanup integration with ootk-core [`227169e`](https://github.com/thkruz/ootk/commit/227169e3f4191a9f3cf3c58c50d645274e8e1120)
22
+ - test: :white_check_mark: fix test config [`5e5a673`](https://github.com/thkruz/ootk/commit/5e5a6730b67a9b4c448ccc970c80b06c446515d8)
23
+ - fix: :bug: fix imports [`de5459d`](https://github.com/thkruz/ootk/commit/de5459dd9c69afcd08b3002af87d661ccdb47bde)
6
24
 
7
25
  #### [v4.0.0-0](https://github.com/thkruz/ootk/compare/v1.8.1...v4.0.0-0)
8
26
 
27
+ > 7 January 2024
28
+
9
29
  - feat: :truck: split ootk-core functions into new library [`d4982be`](https://github.com/thkruz/ootk/commit/d4982be23ec1318f1e2de6a8ecf7f7fa92594069)
10
30
  - feat: :sparkles: port functions from pious_squid [`69aaf26`](https://github.com/thkruz/ootk/commit/69aaf26d4d8c99912cc5bf0f1c9ad6e0674b15eb)
11
31
  - fix: :label: add strict typing for units [`ff98aa0`](https://github.com/thkruz/ootk/commit/ff98aa09158e2da75ab2f2942639f18f09de21aa)
32
+ - refactor: :label: update docs and typing [`92e14a1`](https://github.com/thkruz/ootk/commit/92e14a1ea0c708d7bd91d3a25a0da48d73859ed3)
33
+ - feat: :sparkles: merge sun calculations [`7f4146e`](https://github.com/thkruz/ootk/commit/7f4146e2d67793806f2f3e6b69183bff65a41b05)
34
+ - feat: :sparkles: update transforms [`c6824a4`](https://github.com/thkruz/ootk/commit/c6824a4f22aab24b5e30a5a733e8af4b42d85ae0)
35
+ - feat: :sparkles: integration with KeepTrack [`a8cc11d`](https://github.com/thkruz/ootk/commit/a8cc11df0b648e99ec10baaff03ba83addc6f47f)
36
+ - fix: :bug: validate against keeptrack [`702307c`](https://github.com/thkruz/ootk/commit/702307c31deb501d1b0ba3d0c656b7406baed80a)
37
+ - refactor: :recycle: refactor with better typing and _ suffix for private methods [`4b14b64`](https://github.com/thkruz/ootk/commit/4b14b64290ffe71ed8fbaebd20ca16e8abf2ce4e)
38
+ - docs: :label: expand documentation of types [`a517a24`](https://github.com/thkruz/ootk/commit/a517a242f4b35d5a5795ce9032d7672219b0bd1f)
39
+ - fix: :bug: fix Satellite class [`20bc194`](https://github.com/thkruz/ootk/commit/20bc19434f97e101c7f555774859a970db1cebd7)
40
+ - test: :white_check_mark: add more testing to sensor [`2bef00d`](https://github.com/thkruz/ootk/commit/2bef00d172d23de2a8b5aae73ea385880ac58fb2)
41
+ - fix: :bug: fix degrees vs radians issues [`6103597`](https://github.com/thkruz/ootk/commit/61035971e037483cc62f01cf08c397085c746694)
42
+ - refactor: :recycle: refactor common celestial equations out of sun and moon [`7f65165`](https://github.com/thkruz/ootk/commit/7f6516525b90019b31520525a9d2adf643ad3fd0)
43
+ - feat: :sparkles: add transforms for radar coordinate systems [`c836753`](https://github.com/thkruz/ootk/commit/c8367533788760ce2189795ac370812d9377a75a)
44
+ - test: :bug: fix broken tests [`735e480`](https://github.com/thkruz/ootk/commit/735e480627f85f2dfa7de1bcc8ece32032ad5fd5)
45
+ - test: :construction_worker: update jest and ts configs [`039b195`](https://github.com/thkruz/ootk/commit/039b195b4c63185345936b47fa57937b4ec458e3)
46
+ - refactor: :recycle: reduce complexity [`de70bda`](https://github.com/thkruz/ootk/commit/de70bda0eefb0bb02bf1e55e81781ee81df80358)
47
+ - test: :white_check_mark: add more tests [`27ed272`](https://github.com/thkruz/ootk/commit/27ed27265e35d4575b2e2bb12f50ca8b187f0d96)
48
+ - build: :package: update package scripts and dependencies [`a4efe23`](https://github.com/thkruz/ootk/commit/a4efe2384b53b1c5d6c95e4a6bea2d585048832c)
49
+ - feat: :sparkles: add new functions to the sat object [`475df09`](https://github.com/thkruz/ootk/commit/475df09182a09c94497261c35f7904f5810cd2a9)
50
+ - chore: :fire: remove old files [`797007c`](https://github.com/thkruz/ootk/commit/797007c2c0a89e86c90d964e3a6fc699705c31cd)
51
+ - chore: :rotating_light: fix minor linter errors [`1682292`](https://github.com/thkruz/ootk/commit/16822921b96a24f477789b19b02a5363a93f94fb)
52
+ - build: :construction_worker: update babel config [`f028e5e`](https://github.com/thkruz/ootk/commit/f028e5ee7b839414fd4d785bb6a04e93619afcb6)
53
+ - fix: :label: fix incorrect units [`d790d63`](https://github.com/thkruz/ootk/commit/d790d63f3502f9a5b0c793f88ff7cc48d252717d)
54
+ - refactor: :label: improved type checking [`7e30df4`](https://github.com/thkruz/ootk/commit/7e30df4f2c481b84ee1843c453af4124988bcfea)
55
+ - chore: :art: update prettier config [`6a816c9`](https://github.com/thkruz/ootk/commit/6a816c905b1ec250053ff77ea0e2c88d96233836)
56
+ - refactor: :green_heart: improve build [`0f4f74c`](https://github.com/thkruz/ootk/commit/0f4f74cc0daa8453317039936a35d9238c6c6a07)
57
+ - fix: :label: mark parameters optional per @weedgrease suggestion [`48cb0de`](https://github.com/thkruz/ootk/commit/48cb0dea834229ec56155d4f2e69ef1c87ed908e)
58
+ - docs: :package: update package.json [`b49eddc`](https://github.com/thkruz/ootk/commit/b49eddcc60d0635a1a6f3c13e28aa5a2ae2cf4c3)
59
+ - feat: :hammer: add dev script for opening lcov [`1d034da`](https://github.com/thkruz/ootk/commit/1d034daa28b713370855482c6a75317921fe6550)
60
+ - chore: :rotating_light: update eslint config [`b90e585`](https://github.com/thkruz/ootk/commit/b90e58529144fb34db52a0b085cd2dbc9369d6d1)
61
+ - refactor: :lock: update dependencies [`a0ce1d5`](https://github.com/thkruz/ootk/commit/a0ce1d5ff296fb3aa728277cd2fee47a355fd250)
62
+ - build: :bug: fix jest dependencies [`96792e9`](https://github.com/thkruz/ootk/commit/96792e9a9d90c08c23bb81e10beefcc083ae658e)
63
+ - refactor: :rotating_light: hide wasm work [`a372498`](https://github.com/thkruz/ootk/commit/a372498ea1861edf046eee488149b1cfdb2761ac)
64
+ - fix: :bug: fix bug in how alpha 5 was calculated [`c36cd0c`](https://github.com/thkruz/ootk/commit/c36cd0c6899f4858514f69aeff5095692d812d85)
65
+ - refactor: :label: update return type [`1e841de`](https://github.com/thkruz/ootk/commit/1e841de543153aa5a0f7de936c8aaf1c03f65580)
66
+ - feat: :label: use generics [`2c3a843`](https://github.com/thkruz/ootk/commit/2c3a8435cd14eb43d2ff5ac430b85a516b899b66)
67
+ - fix: :bug: fix rng vs range usage [`a9917c3`](https://github.com/thkruz/ootk/commit/a9917c3d5314332710f5153762b0fd2b1c49c433)
68
+ - refactor: :rotating_light: fix linter error on enum [`097e50b`](https://github.com/thkruz/ootk/commit/097e50b85779feb20671e5725c0b6df437694a22)
69
+ - refactor: :fire: remove assemblyscript references [`9c5a87d`](https://github.com/thkruz/ootk/commit/9c5a87d2455d06f0d36b87ecd31aa644e1d7ab62)
12
70
 
13
71
  #### [v1.8.1](https://github.com/thkruz/ootk/compare/v1.8.0...v1.8.1)
14
72
 
15
- > 24 August 2022
73
+ > 24 August 2022
16
74
 
17
75
  - fix: :ambulance: fix radians vs degrees in sensor.ts [`d69200f`](https://github.com/thkruz/ootk/commit/d69200ff86beb932235f11fa0fbd86f6b9401ecc)
18
76
 
19
77
  #### [v1.8.0](https://github.com/thkruz/ootk/compare/v1.7.0...v1.8.0)
20
78
 
21
- > 24 August 2022
79
+ > 24 August 2022
22
80
 
23
81
  - feat: :sparkles: add getDayOfYear functionality [`46ffa20`](https://github.com/thkruz/ootk/commit/46ffa20e22478a2e1780276fe96321c32aa66a85)
24
82
 
25
83
  #### [v1.7.0](https://github.com/thkruz/ootk/compare/v1.6.4...v1.7.0)
26
84
 
27
- > 23 August 2022
85
+ > 23 August 2022
28
86
 
29
87
  - feat: :sparkles: add fov functions to sensor [`90d0d2e`](https://github.com/thkruz/ootk/commit/90d0d2ea20d3796f285d680eac8851fc829cc73a)
30
88
 
31
89
  #### [v1.6.4](https://github.com/thkruz/ootk/compare/v1.6.3...v1.6.4)
32
90
 
33
- > 22 August 2022
91
+ > 22 August 2022
34
92
 
35
93
  - docs: :label: fix type label for RaeVec3 [`df0d9dd`](https://github.com/thkruz/ootk/commit/df0d9dd577302b0c57f285ce650a77b325314080)
36
94
 
37
95
  #### [v1.6.3](https://github.com/thkruz/ootk/compare/v1.6.2...v1.6.3)
38
96
 
39
- > 22 August 2022
97
+ > 13 February 2021
40
98
 
41
99
  - Develop [`#22`](https://github.com/thkruz/ootk/pull/22)
42
100
  - Develop [`#21`](https://github.com/thkruz/ootk/pull/21)
@@ -47,106 +105,108 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
47
105
 
48
106
  #### [v1.6.2](https://github.com/thkruz/ootk/compare/v1.6.1...v1.6.2)
49
107
 
50
- > 22 August 2022
108
+ > 22 August 2022
51
109
 
52
110
  - fix: :pencil2: fix typo in sez2rae [`509bf07`](https://github.com/thkruz/ootk/commit/509bf0754ef4e5e50a4aa4571af178ffd219ba6b)
53
111
 
54
112
  #### [v1.6.1](https://github.com/thkruz/ootk/compare/v1.6.0...v1.6.1)
55
113
 
56
- > 22 August 2022
114
+ > 12 August 2022
57
115
 
58
116
  - docs: :memo: update readme with examples [`4434dd7`](https://github.com/thkruz/ootk/commit/4434dd72c9369e71ef07deaed0370071e23743a2)
59
117
  - fix: :bug: fix sez2rae returning radians not degrees [`429bab4`](https://github.com/thkruz/ootk/commit/429bab41dd75a659614bbfe229bf6e4c72921c41)
60
118
 
61
119
  #### [v1.6.0](https://github.com/thkruz/ootk/compare/v1.5.5...v1.6.0)
62
120
 
63
- > 12 August 2022
121
+ > 12 August 2022
64
122
 
65
123
  - test: :camera_flash: add snapshots of correct position/velocity calculations [`bdf6aa5`](https://github.com/thkruz/ootk/commit/bdf6aa59eff77fa7891719c5283c220d2cf83b6c)
66
124
  - test: :white_check_mark: add test catalog and test creator [`e785e78`](https://github.com/thkruz/ootk/commit/e785e780c9156482aa6eb8a979885ec6f7ad23ac)
67
125
  - test: :white_check_mark: add full catalog validation tests [`97cb4c1`](https://github.com/thkruz/ootk/commit/97cb4c1caa9933d206b3807da381c0b83c4fa5ae)
126
+ - test: :white_check_mark: add testing from sgp4prop [`de1d87f`](https://github.com/thkruz/ootk/commit/de1d87f3ecb687f1be295545381bb8bfdf195bbe)
127
+ - chore: :coffin: remove non-public tests [`c1af668`](https://github.com/thkruz/ootk/commit/c1af66821e9058605e003676292ec7d66e33749e)
128
+ - refactor: :label: fix types for moon-math.ts [`41bd18c`](https://github.com/thkruz/ootk/commit/41bd18c04fac9dae9f631b1e391b2deef4df258d)
129
+ - docs: :test_tube: add example of bad TLEs [`f2bc0b9`](https://github.com/thkruz/ootk/commit/f2bc0b989d04604f0c1252de2e43e99b462458d9)
68
130
 
69
131
  #### [v1.5.5](https://github.com/thkruz/ootk/compare/v1.5.4...v1.5.5)
70
132
 
71
- > 8 August 2022
133
+ > 8 August 2022
72
134
 
73
135
  - fix: :pencil2: fix bug with h vs el [`9affaaf`](https://github.com/thkruz/ootk/commit/9affaafcd35b34c5765161966fdeb06e51182c81)
74
136
 
75
137
  #### [v1.5.4](https://github.com/thkruz/ootk/compare/v1.5.3...v1.5.4)
76
138
 
77
- > 8 August 2022
139
+ > 8 August 2022
78
140
 
79
141
  - fix: :bug: correct bug in deep space math [`c7ec9ca`](https://github.com/thkruz/ootk/commit/c7ec9ca017b2ebe0ce41af1c9e7934794e19da3e)
80
142
 
81
143
  #### [v1.5.3](https://github.com/thkruz/ootk/compare/v1.5.2...v1.5.3)
82
144
 
83
- > 6 August 2022
84
-
85
145
  #### [v1.5.2](https://github.com/thkruz/ootk/compare/v1.5.1...v1.5.2)
86
146
 
87
- > 6 August 2022
147
+ > 6 August 2022
88
148
 
89
149
  - fix: :bug: fix math for getStarAzEl [`0a0ee9a`](https://github.com/thkruz/ootk/commit/0a0ee9a10dfc9a278e20051b71e2dcd625b49e8a)
90
150
 
91
151
  #### [v1.5.1](https://github.com/thkruz/ootk/compare/v1.5.0...v1.5.1)
92
152
 
93
- > 6 August 2022
153
+ > 6 August 2022
94
154
 
95
155
  - build: :label: update build script to include all type data [`ce752f9`](https://github.com/thkruz/ootk/commit/ce752f9edb4ebba3ca65588611cb109d990c3270)
96
156
 
97
157
  #### [v1.5.0](https://github.com/thkruz/ootk/compare/v1.4.0...v1.5.0)
98
158
 
99
- > 29 July 2022
159
+ > 29 July 2022
100
160
 
101
161
  - fix: :bug: fix issues with jday calculations in Sgp4 [`7ceb301`](https://github.com/thkruz/ootk/commit/7ceb301b2a7c23d9d6439f4f1e1b801dbacd468c)
102
162
  - fix: :bug: fix bug with timezone differences [`d796c65`](https://github.com/thkruz/ootk/commit/d796c65ad052c975808b05d3d356537405342b71)
103
163
 
104
164
  #### [v1.4.0](https://github.com/thkruz/ootk/compare/v1.3.1...v1.4.0)
105
165
 
106
- > 28 July 2022
166
+ > 28 July 2022
107
167
 
108
168
  - feat: :sparkles: [`e83c0fc`](https://github.com/thkruz/ootk/commit/e83c0fc6083e37ddee0beb3668dd0a7469a69dce)
109
169
 
110
170
  #### [v1.3.1](https://github.com/thkruz/ootk/compare/v1.3.0...v1.3.1)
111
171
 
112
- > 27 July 2022
172
+ > 27 July 2022
113
173
 
114
174
  - feat: :sparkles: add getSolarTime [`a812450`](https://github.com/thkruz/ootk/commit/a812450d3bc335e168fc9a2a04630a3ae754316d)
115
175
 
116
176
  #### [v1.3.0](https://github.com/thkruz/ootk/compare/v1.2.0...v1.3.0)
117
177
 
118
- > 27 July 2022
178
+ > 27 July 2022
119
179
 
120
180
  - feat: :sparkles: add space objects, sunMath, and moonMath [`e7e9fc3`](https://github.com/thkruz/ootk/commit/e7e9fc390f46e1aaedd47595d7fc0ad9e228b6e9)
121
181
 
122
182
  #### [v1.2.0](https://github.com/thkruz/ootk/compare/v1.1.0...v1.2.0)
123
183
 
124
- > 25 July 2022
184
+ > 26 July 2022
125
185
 
126
186
  - feat: :sparkles: add Sat class [`281a9c5`](https://github.com/thkruz/ootk/commit/281a9c57ecaf9472cf305eb5f5d3ab8fe5f39e7b)
127
187
  - docs: :memo: update changelog [`19b70f8`](https://github.com/thkruz/ootk/commit/19b70f80fb0e5c963f47dccbcf0c5d9451133121)
128
188
 
129
189
  #### [v1.1.0](https://github.com/thkruz/ootk/compare/v1.0.8...v1.1.0)
130
190
 
131
- > 25 July 2022
191
+ > 26 July 2022
132
192
 
133
193
  - feat: :sparkles: add TLE parsing utility [`e9acd7c`](https://github.com/thkruz/ootk/commit/e9acd7cda738ef501733808b011d4496bddf05cf)
134
194
 
135
195
  #### [v1.0.8](https://github.com/thkruz/ootk/compare/v1.0.7...v1.0.8)
136
196
 
137
- > 20 July 2022
197
+ > 20 July 2022
138
198
 
139
199
  - refactor: :label: export types [`12ce662`](https://github.com/thkruz/ootk/commit/12ce66207406330a27fe3791effd7660ef61349b)
140
200
 
141
201
  #### [v1.0.7](https://github.com/thkruz/ootk/compare/v1.0.6...v1.0.7)
142
202
 
143
- > 20 July 2022
203
+ > 20 July 2022
144
204
 
145
205
  - build: :label: include type definition in dist folder [`4114ccd`](https://github.com/thkruz/ootk/commit/4114ccdabe4b1c7d957d017179d7700129643f83)
146
206
 
147
207
  #### [v1.0.6](https://github.com/thkruz/ootk/compare/v1.0.4...v1.0.6)
148
208
 
149
- > 20 July 2022
209
+ > 20 July 2022
150
210
 
151
211
  - build(umd.js): renamed es modules to be .es.js files [`#17`](https://github.com/thkruz/ootk/pull/17)
152
212
  - Rebase [`#16`](https://github.com/thkruz/ootk/pull/16)
@@ -155,10 +215,24 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
155
215
  - refactor: :recycle: consolidate constants and types [`69032ad`](https://github.com/thkruz/ootk/commit/69032adcde7c013b069dc4d58bdb2c88af45d4b5)
156
216
  - fix(ootk-sgp4): moved variables to local scope for speed vs reduced garbage collection [`5f41d12`](https://github.com/thkruz/ootk/commit/5f41d125c19d217e28a4278041549e5a6d51368b)
157
217
  - refactor: :recycle: code cleanup [`6d9cc64`](https://github.com/thkruz/ootk/commit/6d9cc649d5c3e4787fdf8e61ccc7192a79ca5d9e)
218
+ - test: :white_check_mark: improve test coverage [`bfe4f9f`](https://github.com/thkruz/ootk/commit/bfe4f9f093905aab8204667d7917b32684bfb9d1)
219
+ - feat(ootk-multi): added multithreading class [`774ec62`](https://github.com/thkruz/ootk/commit/774ec62adf67267c2c58d9a4bc275ed806499595)
220
+ - refactor: :recycle: use const more often [`27d23e0`](https://github.com/thkruz/ootk/commit/27d23e0791c3dffedd6faca6153ea898504c5331)
221
+ - ci: :construction_worker: update ci [`9698423`](https://github.com/thkruz/ootk/commit/96984235de22486c569a29aae7eaa7ff8ecfbf09)
222
+ - refactor: :rotating_light: fix linter errors [`b85a4b8`](https://github.com/thkruz/ootk/commit/b85a4b85b6f5128a6f13283e24c70376b2f048eb)
223
+ - test(multi.test.js): increased testing coverage of multi module [`e258121`](https://github.com/thkruz/ootk/commit/e2581219d376add019d82dbf8f6b73299b668077)
224
+ - fix(ootk-sgp4): moved constants to local scope for speed increase despite memory usage [`11b8c72`](https://github.com/thkruz/ootk/commit/11b8c72e94c1f83259f5db5e966448f091c84f85)
225
+ - fix(ootk-multi): improved multithreading algorithm to reduce garbage collection and variable cloning [`f9e5d63`](https://github.com/thkruz/ootk/commit/f9e5d6353ed091f232d885be4546afdca816c3d1)
226
+ - ci: :construction_worker: remove useless failing ci test [`b559e16`](https://github.com/thkruz/ootk/commit/b559e16cfe236a0dc93ab3cffcae0506d0efaa2d)
227
+ - docs: :memo: update changelog [`2b021f6`](https://github.com/thkruz/ootk/commit/2b021f6bedd1953d40d6b0d6a48442c12c406831)
228
+ - test(tests): updated references to .es.js files [`0d2fec2`](https://github.com/thkruz/ootk/commit/0d2fec262776b511d3b5f0e9f756456329f9a590)
229
+ - ci: :construction_worker: use node 17 in ci [`383d55d`](https://github.com/thkruz/ootk/commit/383d55d44a2cdec5808d32dbc57241035572a0b0)
230
+ - feat(ootk-utils): added createVec method [`0c87700`](https://github.com/thkruz/ootk/commit/0c87700bdf15aaab33e7ca4b44b6b885cd545530)
231
+ - ci: :pencil2: fix typo in ci script [`841ae40`](https://github.com/thkruz/ootk/commit/841ae40a41a8a55ab3d10adc8c5b76f38157121b)
158
232
 
159
233
  #### [v1.0.4](https://github.com/thkruz/ootk/compare/v1.0.0...v1.0.4)
160
234
 
161
- > 13 January 2021
235
+ > 13 January 2021
162
236
 
163
237
  - build(tsconfig.json): enabled sourceMap [`#13`](https://github.com/thkruz/ootk/pull/13)
164
238
  - Develop [`#12`](https://github.com/thkruz/ootk/pull/12)
@@ -167,10 +241,25 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
167
241
  - Update issue templates [`039baa7`](https://github.com/thkruz/ootk/commit/039baa7f361869691343dd9522102e596c2ef2b4)
168
242
  - ci(ootk): renamed all .es.js files to .js [`d20e7a9`](https://github.com/thkruz/ootk/commit/d20e7a96bd962df2c14dbba499b8c32ee703a036)
169
243
  - build(umd.js): changed globalObject to this instead of self for Node [`6f79359`](https://github.com/thkruz/ootk/commit/6f793590de90b7e9b32ff2bb0b2aa52a244623c1)
170
-
171
- #### [v1.0.0](https://github.com/thkruz/ootk/compare/v1.0.0-alpha1...v1.0.0)
172
-
173
- > 13 January 2021
244
+ - ci(codecov.yml): added codecov.yml to fix missing code coverage on .es.js files [`821a1bf`](https://github.com/thkruz/ootk/commit/821a1bf7cfaaa3d9d538d2622f9c6fe0e07e9219)
245
+ - Update issue templates [`6629196`](https://github.com/thkruz/ootk/commit/662919646cf4ba988139180ce648dee120d36c02)
246
+ - Update issue templates [`9650aac`](https://github.com/thkruz/ootk/commit/9650aac33fcb7c7ee8e8a08a9d6a14dafd7b628f)
247
+ - Update README.md [`b774337`](https://github.com/thkruz/ootk/commit/b774337f31ad9bb60a4f49a8b87282c2c48c944e)
248
+ - build(.npmignore): added npmignore to provide a cleaner package on npm [`8d3ebf2`](https://github.com/thkruz/ootk/commit/8d3ebf2b3d0955edf547e87eeca6b895988d1495)
249
+ - ci(ci.yml): fixed node support issue by referenceing dist instead of lib [`faa6e7b`](https://github.com/thkruz/ootk/commit/faa6e7bddddffcd0e02ad08b819d4d14e6684fa8)
250
+ - build(umd.js): converted import to ES6 module [`56972d3`](https://github.com/thkruz/ootk/commit/56972d3f1af32b956c75820c2a99e14d0bb99b6f)
251
+ - build(cleanup.js): fixed rimraf [`510ee61`](https://github.com/thkruz/ootk/commit/510ee61a39fae0c3cb244b7a04cc7fd630463e28)
252
+ - Update README.md [`b7846a2`](https://github.com/thkruz/ootk/commit/b7846a2a0ff37f146bd77f643841fda9a9bace79)
253
+ - docs(readme): fixed incorrect import statement [`70e4fe6`](https://github.com/thkruz/ootk/commit/70e4fe6efc961ab1d069ec5a8627492d614947ab)
254
+ - ci(ci.yml): fixed spacing error on line 84 [`08c4a97`](https://github.com/thkruz/ootk/commit/08c4a976faa386f6bb0c4fca04197b5b765e8759)
255
+ - docs(readme): fixed grammar in readme file [`cd819e8`](https://github.com/thkruz/ootk/commit/cd819e853698af689a11896b9413835847ac41fe)
256
+ - build(package.json): fixed main entry to point to correct file [`62d83a4`](https://github.com/thkruz/ootk/commit/62d83a408df117589cf45b33e9d5db0a41b0cd65)
257
+ - docs(readme): fixed link to old library name [`5ba9f84`](https://github.com/thkruz/ootk/commit/5ba9f846a9c4128d235ab223cddf8f3abc442a9b)
258
+ - build(package.json): fixed node compatibility [`8c03b7e`](https://github.com/thkruz/ootk/commit/8c03b7ec111aee9291086b2aed3951bc41b084c1)
259
+
260
+ ### [v1.0.0](https://github.com/thkruz/ootk/compare/v1.0.0-alpha1...v1.0.0)
261
+
262
+ > 13 January 2021
174
263
 
175
264
  - docs(readme): added build size to the readme [`#5`](https://github.com/thkruz/ootk/pull/5)
176
265
  - Develop [`#4`](https://github.com/thkruz/ootk/pull/4)
@@ -179,12 +268,34 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
179
268
  - feat(ootk-transforms): added Transforms and Utils modules [`122ed43`](https://github.com/thkruz/ootk/commit/122ed43146acdda835c345529c0b5ce7c315bf10)
180
269
  - refactor(ootk-transforms): sorted functions by name [`98a8059`](https://github.com/thkruz/ootk/commit/98a8059a2fffe8e8d984b94ed6ae064753956060)
181
270
  - docs(readme): updated readme notes [`31913d0`](https://github.com/thkruz/ootk/commit/31913d0be0c2a63f6ed5aa6f1aa7ddfc249add8c)
271
+ - build(umd.js): changed libary to Ootk in umd scripts to be consistent among classes [`e85a8c2`](https://github.com/thkruz/ootk/commit/e85a8c2b45c1d159b516ee18a43ec68f5362bdec)
272
+ - ci(ci.yml): removed cached ouput between jobs [`e74aa71`](https://github.com/thkruz/ootk/commit/e74aa71fe3748e5a6ec0603c22c809e012450bbf)
273
+ - chore(jest-std.json): fixed moduleNameMapper [`618a853`](https://github.com/thkruz/ootk/commit/618a8533f678ff713f6f01c3ac794cf4f4da5d94)
274
+ - build(umd.js): included utils module in umd creation [`84682ac`](https://github.com/thkruz/ootk/commit/84682ac006882f7f4c1a4abfa4873e30f82e2ae8)
275
+ - build(umd.js): included umd creation for ootk-transforms module [`13ef127`](https://github.com/thkruz/ootk/commit/13ef1279827c165b48d4dcc1bb70cc0813f73ae0)
182
276
 
183
277
  #### v1.0.0-alpha1
184
278
 
185
- > 13 January 2021
279
+ > 13 January 2021
186
280
 
187
281
  - Documentation [`#1`](https://github.com/thkruz/ootk/pull/1)
188
282
  - ootk rename [`f194490`](https://github.com/thkruz/ootk/commit/f194490621dcbefba99554a84d654f8003e459d0)
189
283
  - Initial Commit [`24f4627`](https://github.com/thkruz/ootk/commit/24f46276b9f5e92f0ddb9b9ce3af9c41ee3022db)
190
284
  - Functional TypeScript [`02a4b84`](https://github.com/thkruz/ootk/commit/02a4b843726f4eaa0023927dfd0e3b26aada96cd)
285
+ - Hide built [`105b742`](https://github.com/thkruz/ootk/commit/105b742abdc8753b47b4f364eb4f912dd9cce45b)
286
+ - docs(ootk-sgp4): updated documentation to split description from file [`c91cde4`](https://github.com/thkruz/ootk/commit/c91cde400044acdda684fa64d08b1b8d70ef0536)
287
+ - TS Setup [`820c884`](https://github.com/thkruz/ootk/commit/820c88495bf9b93d9129d7b5f79851114099a2f6)
288
+ - docs(readme): updated readme file to be more accurate [`5df8c5f`](https://github.com/thkruz/ootk/commit/5df8c5fdea6ca7aba25d5f1296dd5e06021e2535)
289
+ - build(package.json): added commitizen support [`860718c`](https://github.com/thkruz/ootk/commit/860718c14c75a985d2f84f069b2fea715106e87e)
290
+ - tsconfig and webpack setup [`ff50223`](https://github.com/thkruz/ootk/commit/ff50223ba7c23a6fd023b0af1af275ca8beff2da)
291
+ - ci(ci.yml): added codecov and updated CI script [`bc024c5`](https://github.com/thkruz/ootk/commit/bc024c50e180cac0317ae7419f04811afd9312f2)
292
+ - ci(ci.yml): fixed typo with indentation [`8a9c985`](https://github.com/thkruz/ootk/commit/8a9c9855bb16cfd386d94d735e84b7832a6d2825)
293
+ - build(ci.yml): added actions/cache@v2 to skip reinstalling npm packages [`43293b7`](https://github.com/thkruz/ootk/commit/43293b71ff25b5527791cb81605f9a99e3e4d04c)
294
+ - ci(ci.yml): include lib and dist in all jobs [`dd9c83a`](https://github.com/thkruz/ootk/commit/dd9c83afdfb3fe6d057cbfdf823a79cc81dc0c0e)
295
+ - ci(ci.yml): fixed typo in path [`daadbce`](https://github.com/thkruz/ootk/commit/daadbce6ebd3e6dacdd55298cd6adbfa093b954a)
296
+ - build(package.json): added auto-changelog [`c1abea7`](https://github.com/thkruz/ootk/commit/c1abea7edd46c29a8387f9bc723bbb36227199ae)
297
+ - ci(ci.yml): made another change to path [`add7891`](https://github.com/thkruz/ootk/commit/add7891edfbb1617a05f93227bd7ffb2a281cb9c)
298
+ - docs(README): updated name of the project [`8119cdb`](https://github.com/thkruz/ootk/commit/8119cdb9d7952b9befad3f254d0c7b595b33f902)
299
+ - eslint fix [`0bce593`](https://github.com/thkruz/ootk/commit/0bce593f94eb932257a5690e0a1866889becafaa)
300
+ - ci(ci.yml): included lib and dist to cache [`abdd355`](https://github.com/thkruz/ootk/commit/abdd35574fee1df773965a273f49f31b5e599a4c)
301
+ - gitignore [`a1cbf95`](https://github.com/thkruz/ootk/commit/a1cbf958e5aca36957b424f27a76e7d60fba264d)
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
4
+ * @copyright (c) 2020-2024 Theodore Kruczek
6
5
  *
7
6
  * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
8
7
  * terms of the GNU Affero General Public License as published by the Free Software
@@ -15,32 +14,32 @@
15
14
  * You should have received a copy of the GNU Affero General Public License along with
16
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
17
16
  */
18
- import { EpochUTC, J2000, Matrix, Vector3D } from 'ootk-core';
17
+ import { EpochUTC, J2000, Kilometers, KilometersPerSecond, Matrix, RadiansPerSecond, Seconds, Vector3D } from 'ootk-core';
19
18
  import { Thrust } from './../force/Thrust';
20
19
  import { Waypoint } from './../maneuver/Waypoint';
21
20
  export declare class Hill {
22
21
  epoch: EpochUTC;
23
- position: Vector3D;
24
- velocity: Vector3D;
25
- private _semimajorAxis;
26
- private _meanMotion;
27
- constructor(epoch: EpochUTC, position: Vector3D, velocity: Vector3D, semimajorAxis: number);
28
- static fromState(origin: J2000, radialPosition: number, intrackPosition: number, nodeVelocity: number, nodeOffsetTime: number): Hill;
29
- static fromNmc(origin: J2000, majorAxisRange: number, nodeVelocity: number, nodeOffsetTime: number, translation?: number): Hill;
30
- static fromPerch(origin: J2000, perchRange: number, nodeVelocity: number, nodeOffsetTime: number): Hill;
31
- get semimajorAxis(): number;
32
- set semimajorAxis(sma: number);
33
- get meanMotion(): number;
22
+ position: Vector3D<Kilometers>;
23
+ velocity: Vector3D<KilometersPerSecond>;
24
+ private semimajorAxis_;
25
+ private meanMotion_;
26
+ constructor(epoch: EpochUTC, position: Vector3D<Kilometers>, velocity: Vector3D<KilometersPerSecond>, semimajorAxis: Kilometers);
27
+ static fromState(origin: J2000, radialPosition: Kilometers, intrackPosition: Kilometers, nodeVelocity: KilometersPerSecond, nodeOffsetTime: Seconds): Hill;
28
+ static fromNmc(origin: J2000, majorAxisRange: Kilometers, nodeVelocity: KilometersPerSecond, nodeOffsetTime: Seconds, translation?: number): Hill;
29
+ static fromPerch(origin: J2000, perchRange: Kilometers, nodeVelocity: KilometersPerSecond, nodeOffsetTime: Seconds): Hill;
30
+ get semimajorAxis(): Kilometers;
31
+ set semimajorAxis(sma: Kilometers);
32
+ get meanMotion(): RadiansPerSecond;
34
33
  toJ2000Matrix(origin: J2000, transform: Matrix): J2000;
35
34
  toJ2000(origin: J2000): J2000;
36
35
  static transitionMatrix(t: number, meanMotion: number): Matrix;
37
- transition(t: number): Hill;
38
- transitionWithMatrix(stm: Matrix, t: number): Hill;
36
+ transition(t: Seconds): Hill;
37
+ transitionWithMatrix(stm: Matrix, t: Seconds): Hill;
39
38
  propagate(newEpoch: EpochUTC): Hill;
40
39
  propagateWithMatrix(stm: Matrix, newEpoch: EpochUTC): Hill;
41
40
  maneuver(maneuver: Thrust): Hill;
42
- ephemeris(start: EpochUTC, stop: EpochUTC, step?: number): Hill[];
43
- get period(): number;
41
+ ephemeris(start: EpochUTC, stop: EpochUTC, step?: Seconds): Hill[];
42
+ get period(): Seconds;
44
43
  nextRadialTangent(): Hill;
45
44
  solveManeuver(waypoint: Waypoint, ignoreCrosstrack?: boolean): Thrust;
46
45
  maneuverSequence(pivot: EpochUTC, waypoints: Waypoint[], preManeuvers?: Thrust[], postManeuvers?: Thrust[]): Thrust[];
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @author @thkruz Theodore Kruczek
3
- *
4
3
  * @license AGPL-3.0-or-later
5
- * @Copyright (c) 2020-2024 Theodore Kruczek
4
+ * @copyright (c) 2020-2024 Theodore Kruczek
6
5
  *
7
6
  * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
8
7
  * terms of the GNU Affero General Public License as published by the Free Software
@@ -15,19 +14,24 @@
15
14
  * You should have received a copy of the GNU Affero General Public License along with
16
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
17
16
  */
18
- import { Earth, J2000, Matrix, RelativeState, Vector3D } from 'ootk-core';
17
+ import { Earth, J2000, Matrix, RelativeState, Vector3D, } from 'ootk-core';
19
18
  import { Thrust } from './../force/Thrust';
20
19
  // / Hill Modified Equidistant Cyllindrical _(EQCM)_ coordinates.
21
20
  export class Hill {
21
+ epoch;
22
+ position;
23
+ velocity;
24
+ semimajorAxis_;
25
+ meanMotion_;
22
26
  constructor(epoch, position, velocity, semimajorAxis) {
23
27
  this.epoch = epoch;
24
28
  this.position = position;
25
29
  this.velocity = velocity;
26
- this._semimajorAxis = semimajorAxis;
27
- this._meanMotion = Earth.smaToMeanMotion(this._semimajorAxis);
30
+ this.semimajorAxis_ = semimajorAxis;
31
+ this.meanMotion_ = Earth.smaToMeanMotion(this.semimajorAxis_);
28
32
  }
29
33
  static fromState(origin, radialPosition, intrackPosition, nodeVelocity, nodeOffsetTime) {
30
- const a = origin.semimajorAxis();
34
+ const a = origin.semimajorAxis;
31
35
  const n = Earth.smaToMeanMotion(a);
32
36
  const yDot = -3.0 * radialPosition * n * 0.5;
33
37
  const z = (nodeVelocity / n) * Math.sin(n * -nodeOffsetTime);
@@ -37,7 +41,7 @@ export class Hill {
37
41
  return new Hill(origin.epoch, r, v, a);
38
42
  }
39
43
  static fromNmc(origin, majorAxisRange, nodeVelocity, nodeOffsetTime, translation = 0.0) {
40
- const a = origin.semimajorAxis();
44
+ const a = origin.semimajorAxis;
41
45
  const n = Earth.smaToMeanMotion(a);
42
46
  const xDot = majorAxisRange * n * 0.5;
43
47
  const z = (nodeVelocity / n) * Math.sin(n * -nodeOffsetTime);
@@ -47,7 +51,7 @@ export class Hill {
47
51
  return new Hill(origin.epoch, r, v, a);
48
52
  }
49
53
  static fromPerch(origin, perchRange, nodeVelocity, nodeOffsetTime) {
50
- const a = origin.semimajorAxis();
54
+ const a = origin.semimajorAxis;
51
55
  const n = Earth.smaToMeanMotion(a);
52
56
  const z = (nodeVelocity / n) * Math.sin(n * -nodeOffsetTime);
53
57
  const zDot = nodeVelocity * Math.cos(n * -nodeOffsetTime);
@@ -56,14 +60,14 @@ export class Hill {
56
60
  return new Hill(origin.epoch, r, v, a);
57
61
  }
58
62
  get semimajorAxis() {
59
- return this._semimajorAxis;
63
+ return this.semimajorAxis_;
60
64
  }
61
65
  set semimajorAxis(sma) {
62
- this._semimajorAxis = sma;
63
- this._meanMotion = Earth.smaToMeanMotion(this._semimajorAxis);
66
+ this.semimajorAxis_ = sma;
67
+ this.meanMotion_ = Earth.smaToMeanMotion(this.semimajorAxis_);
64
68
  }
65
69
  get meanMotion() {
66
- return this._meanMotion;
70
+ return this.meanMotion_;
67
71
  }
68
72
  toJ2000Matrix(origin, transform) {
69
73
  const magrtgt = origin.position.magnitude();
@@ -108,13 +112,13 @@ export class Hill {
108
112
  ]);
109
113
  }
110
114
  transition(t) {
111
- const sysMat = Hill.transitionMatrix(t, this._meanMotion);
112
- const output = sysMat.multiplyVector(this.position.join(this.velocity));
113
- return new Hill(this.epoch.roll(t), new Vector3D(output[0], output[1], output[2]), new Vector3D(output[3], output[4], output[5]), this._semimajorAxis);
115
+ const sysMat = Hill.transitionMatrix(t, this.meanMotion_);
116
+ const res = sysMat.multiplyVector(this.position.join(this.velocity)).elements;
117
+ return new Hill(this.epoch.roll(t), new Vector3D(res[0], res[1], res[2]), new Vector3D(res[3], res[4], res[5]), this.semimajorAxis_);
114
118
  }
115
119
  transitionWithMatrix(stm, t) {
116
- const output = stm.multiplyVector(this.position.join(this.velocity));
117
- return new Hill(this.epoch.roll(t), new Vector3D(output[0], output[1], output[2]), new Vector3D(output[3], output[4], output[5]), this._semimajorAxis);
120
+ const res = stm.multiplyVector(this.position.join(this.velocity)).elements;
121
+ return new Hill(this.epoch.roll(t), new Vector3D(res[0], res[1], res[2]), new Vector3D(res[3], res[4], res[5]), this.semimajorAxis_);
118
122
  }
119
123
  propagate(newEpoch) {
120
124
  return this.transition(newEpoch.difference(this.epoch));
@@ -124,7 +128,7 @@ export class Hill {
124
128
  }
125
129
  maneuver(maneuver) {
126
130
  const state = this.propagate(maneuver.center);
127
- return new Hill(state.epoch, state.position, state.velocity.add(maneuver.deltaV), state._semimajorAxis);
131
+ return new Hill(state.epoch, state.position, state.velocity.add(maneuver.deltaV), state.semimajorAxis_);
128
132
  }
129
133
  ephemeris(start, stop, step = 60.0) {
130
134
  const output = [];
@@ -136,15 +140,15 @@ export class Hill {
136
140
  return output;
137
141
  }
138
142
  get period() {
139
- return (2 * Math.PI) / this._meanMotion;
143
+ return (2 * Math.PI) / this.meanMotion_;
140
144
  }
141
145
  nextRadialTangent() {
142
146
  const x = this.position.x;
143
147
  const xDot = this.velocity.x;
144
148
  const yDot = this.velocity.y;
145
- let t = Math.atan(-xDot / (3.0 * this._meanMotion * x + 2.0 * yDot)) / this._meanMotion;
149
+ let t = Math.atan(-xDot / (3.0 * this.meanMotion_ * x + 2.0 * yDot)) / this.meanMotion_;
146
150
  if (t <= 0) {
147
- t += 0.5 * this.period;
151
+ t = t + 0.5 * this.period;
148
152
  }
149
153
  else if (isNaN(t)) {
150
154
  t = 0.5 * this.period;
@@ -154,30 +158,35 @@ export class Hill {
154
158
  solveManeuver(waypoint, ignoreCrosstrack = false) {
155
159
  const t = waypoint.epoch.difference(this.epoch);
156
160
  const w = waypoint.relativePosition;
157
- const sysMat = Hill.transitionMatrix(t, this._meanMotion);
161
+ const sysMat = Hill.transitionMatrix(t, this.meanMotion_);
158
162
  const posEquationMat = new Matrix([
159
- [sysMat[0][0], sysMat[0][1], sysMat[0][2]],
160
- [sysMat[1][0], sysMat[1][1], sysMat[1][2]],
161
- [sysMat[2][0], sysMat[2][1], sysMat[2][2]],
163
+ [sysMat.elements[0][0], sysMat.elements[0][1], sysMat.elements[0][2]],
164
+ [sysMat.elements[1][0], sysMat.elements[1][1], sysMat.elements[1][2]],
165
+ [sysMat.elements[2][0], sysMat.elements[2][1], sysMat.elements[2][2]],
162
166
  ]);
163
- const solnVector = w.subtract(posEquationMat.multiplyVector3D(this.position));
167
+ const solnVector = w
168
+ .subtract(posEquationMat.multiplyVector3D(this.position));
164
169
  const velEquationMat = new Matrix([
165
- [sysMat[0][3], sysMat[0][4], sysMat[0][5]],
166
- [sysMat[1][3], sysMat[1][4], sysMat[1][5]],
167
- [sysMat[2][3], sysMat[2][4], sysMat[2][5]],
170
+ [sysMat.elements[0][3], sysMat.elements[0][4], sysMat.elements[0][5]],
171
+ [sysMat.elements[1][3], sysMat.elements[1][4], sysMat.elements[1][5]],
172
+ [sysMat.elements[2][3], sysMat.elements[2][4], sysMat.elements[2][5]],
168
173
  ]);
169
- let result = velEquationMat.inverse().multiplyVector3D(solnVector).subtract(this.velocity);
174
+ let result = velEquationMat
175
+ .inverse()
176
+ .multiplyVector3D(solnVector)
177
+ .subtract(this.velocity);
170
178
  if (ignoreCrosstrack) {
171
- result = new Vector3D(result.x * 1000, result.y * 1000, 0);
179
+ result = new Vector3D(result.x, result.y, 0);
172
180
  }
173
- return new Thrust(this.epoch, result[0] * 1000, result[1] * 1000, result[2] * 1000);
181
+ return new Thrust(this.epoch, result.x * 1000, result.y * 1000, result.z * 1000);
174
182
  }
175
183
  maneuverSequence(pivot, waypoints, preManeuvers = [], postManeuvers = []) {
176
- let state = new Hill(this.epoch, this.position, this.velocity, this._semimajorAxis);
184
+ let state = new Hill(this.epoch, this.position, this.velocity, this.semimajorAxis_);
177
185
  preManeuvers = preManeuvers.slice();
178
186
  postManeuvers = postManeuvers.slice();
179
187
  let output = preManeuvers;
180
- output.sort((a, b) => a.center.compareTo(b.center));
188
+ // Note difference was once compareTo
189
+ output.sort((a, b) => a.center.difference(b.center));
181
190
  output = output.filter((mvr) => mvr.center >= this.epoch && mvr.center >= pivot);
182
191
  for (const mvr of output) {
183
192
  state = state.maneuver(mvr);
@@ -193,12 +202,11 @@ export class Hill {
193
202
  }
194
203
  maneuverOrigin(maneuver) {
195
204
  const state = this.propagate(maneuver.center);
196
- const vInit = Math.sqrt(Earth.mu / this._semimajorAxis);
205
+ const vInit = Math.sqrt(Earth.mu / this.semimajorAxis_);
197
206
  const vFinal = vInit - maneuver.intrack * 1e-3;
198
207
  const aFinal = Earth.mu / (vFinal * vFinal);
199
208
  return new Hill(state.epoch, state.position, state.velocity.subtract(maneuver.deltaV), aFinal);
200
209
  }
201
- // eslint-disable-next-line class-methods-use-this
202
210
  get name() {
203
211
  return 'Hill';
204
212
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hill.js","sourceRoot":"","sources":["../../src/coordinate/Hill.ts"],"names":[],"mappings":"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"}