ootk 4.0.0-0 → 4.0.0-10

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 (380) hide show
  1. package/CHANGELOG.md +198 -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/dist/enums/CatalogSource.d.ts +8 -0
  12. package/dist/enums/CatalogSource.js +10 -0
  13. package/dist/enums/CatalogSource.js.map +1 -0
  14. package/dist/enums/CommLink.d.ts +7 -0
  15. package/dist/enums/CommLink.js +9 -0
  16. package/dist/enums/CommLink.js.map +1 -0
  17. package/dist/enums/index.d.ts +2 -0
  18. package/dist/enums/index.js +3 -0
  19. package/dist/enums/index.js.map +1 -0
  20. package/{lib → dist}/force/AtmosphericDrag.d.ts +1 -2
  21. package/{lib → dist}/force/AtmosphericDrag.js +13 -6
  22. package/dist/force/AtmosphericDrag.js.map +1 -0
  23. package/dist/force/EarthGravity.d.ts +53 -0
  24. package/{lib → dist}/force/EarthGravity.js +30 -3
  25. package/dist/force/EarthGravity.js.map +1 -0
  26. package/{lib → dist}/force/Force.d.ts +3 -2
  27. package/{lib → dist}/force/Force.js +3 -2
  28. package/dist/force/Force.js.map +1 -0
  29. package/{lib → dist}/force/ForceModel.d.ts +12 -5
  30. package/{lib → dist}/force/ForceModel.js +14 -2
  31. package/dist/force/ForceModel.js.map +1 -0
  32. package/{lib → dist}/force/Gravity.d.ts +1 -4
  33. package/{lib → dist}/force/Gravity.js +3 -4
  34. package/dist/force/Gravity.js.map +1 -0
  35. package/{lib → dist}/force/SolarRadiationPressure.d.ts +1 -2
  36. package/{lib → dist}/force/SolarRadiationPressure.js +6 -4
  37. package/dist/force/SolarRadiationPressure.js.map +1 -0
  38. package/{lib → dist}/force/ThirdBodyGravity.d.ts +1 -2
  39. package/{lib → dist}/force/ThirdBodyGravity.js +4 -3
  40. package/dist/force/ThirdBodyGravity.js.map +1 -0
  41. package/{lib → dist}/force/Thrust.d.ts +10 -11
  42. package/{lib → dist}/force/Thrust.js +8 -3
  43. package/dist/force/Thrust.js.map +1 -0
  44. package/dist/force/index.d.ts +1 -0
  45. package/dist/force/index.js +2 -0
  46. package/dist/force/index.js.map +1 -0
  47. package/dist/interfaces/RfSensorParams.d.ts +32 -0
  48. package/dist/interfaces/RfSensorParams.js +24 -0
  49. package/dist/interfaces/RfSensorParams.js.map +1 -0
  50. package/dist/interfaces/index.d.ts +1 -0
  51. package/dist/interfaces/index.js +2 -0
  52. package/dist/interfaces/index.js.map +1 -0
  53. package/{lib → dist}/interpolator/ChebyshevCoefficients.d.ts +11 -15
  54. package/{lib → dist}/interpolator/ChebyshevCoefficients.js +19 -15
  55. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
  56. package/{lib → dist}/interpolator/ChebyshevInterpolator.d.ts +1 -2
  57. package/{lib → dist}/interpolator/ChebyshevInterpolator.js +2 -2
  58. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
  59. package/{lib → dist}/interpolator/CubicSpline.d.ts +8 -9
  60. package/{lib → dist}/interpolator/CubicSpline.js +10 -5
  61. package/dist/interpolator/CubicSpline.js.map +1 -0
  62. package/{lib → dist}/interpolator/CubicSplineInterpolator.d.ts +2 -3
  63. package/{lib → dist}/interpolator/CubicSplineInterpolator.js +6 -4
  64. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
  65. package/{lib → dist}/interpolator/FieldInterpolator.d.ts +7 -5
  66. package/{lib → dist}/interpolator/FieldInterpolator.js +6 -3
  67. package/dist/interpolator/FieldInterpolator.js.map +1 -0
  68. package/{lib → dist}/interpolator/Interpolator.d.ts +1 -2
  69. package/{lib → dist}/interpolator/Interpolator.js +1 -2
  70. package/dist/interpolator/Interpolator.js.map +1 -0
  71. package/{lib → dist}/interpolator/LagrangeInterpolator.d.ts +8 -10
  72. package/{lib → dist}/interpolator/LagrangeInterpolator.js +32 -29
  73. package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
  74. package/{lib → dist}/interpolator/StateInterpolator.d.ts +2 -4
  75. package/{lib → dist}/interpolator/StateInterpolator.js +2 -4
  76. package/dist/interpolator/StateInterpolator.js.map +1 -0
  77. package/{lib → dist}/interpolator/VerletBlendInterpolator.d.ts +4 -5
  78. package/{lib → dist}/interpolator/VerletBlendInterpolator.js +16 -13
  79. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
  80. package/{lib/ootk.d.ts → dist/main.d.ts} +8 -3
  81. package/dist/main.js +33 -0
  82. package/dist/main.js.map +1 -0
  83. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.d.ts +5 -7
  84. package/{lib → dist}/maneuver/TwoBurnOrbitTransfer.js +6 -3
  85. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
  86. package/{lib → dist}/maneuver/Waypoint.d.ts +30 -5
  87. package/{lib → dist}/maneuver/Waypoint.js +31 -4
  88. package/dist/maneuver/Waypoint.js.map +1 -0
  89. package/{lib → dist}/objects/DetailedSatellite.d.ts +11 -33
  90. package/dist/objects/DetailedSatellite.js +156 -0
  91. package/dist/objects/DetailedSatellite.js.map +1 -0
  92. package/{lib → dist}/objects/DetailedSensor.d.ts +14 -20
  93. package/{lib → dist}/objects/DetailedSensor.js +26 -19
  94. package/dist/objects/DetailedSensor.js.map +1 -0
  95. package/{lib → dist}/objects/LandObject.d.ts +3 -6
  96. package/{lib → dist}/objects/LandObject.js +9 -3
  97. package/dist/objects/LandObject.js.map +1 -0
  98. package/{lib → dist}/objects/Marker.d.ts +1 -2
  99. package/{lib → dist}/objects/Marker.js +1 -2
  100. package/dist/objects/Marker.js.map +1 -0
  101. package/dist/objects/RfSensor.d.ts +43 -0
  102. package/dist/objects/RfSensor.js +70 -0
  103. package/dist/objects/RfSensor.js.map +1 -0
  104. package/{lib → dist}/objects/index.d.ts +1 -1
  105. package/{lib → dist}/objects/index.js +1 -1
  106. package/dist/objects/index.js.map +1 -0
  107. package/{lib → dist}/observation/Observation.d.ts +42 -4
  108. package/{lib → dist}/observation/Observation.js +41 -10
  109. package/dist/observation/Observation.js.map +1 -0
  110. package/{lib → dist}/observation/ObservationOptical.d.ts +7 -6
  111. package/{lib → dist}/observation/ObservationOptical.js +19 -15
  112. package/dist/observation/ObservationOptical.js.map +1 -0
  113. package/{lib → dist}/observation/ObservationRadar.d.ts +7 -4
  114. package/{lib → dist}/observation/ObservationRadar.js +25 -19
  115. package/dist/observation/ObservationRadar.js.map +1 -0
  116. package/{lib → dist}/observation/ObservationUtils.d.ts +1 -2
  117. package/{lib → dist}/observation/ObservationUtils.js +1 -2
  118. package/dist/observation/ObservationUtils.js.map +1 -0
  119. package/{lib → dist}/observation/PropagatorPairs.d.ts +3 -2
  120. package/{lib → dist}/observation/PropagatorPairs.js +7 -4
  121. package/dist/observation/PropagatorPairs.js.map +1 -0
  122. package/{lib → dist}/operations/BoxMuller.d.ts +7 -2
  123. package/{lib → dist}/operations/BoxMuller.js +15 -4
  124. package/dist/operations/BoxMuller.js.map +1 -0
  125. package/dist/operations/EulerAngles.d.ts +105 -0
  126. package/{lib → dist}/operations/EulerAngles.js +72 -22
  127. package/dist/operations/EulerAngles.js.map +1 -0
  128. package/{lib → dist}/operations/Quaternion.d.ts +5 -6
  129. package/{lib → dist}/operations/Quaternion.js +12 -9
  130. package/dist/operations/Quaternion.js.map +1 -0
  131. package/{lib → dist}/operations/RandomGaussianSource.d.ts +1 -2
  132. package/{lib → dist}/operations/RandomGaussianSource.js +3 -3
  133. package/dist/operations/RandomGaussianSource.js.map +1 -0
  134. package/{lib → dist}/optimize/ChebyshevCompressor.d.ts +3 -2
  135. package/{lib → dist}/optimize/ChebyshevCompressor.js +7 -4
  136. package/dist/optimize/ChebyshevCompressor.js.map +1 -0
  137. package/{lib → dist}/optimize/DownhillSimplex.d.ts +16 -2
  138. package/{lib → dist}/optimize/DownhillSimplex.js +16 -2
  139. package/dist/optimize/DownhillSimplex.js.map +1 -0
  140. package/{lib → dist}/optimize/GoldenSection.d.ts +9 -3
  141. package/{lib → dist}/optimize/GoldenSection.js +9 -3
  142. package/dist/optimize/GoldenSection.js.map +1 -0
  143. package/{lib → dist}/optimize/PolynomialRegression.d.ts +14 -2
  144. package/{lib → dist}/optimize/PolynomialRegression.js +19 -2
  145. package/dist/optimize/PolynomialRegression.js.map +1 -0
  146. package/{lib → dist}/optimize/PolynomicalRegressionResult.d.ts +5 -2
  147. package/{lib → dist}/optimize/PolynomicalRegressionResult.js +8 -2
  148. package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
  149. package/{lib → dist}/optimize/SimpleLinearRegression.d.ts +5 -2
  150. package/{lib → dist}/optimize/SimpleLinearRegression.js +12 -7
  151. package/dist/optimize/SimpleLinearRegression.js.map +1 -0
  152. package/{lib → dist}/optimize/SimplexEntry.d.ts +1 -2
  153. package/{lib → dist}/optimize/SimplexEntry.js +5 -2
  154. package/dist/optimize/SimplexEntry.js.map +1 -0
  155. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.d.ts +18 -3
  156. package/{lib → dist}/orbit_determination/BatchLeastSquaresOD.js +29 -4
  157. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
  158. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.d.ts +4 -2
  159. package/{lib → dist}/orbit_determination/BatchLeastSquaresResult.js +7 -2
  160. package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
  161. package/{lib → dist}/orbit_determination/GibbsIOD.d.ts +9 -4
  162. package/{lib → dist}/orbit_determination/GibbsIOD.js +11 -5
  163. package/dist/orbit_determination/GibbsIOD.js.map +1 -0
  164. package/{lib → dist}/orbit_determination/GoodingIOD.d.ts +21 -22
  165. package/{lib → dist}/orbit_determination/GoodingIOD.js +74 -71
  166. package/dist/orbit_determination/GoodingIOD.js.map +1 -0
  167. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.d.ts +4 -4
  168. package/{lib → dist}/orbit_determination/HerrickGibbsIOD.js +3 -2
  169. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
  170. package/{lib → dist}/orbit_determination/LambertIOD.d.ts +21 -8
  171. package/{lib → dist}/orbit_determination/LambertIOD.js +20 -6
  172. package/dist/orbit_determination/LambertIOD.js.map +1 -0
  173. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.d.ts +6 -7
  174. package/{lib → dist}/orbit_determination/ModifiedGoodingIOD.js +12 -11
  175. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
  176. package/{lib → dist}/propagator/DormandPrince54Propagator.d.ts +1 -2
  177. package/dist/propagator/DormandPrince54Propagator.js +64 -0
  178. package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
  179. package/{lib → dist}/propagator/KeplerPropagator.d.ts +1 -2
  180. package/{lib → dist}/propagator/KeplerPropagator.js +5 -2
  181. package/{lib → dist}/propagator/KeplerPropagator.js.map +1 -1
  182. package/{lib → dist}/propagator/Propagator.d.ts +5 -6
  183. package/{lib → dist}/propagator/Propagator.js +5 -6
  184. package/dist/propagator/Propagator.js.map +1 -0
  185. package/{lib → dist}/propagator/RkCheckpoint.d.ts +1 -2
  186. package/{lib → dist}/propagator/RkCheckpoint.js +3 -2
  187. package/dist/propagator/RkCheckpoint.js.map +1 -0
  188. package/{lib → dist}/propagator/RkResult.d.ts +1 -2
  189. package/{lib → dist}/propagator/RkResult.js +4 -2
  190. package/dist/propagator/RkResult.js.map +1 -0
  191. package/{lib → dist}/propagator/RungeKutta4Propagator.d.ts +14 -10
  192. package/{lib → dist}/propagator/RungeKutta4Propagator.js +45 -36
  193. package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
  194. package/{lib → dist}/propagator/RungeKutta89Propagator.d.ts +1 -2
  195. package/dist/propagator/RungeKutta89Propagator.js +126 -0
  196. package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
  197. package/{lib → dist}/propagator/RungeKuttaAdaptive.d.ts +13 -11
  198. package/{lib → dist}/propagator/RungeKuttaAdaptive.js +31 -24
  199. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
  200. package/dist/propagator/Sgp4Propagator.d.ts +76 -0
  201. package/dist/propagator/Sgp4Propagator.js +96 -0
  202. package/dist/propagator/Sgp4Propagator.js.map +1 -0
  203. package/dist/propagator/index.d.ts +3 -0
  204. package/dist/propagator/index.js +4 -0
  205. package/dist/propagator/index.js.map +1 -0
  206. package/{lib → dist}/smoothing/ExponentialSmoothing.d.ts +1 -2
  207. package/{lib → dist}/smoothing/ExponentialSmoothing.js +1 -2
  208. package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
  209. package/dist/transforms/index.d.ts +1 -0
  210. package/dist/transforms/index.js +2 -0
  211. package/dist/transforms/index.js.map +1 -0
  212. package/dist/transforms/transforms.d.ts +57 -0
  213. package/dist/transforms/transforms.js +94 -0
  214. package/dist/transforms/transforms.js.map +1 -0
  215. package/dist/types/types.d.ts +119 -0
  216. package/{lib → dist}/types/types.js +1 -2
  217. package/dist/types/types.js.map +1 -0
  218. package/dist/utils/functions.d.ts +8 -0
  219. package/dist/utils/functions.js +18 -0
  220. package/dist/utils/functions.js.map +1 -0
  221. package/dist/utils/index.d.ts +2 -0
  222. package/dist/utils/index.js +3 -0
  223. package/dist/utils/index.js.map +1 -0
  224. package/dist/utils/jacobian.d.ts +11 -0
  225. package/dist/utils/jacobian.js +29 -0
  226. package/dist/utils/jacobian.js.map +1 -0
  227. package/package.json +31 -42
  228. package/src/coordinate/Hill.ts +326 -0
  229. package/src/coordinate/index.ts +1 -0
  230. package/src/covariance/CovarianceSample.ts +194 -0
  231. package/src/covariance/StateCovariance.ts +69 -0
  232. package/src/enums/CatalogSource.ts +8 -0
  233. package/src/enums/CommLink.ts +7 -0
  234. package/src/enums/index.ts +2 -0
  235. package/src/force/AtmosphericDrag.ts +101 -0
  236. package/src/force/EarthGravity.ts +182 -0
  237. package/{lib/force/EarthGravity.d.ts → src/force/Force.ts} +16 -11
  238. package/src/force/ForceModel.ts +99 -0
  239. package/src/force/Gravity.ts +53 -0
  240. package/src/force/SolarRadiationPressure.ts +42 -0
  241. package/src/force/ThirdBodyGravity.ts +62 -0
  242. package/src/force/Thrust.ts +83 -0
  243. package/src/force/index.ts +1 -0
  244. package/src/interfaces/RfSensorParams.ts +34 -0
  245. package/src/interfaces/index.ts +1 -0
  246. package/src/interpolator/ChebyshevCoefficients.ts +109 -0
  247. package/src/interpolator/ChebyshevInterpolator.ts +87 -0
  248. package/src/interpolator/CubicSpline.ts +72 -0
  249. package/src/interpolator/CubicSplineInterpolator.ts +90 -0
  250. package/src/interpolator/FieldInterpolator.ts +37 -0
  251. package/src/interpolator/Interpolator.ts +56 -0
  252. package/src/interpolator/LagrangeInterpolator.ts +192 -0
  253. package/src/interpolator/StateInterpolator.ts +39 -0
  254. package/src/interpolator/VerletBlendInterpolator.ts +146 -0
  255. package/{lib/ootk.js → src/main.ts} +9 -4
  256. package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
  257. package/src/maneuver/Waypoint.ts +267 -0
  258. package/src/objects/DetailedSatellite.ts +186 -0
  259. package/src/objects/DetailedSensor.ts +57 -0
  260. package/src/objects/LandObject.ts +46 -0
  261. package/src/objects/Marker.ts +25 -0
  262. package/src/objects/RfSensor.ts +81 -0
  263. package/src/objects/index.ts +5 -0
  264. package/src/observation/Observation.ts +125 -0
  265. package/src/observation/ObservationOptical.ts +146 -0
  266. package/src/observation/ObservationRadar.ts +131 -0
  267. package/src/observation/ObservationUtils.ts +40 -0
  268. package/src/observation/PropagatorPairs.ts +45 -0
  269. package/src/operations/BoxMuller.ts +87 -0
  270. package/src/operations/EulerAngles.ts +183 -0
  271. package/src/operations/Quaternion.ts +222 -0
  272. package/src/operations/RandomGaussianSource.ts +51 -0
  273. package/src/operations/index.ts +4 -0
  274. package/src/optimize/ChebyshevCompressor.ts +96 -0
  275. package/src/optimize/DownhillSimplex.ts +212 -0
  276. package/src/optimize/GoldenSection.ts +71 -0
  277. package/src/optimize/PolynomialRegression.ts +109 -0
  278. package/src/optimize/PolynomicalRegressionResult.ts +32 -0
  279. package/src/optimize/SimpleLinearRegression.ts +127 -0
  280. package/src/optimize/SimplexEntry.ts +50 -0
  281. package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
  282. package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
  283. package/src/orbit_determination/GibbsIOD.ts +95 -0
  284. package/src/orbit_determination/GoodingIOD.ts +380 -0
  285. package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
  286. package/src/orbit_determination/LambertIOD.ts +260 -0
  287. package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
  288. package/src/propagator/DormandPrince54Propagator.ts +73 -0
  289. package/src/propagator/KeplerPropagator.ts +102 -0
  290. package/src/propagator/Propagator.ts +253 -0
  291. package/src/propagator/RkCheckpoint.ts +25 -0
  292. package/src/propagator/RkResult.ts +26 -0
  293. package/src/propagator/RungeKutta4Propagator.ts +179 -0
  294. package/src/propagator/RungeKutta89Propagator.ts +132 -0
  295. package/src/propagator/RungeKuttaAdaptive.ts +232 -0
  296. package/src/propagator/Sgp4Propagator.ts +111 -0
  297. package/src/propagator/index.ts +3 -0
  298. package/src/smoothing/ExponentialSmoothing.ts +90 -0
  299. package/src/transforms/index.ts +1 -0
  300. package/src/transforms/transforms.ts +116 -0
  301. package/src/types/types.ts +128 -0
  302. package/src/utils/functions.ts +21 -0
  303. package/src/utils/index.ts +2 -0
  304. package/src/utils/jacobian.ts +38 -0
  305. package/.eslintrc.json +0 -244
  306. package/jest.config.ts +0 -30
  307. package/lib/coordinate/Hill.js.map +0 -1
  308. package/lib/covariance/CovarianceSample.js.map +0 -1
  309. package/lib/covariance/StateCovariance.js.map +0 -1
  310. package/lib/force/AtmosphericDrag.js.map +0 -1
  311. package/lib/force/EarthGravity.js.map +0 -1
  312. package/lib/force/Force.js.map +0 -1
  313. package/lib/force/ForceModel.js.map +0 -1
  314. package/lib/force/Gravity.js.map +0 -1
  315. package/lib/force/SolarRadiationPressure.js.map +0 -1
  316. package/lib/force/ThirdBodyGravity.js.map +0 -1
  317. package/lib/force/Thrust.js.map +0 -1
  318. package/lib/interpolator/ChebyshevCoefficients.js.map +0 -1
  319. package/lib/interpolator/ChebyshevInterpolator.js.map +0 -1
  320. package/lib/interpolator/CubicSpline.js.map +0 -1
  321. package/lib/interpolator/CubicSplineInterpolator.js.map +0 -1
  322. package/lib/interpolator/FieldInterpolator.js.map +0 -1
  323. package/lib/interpolator/Interpolator.js.map +0 -1
  324. package/lib/interpolator/LagrangeInterpolator.js.map +0 -1
  325. package/lib/interpolator/StateInterpolator.js.map +0 -1
  326. package/lib/interpolator/VerletBlendInterpolator.js.map +0 -1
  327. package/lib/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
  328. package/lib/maneuver/Waypoint.js.map +0 -1
  329. package/lib/objects/DetailedSatellite.js +0 -140
  330. package/lib/objects/DetailedSatellite.js.map +0 -1
  331. package/lib/objects/DetailedSensor.js.map +0 -1
  332. package/lib/objects/LandObject.js.map +0 -1
  333. package/lib/objects/Marker.js.map +0 -1
  334. package/lib/objects/index.js.map +0 -1
  335. package/lib/observation/Observation.js.map +0 -1
  336. package/lib/observation/ObservationOptical.js.map +0 -1
  337. package/lib/observation/ObservationRadar.js.map +0 -1
  338. package/lib/observation/ObservationUtils.js.map +0 -1
  339. package/lib/observation/PropagatorPairs.js.map +0 -1
  340. package/lib/ootk.js.map +0 -1
  341. package/lib/operations/BoxMuller.js.map +0 -1
  342. package/lib/operations/EulerAngles.d.ts +0 -50
  343. package/lib/operations/EulerAngles.js.map +0 -1
  344. package/lib/operations/Quaternion.js.map +0 -1
  345. package/lib/operations/RandomGaussianSource.js.map +0 -1
  346. package/lib/optimize/ChebyshevCompressor.js.map +0 -1
  347. package/lib/optimize/DownhillSimplex.js.map +0 -1
  348. package/lib/optimize/GoldenSection.js.map +0 -1
  349. package/lib/optimize/PolynomialRegression.js.map +0 -1
  350. package/lib/optimize/PolynomicalRegressionResult.js.map +0 -1
  351. package/lib/optimize/SimpleLinearRegression.js.map +0 -1
  352. package/lib/optimize/SimplexEntry.js.map +0 -1
  353. package/lib/orbit_determination/BatchLeastSquaresOD.js.map +0 -1
  354. package/lib/orbit_determination/BatchLeastSquaresResult.js.map +0 -1
  355. package/lib/orbit_determination/GibbsIOD.js.map +0 -1
  356. package/lib/orbit_determination/GoodingIOD.js.map +0 -1
  357. package/lib/orbit_determination/HerrickGibbsIOD.js.map +0 -1
  358. package/lib/orbit_determination/LambertIOD.js.map +0 -1
  359. package/lib/orbit_determination/ModifiedGoodingIOD.js.map +0 -1
  360. package/lib/propagator/DormandPrince54Propagator.js +0 -68
  361. package/lib/propagator/DormandPrince54Propagator.js.map +0 -1
  362. package/lib/propagator/Propagator.js.map +0 -1
  363. package/lib/propagator/RkCheckpoint.js.map +0 -1
  364. package/lib/propagator/RkResult.js.map +0 -1
  365. package/lib/propagator/RungeKutta4Propagator.js.map +0 -1
  366. package/lib/propagator/RungeKutta89Propagator.js +0 -130
  367. package/lib/propagator/RungeKutta89Propagator.js.map +0 -1
  368. package/lib/propagator/RungeKuttaAdaptive.js.map +0 -1
  369. package/lib/propagator/Sgp4Propagator.d.ts +0 -35
  370. package/lib/propagator/Sgp4Propagator.js +0 -55
  371. package/lib/propagator/Sgp4Propagator.js.map +0 -1
  372. package/lib/smoothing/ExponentialSmoothing.js.map +0 -1
  373. package/lib/types/types.d.ts +0 -86
  374. package/lib/types/types.js.map +0 -1
  375. /package/{lib → dist}/coordinate/index.d.ts +0 -0
  376. /package/{lib → dist}/coordinate/index.js +0 -0
  377. /package/{lib → dist}/coordinate/index.js.map +0 -0
  378. /package/{lib → dist}/operations/index.d.ts +0 -0
  379. /package/{lib → dist}/operations/index.js +0 -0
  380. /package/{lib → dist}/operations/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hill.js","sourceRoot":"","sources":["../../src/coordinate/Hill.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -22,16 +21,16 @@ import { StateCovariance } from './StateCovariance';
22
21
  export declare class CovarianceSample {
23
22
  private _origin;
24
23
  private _samples;
25
- private _pts;
24
+ private matrix_;
26
25
  /**
27
26
  * Create a new [CovarianceSample] object from an inertial state, covariance
28
27
  * and optional force models for the origin state and samples.
29
28
  *
30
29
  * Two-body physics will be used if a force model is not provided.
31
- * @param state
32
- * @param covariance
33
- * @param originForceModel
34
- * @param sampleForceModel
30
+ * @param state The origin state.
31
+ * @param covariance The covariance.
32
+ * @param originForceModel The force model for the origin state.
33
+ * @param sampleForceModel The force model for the samples.
35
34
  */
36
35
  constructor(state: J2000, covariance: StateCovariance, originForceModel?: ForceModel, sampleForceModel?: ForceModel);
37
36
  get epoch(): Epoch;
@@ -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
@@ -16,29 +15,30 @@
16
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
17
16
  */
18
17
  /* eslint-disable class-methods-use-this */
19
- import { J2000, Matrix, RelativeState, RIC, Vector, Vector3D } from 'ootk-core';
18
+ import { J2000, Matrix, RelativeState, RIC, Vector, Vector3D, } from 'ootk-core';
20
19
  import { ForceModel } from '../force/ForceModel';
21
20
  import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator';
22
21
  import { CovarianceFrame, StateCovariance } from './StateCovariance';
23
22
  // / Sigma point covariance sample.
24
23
  export class CovarianceSample {
24
+ _origin;
25
+ _samples = [];
26
+ matrix_ = Matrix.zero(6, 12);
25
27
  /**
26
28
  * Create a new [CovarianceSample] object from an inertial state, covariance
27
29
  * and optional force models for the origin state and samples.
28
30
  *
29
31
  * Two-body physics will be used if a force model is not provided.
30
- * @param state
31
- * @param covariance
32
- * @param originForceModel
33
- * @param sampleForceModel
32
+ * @param state The origin state.
33
+ * @param covariance The covariance.
34
+ * @param originForceModel The force model for the origin state.
35
+ * @param sampleForceModel The force model for the samples.
34
36
  */
35
37
  constructor(state, covariance, originForceModel, sampleForceModel) {
36
- this._samples = [];
37
- this._pts = Matrix.zero(6, 12);
38
38
  originForceModel ??= new ForceModel().setGravity();
39
39
  sampleForceModel ??= new ForceModel().setGravity();
40
40
  this._origin = new RungeKutta89Propagator(state, originForceModel);
41
- const s = covariance.matrix.cholesky();
41
+ const s = covariance.matrix.cholesky().elements;
42
42
  const sqrt6 = Math.sqrt(6.0);
43
43
  for (let i = 0; i < 6; i++) {
44
44
  for (let j = 0; j < 6; j++) {
@@ -46,7 +46,7 @@ export class CovarianceSample {
46
46
  }
47
47
  }
48
48
  // 6 x 12 matrix
49
- const sigmapts = Matrix.zero(6, 12);
49
+ const sigmapts = Matrix.zero(6, 12).elements;
50
50
  for (let i = 0; i < 6; i++) {
51
51
  const jj = (i - 1) * 2 + 2;
52
52
  for (let j = 0; j < 3; j++) {
@@ -78,9 +78,10 @@ export class CovarianceSample {
78
78
  return this._origin.state;
79
79
  }
80
80
  // / Rebuild covariance from sigma points.
81
- _rebuildCovariance(pts) {
81
+ _rebuildCovariance(matrix) {
82
+ const pts = matrix.elements;
82
83
  const c = 1.0 / 12.0;
83
- const yu = new Vector([0, 0, 0, 0, 0, 0]);
84
+ const yu = new Vector([0, 0, 0, 0, 0, 0]).elements;
84
85
  const y = Matrix.zero(6, 12);
85
86
  for (let i = 0; i < 12; i++) {
86
87
  for (let j = 0; j < 6; j++) {
@@ -92,7 +93,7 @@ export class CovarianceSample {
92
93
  }
93
94
  for (let i = 0; i < 12; i++) {
94
95
  for (let j = 0; j < 6; j++) {
95
- y[j][i] = pts[j][i] - yu[j];
96
+ y.elements[j][i] = pts[j][i] - yu[j];
96
97
  }
97
98
  }
98
99
  const yt = y.transpose();
@@ -117,14 +118,14 @@ export class CovarianceSample {
117
118
  desampleJ2000() {
118
119
  for (let i = 0; i < 12; i++) {
119
120
  const state = this._samples[i].state;
120
- this._pts[0][i] = state.position[0];
121
- this._pts[1][i] = state.position[1];
122
- this._pts[2][i] = state.position[2];
123
- this._pts[3][i] = state.velocity[0];
124
- this._pts[4][i] = state.velocity[1];
125
- this._pts[5][i] = state.velocity[2];
121
+ this.matrix_.elements[0][i] = state.position.x;
122
+ this.matrix_.elements[1][i] = state.position.y;
123
+ this.matrix_.elements[2][i] = state.position.z;
124
+ this.matrix_.elements[3][i] = state.velocity.x;
125
+ this.matrix_.elements[4][i] = state.velocity.y;
126
+ this.matrix_.elements[5][i] = state.velocity.z;
126
127
  }
127
- const matrix = this._rebuildCovariance(this._pts);
128
+ const matrix = this._rebuildCovariance(this.matrix_);
128
129
  return new StateCovariance(matrix, CovarianceFrame.ECI);
129
130
  }
130
131
  // / Desample covariance in RIC frame.
@@ -132,14 +133,14 @@ export class CovarianceSample {
132
133
  const rot = RelativeState.createMatrix(this._origin.state.position, this._origin.state.velocity);
133
134
  for (let i = 0; i < 12; i++) {
134
135
  const state = RIC.fromJ2000Matrix(this._samples[i].state, this._origin.state, rot);
135
- this._pts[0][i] = state.position[0];
136
- this._pts[1][i] = state.position[1];
137
- this._pts[2][i] = state.position[2];
138
- this._pts[3][i] = state.velocity[0];
139
- this._pts[4][i] = state.velocity[1];
140
- this._pts[5][i] = state.velocity[2];
136
+ this.matrix_.elements[0][i] = state.position.x;
137
+ this.matrix_.elements[1][i] = state.position.y;
138
+ this.matrix_.elements[2][i] = state.position.z;
139
+ this.matrix_.elements[3][i] = state.velocity.x;
140
+ this.matrix_.elements[4][i] = state.velocity.y;
141
+ this.matrix_.elements[5][i] = state.velocity.z;
141
142
  }
142
- const matrix = this._rebuildCovariance(this._pts);
143
+ const matrix = this._rebuildCovariance(this.matrix_);
143
144
  return new StateCovariance(matrix, CovarianceFrame.RIC);
144
145
  }
145
146
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CovarianceSample.js","sourceRoot":"","sources":["../../src/covariance/CovarianceSample.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -29,12 +28,14 @@ export declare class StateCovariance {
29
28
  /**
30
29
  * Create a new [StateCovariance] object given its covariance [matrix] and
31
30
  * [CovarianceFrame].
31
+ * @param matrix The covariance matrix.
32
+ * @param frame The covariance frame.
33
+ * @returns A new [StateCovariance] object.
32
34
  */
33
35
  constructor(matrix: Matrix, frame: CovarianceFrame);
34
36
  static fromSigmas(sigmas: number[], frame: CovarianceFrame): StateCovariance;
35
37
  /**
36
38
  * Calculates the standard deviations (sigmas) of each element in the covariance matrix.
37
- *
38
39
  * @returns A vector containing the standard deviations of each element in the covariance matrix.
39
40
  */
40
41
  sigmas(): Vector;
@@ -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
@@ -26,9 +25,14 @@ export var CovarianceFrame;
26
25
  })(CovarianceFrame || (CovarianceFrame = {}));
27
26
  // / State covariance.
28
27
  export class StateCovariance {
28
+ matrix;
29
+ frame;
29
30
  /**
30
31
  * Create a new [StateCovariance] object given its covariance [matrix] and
31
32
  * [CovarianceFrame].
33
+ * @param matrix The covariance matrix.
34
+ * @param frame The covariance frame.
35
+ * @returns A new [StateCovariance] object.
32
36
  */
33
37
  constructor(matrix, frame) {
34
38
  this.matrix = matrix;
@@ -40,20 +44,19 @@ export class StateCovariance {
40
44
  const n = sigmas.length;
41
45
  const output = Matrix.zero(n, n);
42
46
  for (let i = 0; i < n; i++) {
43
- output[i][i] = Math.max(sigmas[i] * sigmas[i], 1e-32);
47
+ output.elements[i][i] = Math.max(sigmas[i] * sigmas[i], 1e-32);
44
48
  }
45
49
  return new StateCovariance(output, frame);
46
50
  }
47
51
  /**
48
52
  * Calculates the standard deviations (sigmas) of each element in the covariance matrix.
49
- *
50
53
  * @returns A vector containing the standard deviations of each element in the covariance matrix.
51
54
  */
52
55
  sigmas() {
53
56
  const c = this.matrix.columns;
54
57
  const result = new Float64Array(c);
55
58
  for (let i = 0; i < c; i++) {
56
- const variance = this.matrix[i][i];
59
+ const variance = this.matrix.elements[i][i];
57
60
  result[i] = Math.sqrt(variance);
58
61
  }
59
62
  return new Vector(result);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateCovariance.js","sourceRoot":"","sources":["../../src/covariance/StateCovariance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3C,uBAAuB;AACvB,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,8BAA8B;IAC9B,8BAAW,CAAA;IACX,gCAAgC;IAChC,8BAAW,CAAA;AACb,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,sBAAsB;AACtB,MAAM,OAAO,eAAe;IAQP;IAAuB;IAP1C;;;;;;OAMG;IACH,YAAmB,MAAc,EAAS,KAAsB;QAA7C,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAiB;QAC9D,sBAAsB;IACxB,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,UAAU,CAAC,MAAgB,EAAE,KAAsB;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export declare enum CatalogSource {
2
+ USSF = "USSF",
3
+ CELESTRAK = "Celestrak",
4
+ UNIV_OF_MICH = "University of Michigan",
5
+ VIMPEL = "JSC Vimpel",
6
+ TLE_TXT = "TLE.txt",
7
+ EXTRA_JSON = "extra.json"
8
+ }
@@ -0,0 +1,10 @@
1
+ export var CatalogSource;
2
+ (function (CatalogSource) {
3
+ CatalogSource["USSF"] = "USSF";
4
+ CatalogSource["CELESTRAK"] = "Celestrak";
5
+ CatalogSource["UNIV_OF_MICH"] = "University of Michigan";
6
+ CatalogSource["VIMPEL"] = "JSC Vimpel";
7
+ CatalogSource["TLE_TXT"] = "TLE.txt";
8
+ CatalogSource["EXTRA_JSON"] = "extra.json";
9
+ })(CatalogSource || (CatalogSource = {}));
10
+ //# sourceMappingURL=CatalogSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CatalogSource.js","sourceRoot":"","sources":["../../src/enums/CatalogSource.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,wDAAuC,CAAA;IACvC,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;AAC3B,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB"}
@@ -0,0 +1,7 @@
1
+ export declare enum CommLink {
2
+ AEHF = "AEHF",
3
+ GALILEO = "Galileo",
4
+ IRIDIUM = "Iridium",
5
+ STARLINK = "Starlink",
6
+ WGS = "WGS"
7
+ }
@@ -0,0 +1,9 @@
1
+ export var CommLink;
2
+ (function (CommLink) {
3
+ CommLink["AEHF"] = "AEHF";
4
+ CommLink["GALILEO"] = "Galileo";
5
+ CommLink["IRIDIUM"] = "Iridium";
6
+ CommLink["STARLINK"] = "Starlink";
7
+ CommLink["WGS"] = "WGS";
8
+ })(CommLink || (CommLink = {}));
9
+ //# sourceMappingURL=CommLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommLink.js","sourceRoot":"","sources":["../../src/enums/CommLink.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,uBAAW,CAAA;AACb,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB"}
@@ -0,0 +1,2 @@
1
+ export { CatalogSource } from './CatalogSource';
2
+ export { CommLink } from './CommLink';
@@ -0,0 +1,3 @@
1
+ export { CatalogSource } from './CatalogSource';
2
+ export { CommLink } from './CommLink';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -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
@@ -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,12 +14,16 @@
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 { DataHandler, DEG2RAD, Earth, ITRF, J2000, Sun, Vector3D } from 'ootk-core';
17
+ import { DataHandler, DEG2RAD, Earth, ITRF, J2000, Sun, Vector3D, } from 'ootk-core';
19
18
  /**
20
19
  * Harris-Priester atmospheric drag force model.
21
20
  * Atmospheric density model assumes mean solar flux.
22
21
  */
23
22
  export class AtmosphericDrag {
23
+ mass;
24
+ area;
25
+ dragCoeff;
26
+ cosine;
24
27
  constructor(mass, area, dragCoeff, cosine) {
25
28
  this.mass = mass;
26
29
  this.area = area;
@@ -28,7 +31,7 @@ export class AtmosphericDrag {
28
31
  this.cosine = cosine;
29
32
  }
30
33
  static _getHPDensity(state, n) {
31
- const hpa = DataHandler.getInstance().getHpAtmosphere(state.getHeight());
34
+ const hpa = DataHandler.getInstance().getHpAtmosphere(state.height);
32
35
  if (hpa === null) {
33
36
  return 0.0;
34
37
  }
@@ -56,8 +59,12 @@ export class AtmosphericDrag {
56
59
  if (density === 0) {
57
60
  return Vector3D.origin;
58
61
  }
59
- const rotation = new ITRF(state.epoch, Earth.rotation, Vector3D.origin).toJ2000().position;
60
- const vRel = state.velocity.subtract(rotation.cross(state.position)).scale(1000.0);
62
+ const rotation = new ITRF(state.epoch,
63
+ // TODO: #26 This is a bit of a hack to get Radians/Second to work with StateVector class
64
+ Earth.rotation, Vector3D.origin).toJ2000().position;
65
+ // TODO: #26 This is a bit of a hack to get Radians/Second to work with StateVector class
66
+ const vRel = state.velocity.subtract(rotation.cross(state.position))
67
+ .scale(1000.0);
61
68
  const vm = vRel.magnitude();
62
69
  const fScale = -0.5 * density * ((this.dragCoeff * this.area) / this.mass) * vm;
63
70
  return vRel.scale(fScale / 1000.0);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtmosphericDrag.js","sourceRoot":"","sources":["../../src/force/AtmosphericDrag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @author @thkruz Theodore Kruczek
3
+ * @license AGPL-3.0-or-later
4
+ * @copyright (c) 2020-2024 Theodore Kruczek
5
+ *
6
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
7
+ * terms of the GNU Affero General Public License as published by the Free Software
8
+ * Foundation, either version 3 of the License, or (at your option) any later version.
9
+ *
10
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
+ * See the GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License along with
15
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+ import { J2000, Vector3D } from 'ootk-core';
18
+ import { Force } from './Force';
19
+ /**
20
+ * designed to model the Earth's gravitational field, which is not uniformly distributed due to variations in mass
21
+ * distribution within the Earth and the Earth's shape (it's not a perfect sphere). To accurately model this complex
22
+ * field, the gravity model is expanded into a series of spherical harmonics, characterized by their degree and order.
23
+ *
24
+ * This `degree` parameter is related to the spatial resolution of the gravity model. A higher degree corresponds to a
25
+ * finer resolution, capable of representing smaller-scale variations in the gravity field. The degree essentially
26
+ * denotes how many times the gravitational potential function varies over the surface of the Earth.
27
+ *
28
+ * For each degree, there can be multiple orders ranging from 0 up to the degree. The `order` accounts for the
29
+ * longitudinal variation in the gravity field. Each order within a degree captures different characteristics of the
30
+ * gravity anomalies.
31
+ *
32
+ * `Degree 0` corresponds to the overall, mean gravitational force of the Earth (considered as a point mass).
33
+ *
34
+ * `Degree 1` terms are related to the Earth's center of mass but are usually not used because the center of mass is
35
+ * defined as the origin of the coordinate system.
36
+ *
37
+ * `Degree 2` and higher capture the deviations from this spherical symmetry, such as the flattening at the poles and
38
+ * bulging at the equator (degree 2), and other anomalies at finer scales as the degree increases.
39
+ */
40
+ export declare class EarthGravity implements Force {
41
+ degree: number;
42
+ order: number;
43
+ _asphericalFlag: boolean;
44
+ /**
45
+ * Creates a new instance of the EarthGravity class.
46
+ * @param degree The degree of the Earth's gravity field. Must be between 0 and 36.
47
+ * @param order The order of the Earth's gravity field. Must be between 0 and 36.
48
+ */
49
+ constructor(degree: number, order: number);
50
+ _spherical(state: J2000): Vector3D;
51
+ _aspherical(state: J2000): Vector3D;
52
+ acceleration(state: J2000): Vector3D;
53
+ }
@@ -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
@@ -16,8 +15,36 @@
16
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
17
16
  */
18
17
  import { DataHandler, Earth, ITRF, Vector3D } from 'ootk-core';
19
- // / tesseral geopotential perturbations.
18
+ /**
19
+ * designed to model the Earth's gravitational field, which is not uniformly distributed due to variations in mass
20
+ * distribution within the Earth and the Earth's shape (it's not a perfect sphere). To accurately model this complex
21
+ * field, the gravity model is expanded into a series of spherical harmonics, characterized by their degree and order.
22
+ *
23
+ * This `degree` parameter is related to the spatial resolution of the gravity model. A higher degree corresponds to a
24
+ * finer resolution, capable of representing smaller-scale variations in the gravity field. The degree essentially
25
+ * denotes how many times the gravitational potential function varies over the surface of the Earth.
26
+ *
27
+ * For each degree, there can be multiple orders ranging from 0 up to the degree. The `order` accounts for the
28
+ * longitudinal variation in the gravity field. Each order within a degree captures different characteristics of the
29
+ * gravity anomalies.
30
+ *
31
+ * `Degree 0` corresponds to the overall, mean gravitational force of the Earth (considered as a point mass).
32
+ *
33
+ * `Degree 1` terms are related to the Earth's center of mass but are usually not used because the center of mass is
34
+ * defined as the origin of the coordinate system.
35
+ *
36
+ * `Degree 2` and higher capture the deviations from this spherical symmetry, such as the flattening at the poles and
37
+ * bulging at the equator (degree 2), and other anomalies at finer scales as the degree increases.
38
+ */
20
39
  export class EarthGravity {
40
+ degree;
41
+ order;
42
+ _asphericalFlag;
43
+ /**
44
+ * Creates a new instance of the EarthGravity class.
45
+ * @param degree The degree of the Earth's gravity field. Must be between 0 and 36.
46
+ * @param order The order of the Earth's gravity field. Must be between 0 and 36.
47
+ */
21
48
  constructor(degree, order) {
22
49
  this.degree = Math.min(Math.max(degree, 0), 36);
23
50
  this.order = Math.min(Math.max(order, 0), 36);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EarthGravity.js","sourceRoot":"","sources":["../../src/force/EarthGravity.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -20,6 +19,8 @@ export declare abstract class Force {
20
19
  /**
21
20
  * Calculate the acceleration due to the perturbing force on a given
22
21
  * state vector.
22
+ * @param state The state vector.
23
+ * @throws If the force cannot be calculated.
23
24
  */
24
25
  acceleration(state: J2000): Vector3D;
25
26
  }
@@ -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
@@ -22,6 +21,8 @@ export class Force {
22
21
  /**
23
22
  * Calculate the acceleration due to the perturbing force on a given
24
23
  * state vector.
24
+ * @param state The state vector.
25
+ * @throws If the force cannot be calculated.
25
26
  */
26
27
  acceleration(state) {
27
28
  throw Error('Not implemented');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Force.js","sourceRoot":"","sources":["../../src/force/Force.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,sDAAsD;AACtD,2CAA2C;AAE3C,wCAAwC;AACxC,MAAM,OAAgB,KAAK;IACzB;;;;;OAKG;IACH,YAAY,CAAC,KAAY;QACvB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -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
@@ -22,14 +21,22 @@ export declare class ForceModel {
22
21
  private _thirdBodyGravity?;
23
22
  private _solarRadiationPressure?;
24
23
  private _atmosphericDrag?;
25
- private _maneuverThrust?;
24
+ private _maneuverThrust;
26
25
  setGravity(mu?: number): this;
27
26
  setEarthGravity(degree: number, order: number): void;
28
27
  setThirdBodyGravity({ moon, sun }: {
29
- moon?: boolean;
30
- sun?: boolean;
28
+ moon?: boolean | undefined;
29
+ sun?: boolean | undefined;
31
30
  }): void;
32
31
  setSolarRadiationPressure(mass: number, area: number, coeff?: number): void;
32
+ /**
33
+ * Sets the atmospheric drag for the force model.
34
+ * @deprecated This is still a work in progress!
35
+ * @param mass - The mass of the object.
36
+ * @param area - The cross-sectional area of the object.
37
+ * @param coeff - The drag coefficient. Default value is 2.2.
38
+ * @param cosine - The cosine of the angle between the object's velocity vector and the drag force vector.
39
+ */
33
40
  setAtmosphericDrag(mass: number, area: number, coeff?: number, cosine?: number): void;
34
41
  loadManeuver(maneuver: Thrust): void;
35
42
  clearManeuver(): void;