ootk 3.0.0 → 4.0.0-1

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 (357) hide show
  1. package/CHANGELOG.md +235 -10
  2. package/README.md +27 -40
  3. package/dist/coordinate/Hill.d.ts +49 -0
  4. package/dist/coordinate/Hill.js +222 -0
  5. package/dist/coordinate/Hill.js.map +1 -0
  6. package/dist/coordinate/index.d.ts +1 -0
  7. package/dist/coordinate/index.js +2 -0
  8. package/dist/coordinate/index.js.map +1 -0
  9. package/dist/covariance/CovarianceSample.d.ts +43 -0
  10. package/dist/covariance/CovarianceSample.js +147 -0
  11. package/dist/covariance/CovarianceSample.js.map +1 -0
  12. package/dist/covariance/StateCovariance.d.ts +42 -0
  13. package/dist/covariance/StateCovariance.js +65 -0
  14. package/dist/covariance/StateCovariance.js.map +1 -0
  15. package/dist/force/AtmosphericDrag.d.ts +31 -0
  16. package/dist/force/AtmosphericDrag.js +73 -0
  17. package/dist/force/AtmosphericDrag.js.map +1 -0
  18. package/dist/force/EarthGravity.d.ts +27 -0
  19. package/dist/force/EarthGravity.js +117 -0
  20. package/dist/force/EarthGravity.js.map +1 -0
  21. package/{lib/ootk.d.ts → dist/force/Force.d.ts} +12 -11
  22. package/dist/force/Force.js +31 -0
  23. package/dist/force/Force.js.map +1 -0
  24. package/dist/force/ForceModel.d.ts +37 -0
  25. package/dist/force/ForceModel.js +75 -0
  26. package/dist/force/ForceModel.js.map +1 -0
  27. package/dist/force/Gravity.d.ts +38 -0
  28. package/dist/force/Gravity.js +47 -0
  29. package/dist/force/Gravity.js.map +1 -0
  30. package/dist/{ootk.d.ts → force/SolarRadiationPressure.d.ts} +12 -11
  31. package/dist/force/SolarRadiationPressure.js +44 -0
  32. package/dist/force/SolarRadiationPressure.js.map +1 -0
  33. package/dist/force/ThirdBodyGravity.d.ts +26 -0
  34. package/dist/force/ThirdBodyGravity.js +57 -0
  35. package/dist/force/ThirdBodyGravity.js.map +1 -0
  36. package/dist/force/Thrust.d.ts +34 -0
  37. package/dist/force/Thrust.js +58 -0
  38. package/dist/force/Thrust.js.map +1 -0
  39. package/dist/interfaces/RfSensorParams.d.ts +28 -0
  40. package/dist/interfaces/RfSensorParams.js +24 -0
  41. package/dist/interfaces/RfSensorParams.js.map +1 -0
  42. package/dist/interfaces/index.d.ts +1 -0
  43. package/dist/interfaces/index.js +2 -0
  44. package/dist/interfaces/index.js.map +1 -0
  45. package/dist/interpolator/ChebyshevCoefficients.d.ts +50 -0
  46. package/dist/interpolator/ChebyshevCoefficients.js +94 -0
  47. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -0
  48. package/dist/interpolator/ChebyshevInterpolator.d.ts +38 -0
  49. package/dist/interpolator/ChebyshevInterpolator.js +71 -0
  50. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -0
  51. package/dist/interpolator/CubicSpline.d.ts +35 -0
  52. package/dist/interpolator/CubicSpline.js +69 -0
  53. package/dist/interpolator/CubicSpline.js.map +1 -0
  54. package/dist/interpolator/CubicSplineInterpolator.d.ts +36 -0
  55. package/dist/interpolator/CubicSplineInterpolator.js +80 -0
  56. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -0
  57. package/dist/interpolator/FieldInterpolator.d.ts +28 -0
  58. package/dist/interpolator/FieldInterpolator.js +34 -0
  59. package/dist/interpolator/FieldInterpolator.js.map +1 -0
  60. package/dist/interpolator/Interpolator.d.ts +22 -0
  61. package/dist/interpolator/Interpolator.js +47 -0
  62. package/dist/interpolator/Interpolator.js.map +1 -0
  63. package/dist/interpolator/LagrangeInterpolator.d.ts +40 -0
  64. package/dist/interpolator/LagrangeInterpolator.js +159 -0
  65. package/dist/interpolator/LagrangeInterpolator.js.map +1 -0
  66. package/dist/interpolator/StateInterpolator.d.ts +27 -0
  67. package/dist/interpolator/StateInterpolator.js +35 -0
  68. package/dist/interpolator/StateInterpolator.js.map +1 -0
  69. package/dist/interpolator/VerletBlendInterpolator.d.ts +43 -0
  70. package/dist/interpolator/VerletBlendInterpolator.js +118 -0
  71. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -0
  72. package/{lib/ootk.js → dist/main.d.ts} +13 -10
  73. package/dist/{objects/space-object.d.ts → main.js} +17 -23
  74. package/dist/main.js.map +1 -0
  75. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +41 -0
  76. package/dist/maneuver/TwoBurnOrbitTransfer.js +65 -0
  77. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -0
  78. package/dist/maneuver/Waypoint.d.ts +91 -0
  79. package/dist/maneuver/Waypoint.js +179 -0
  80. package/dist/maneuver/Waypoint.js.map +1 -0
  81. package/{lib/objects/detailed-sat.d.ts → dist/objects/DetailedSatellite.d.ts} +40 -36
  82. package/dist/objects/DetailedSatellite.js +136 -0
  83. package/dist/objects/DetailedSatellite.js.map +1 -0
  84. package/dist/objects/DetailedSensor.d.ts +42 -0
  85. package/dist/objects/DetailedSensor.js +65 -0
  86. package/dist/objects/DetailedSensor.js.map +1 -0
  87. package/dist/objects/LandObject.d.ts +33 -0
  88. package/dist/objects/LandObject.js +34 -0
  89. package/dist/objects/LandObject.js.map +1 -0
  90. package/dist/objects/Marker.d.ts +20 -0
  91. package/dist/objects/Marker.js +24 -0
  92. package/dist/objects/Marker.js.map +1 -0
  93. package/dist/objects/RfSensor.d.ts +41 -0
  94. package/dist/objects/RfSensor.js +67 -0
  95. package/dist/objects/RfSensor.js.map +1 -0
  96. package/dist/objects/index.d.ts +5 -4
  97. package/dist/objects/index.js +6 -0
  98. package/dist/objects/index.js.map +1 -0
  99. package/dist/observation/Observation.d.ts +89 -0
  100. package/dist/observation/Observation.js +102 -0
  101. package/dist/observation/Observation.js.map +1 -0
  102. package/dist/observation/ObservationOptical.d.ts +48 -0
  103. package/dist/observation/ObservationOptical.js +105 -0
  104. package/dist/observation/ObservationOptical.js.map +1 -0
  105. package/dist/observation/ObservationRadar.d.ts +46 -0
  106. package/dist/observation/ObservationRadar.js +96 -0
  107. package/dist/observation/ObservationRadar.js.map +1 -0
  108. package/dist/observation/ObservationUtils.d.ts +20 -0
  109. package/dist/observation/ObservationUtils.js +32 -0
  110. package/dist/observation/ObservationUtils.js.map +1 -0
  111. package/dist/observation/PropagatorPairs.d.ts +32 -0
  112. package/dist/observation/PropagatorPairs.js +43 -0
  113. package/dist/observation/PropagatorPairs.js.map +1 -0
  114. package/dist/operations/BoxMuller.d.ts +46 -0
  115. package/dist/operations/BoxMuller.js +77 -0
  116. package/dist/operations/BoxMuller.js.map +1 -0
  117. package/dist/operations/EulerAngles.d.ts +105 -0
  118. package/dist/operations/EulerAngles.js +161 -0
  119. package/dist/operations/EulerAngles.js.map +1 -0
  120. package/dist/operations/Quaternion.d.ts +56 -0
  121. package/dist/operations/Quaternion.js +167 -0
  122. package/dist/operations/Quaternion.js.map +1 -0
  123. package/dist/operations/RandomGaussianSource.d.ts +24 -0
  124. package/dist/operations/RandomGaussianSource.js +43 -0
  125. package/dist/operations/RandomGaussianSource.js.map +1 -0
  126. package/dist/operations/index.d.ts +4 -0
  127. package/dist/operations/index.js +5 -0
  128. package/dist/operations/index.js.map +1 -0
  129. package/dist/optimize/ChebyshevCompressor.d.ts +32 -0
  130. package/dist/optimize/ChebyshevCompressor.js +83 -0
  131. package/dist/optimize/ChebyshevCompressor.js.map +1 -0
  132. package/dist/optimize/DownhillSimplex.d.ts +64 -0
  133. package/dist/optimize/DownhillSimplex.js +182 -0
  134. package/dist/optimize/DownhillSimplex.js.map +1 -0
  135. package/dist/optimize/GoldenSection.d.ts +39 -0
  136. package/dist/optimize/GoldenSection.js +55 -0
  137. package/dist/optimize/GoldenSection.js.map +1 -0
  138. package/dist/optimize/PolynomialRegression.d.ts +49 -0
  139. package/dist/optimize/PolynomialRegression.js +83 -0
  140. package/dist/optimize/PolynomialRegression.js.map +1 -0
  141. package/dist/optimize/PolynomicalRegressionResult.d.ts +31 -0
  142. package/dist/optimize/PolynomicalRegressionResult.js +38 -0
  143. package/dist/optimize/PolynomicalRegressionResult.js.map +1 -0
  144. package/dist/optimize/SimpleLinearRegression.d.ts +44 -0
  145. package/dist/optimize/SimpleLinearRegression.js +112 -0
  146. package/dist/optimize/SimpleLinearRegression.js.map +1 -0
  147. package/dist/optimize/SimplexEntry.d.ts +32 -0
  148. package/dist/optimize/SimplexEntry.js +42 -0
  149. package/dist/optimize/SimplexEntry.js.map +1 -0
  150. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +65 -0
  151. package/dist/orbit_determination/BatchLeastSquaresOD.js +143 -0
  152. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -0
  153. package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +31 -0
  154. package/{lib/objects/space-object.d.ts → dist/orbit_determination/BatchLeastSquaresResult.js} +21 -23
  155. package/dist/orbit_determination/BatchLeastSquaresResult.js.map +1 -0
  156. package/dist/orbit_determination/GibbsIOD.d.ts +38 -0
  157. package/dist/orbit_determination/GibbsIOD.js +76 -0
  158. package/dist/orbit_determination/GibbsIOD.js.map +1 -0
  159. package/dist/orbit_determination/GoodingIOD.d.ts +51 -0
  160. package/dist/orbit_determination/GoodingIOD.js +247 -0
  161. package/dist/orbit_determination/GoodingIOD.js.map +1 -0
  162. package/dist/orbit_determination/HerrickGibbsIOD.d.ts +33 -0
  163. package/dist/orbit_determination/HerrickGibbsIOD.js +50 -0
  164. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -0
  165. package/dist/orbit_determination/LambertIOD.d.ts +59 -0
  166. package/dist/orbit_determination/LambertIOD.js +213 -0
  167. package/dist/orbit_determination/LambertIOD.js.map +1 -0
  168. package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +40 -0
  169. package/dist/orbit_determination/ModifiedGoodingIOD.js +83 -0
  170. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -0
  171. package/dist/propagator/DormandPrince54Propagator.d.ts +28 -0
  172. package/dist/propagator/DormandPrince54Propagator.js +64 -0
  173. package/dist/propagator/DormandPrince54Propagator.js.map +1 -0
  174. package/dist/propagator/KeplerPropagator.d.ts +35 -0
  175. package/dist/propagator/KeplerPropagator.js +84 -0
  176. package/dist/propagator/KeplerPropagator.js.map +1 -0
  177. package/dist/propagator/Propagator.d.ts +34 -0
  178. package/dist/propagator/Propagator.js +162 -0
  179. package/dist/propagator/Propagator.js.map +1 -0
  180. package/dist/propagator/RkCheckpoint.d.ts +22 -0
  181. package/dist/propagator/RkCheckpoint.js +27 -0
  182. package/dist/propagator/RkCheckpoint.js.map +1 -0
  183. package/dist/propagator/RkResult.d.ts +23 -0
  184. package/dist/propagator/RkResult.js +30 -0
  185. package/dist/propagator/RkResult.js.map +1 -0
  186. package/dist/propagator/RungeKutta4Propagator.d.ts +50 -0
  187. package/dist/propagator/RungeKutta4Propagator.js +141 -0
  188. package/dist/propagator/RungeKutta4Propagator.js.map +1 -0
  189. package/dist/propagator/RungeKutta89Propagator.d.ts +28 -0
  190. package/dist/propagator/RungeKutta89Propagator.js +126 -0
  191. package/dist/propagator/RungeKutta89Propagator.js.map +1 -0
  192. package/dist/propagator/RungeKuttaAdaptive.d.ts +54 -0
  193. package/dist/propagator/RungeKuttaAdaptive.js +159 -0
  194. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -0
  195. package/dist/propagator/Sgp4Propagator.d.ts +34 -0
  196. package/dist/propagator/Sgp4Propagator.js +56 -0
  197. package/dist/propagator/Sgp4Propagator.js.map +1 -0
  198. package/dist/smoothing/ExponentialSmoothing.d.ts +23 -0
  199. package/dist/smoothing/ExponentialSmoothing.js +81 -0
  200. package/dist/smoothing/ExponentialSmoothing.js.map +1 -0
  201. package/dist/transforms/index.d.ts +1 -0
  202. package/dist/transforms/index.js +2 -0
  203. package/dist/transforms/index.js.map +1 -0
  204. package/dist/transforms/transforms.d.ts +56 -92
  205. package/dist/transforms/transforms.js +94 -0
  206. package/dist/transforms/transforms.js.map +1 -0
  207. package/dist/types/types.d.ts +105 -584
  208. package/dist/types/types.js +23 -0
  209. package/dist/types/types.js.map +1 -0
  210. package/dist/utils/index.d.ts +1 -0
  211. package/dist/utils/index.js +2 -0
  212. package/dist/utils/index.js.map +1 -0
  213. package/dist/utils/jacobian.d.ts +11 -0
  214. package/dist/utils/jacobian.js +29 -0
  215. package/dist/utils/jacobian.js.map +1 -0
  216. package/package.json +34 -42
  217. package/src/coordinate/Hill.ts +326 -0
  218. package/src/coordinate/index.ts +1 -0
  219. package/src/covariance/CovarianceSample.ts +194 -0
  220. package/src/covariance/StateCovariance.ts +69 -0
  221. package/src/force/AtmosphericDrag.ts +101 -0
  222. package/src/force/EarthGravity.ts +157 -0
  223. package/src/force/Force.ts +33 -0
  224. package/src/force/ForceModel.ts +91 -0
  225. package/src/force/Gravity.ts +53 -0
  226. package/src/force/SolarRadiationPressure.ts +42 -0
  227. package/src/force/ThirdBodyGravity.ts +62 -0
  228. package/src/force/Thrust.ts +83 -0
  229. package/src/interfaces/RfSensorParams.ts +30 -0
  230. package/src/interfaces/index.ts +1 -0
  231. package/src/interpolator/ChebyshevCoefficients.ts +109 -0
  232. package/src/interpolator/ChebyshevInterpolator.ts +87 -0
  233. package/src/interpolator/CubicSpline.ts +72 -0
  234. package/src/interpolator/CubicSplineInterpolator.ts +90 -0
  235. package/src/interpolator/FieldInterpolator.ts +37 -0
  236. package/src/interpolator/Interpolator.ts +56 -0
  237. package/src/interpolator/LagrangeInterpolator.ts +192 -0
  238. package/src/interpolator/StateInterpolator.ts +39 -0
  239. package/src/interpolator/VerletBlendInterpolator.ts +146 -0
  240. package/src/main.ts +32 -0
  241. package/src/maneuver/TwoBurnOrbitTransfer.ts +79 -0
  242. package/src/maneuver/Waypoint.ts +267 -0
  243. package/src/objects/DetailedSatellite.ts +159 -0
  244. package/src/objects/DetailedSensor.ts +68 -0
  245. package/src/objects/LandObject.ts +46 -0
  246. package/src/objects/Marker.ts +25 -0
  247. package/src/objects/RfSensor.ts +78 -0
  248. package/src/objects/index.ts +5 -0
  249. package/src/observation/Observation.ts +125 -0
  250. package/src/observation/ObservationOptical.ts +146 -0
  251. package/src/observation/ObservationRadar.ts +131 -0
  252. package/src/observation/ObservationUtils.ts +40 -0
  253. package/src/observation/PropagatorPairs.ts +45 -0
  254. package/src/operations/BoxMuller.ts +87 -0
  255. package/src/operations/EulerAngles.ts +183 -0
  256. package/src/operations/Quaternion.ts +222 -0
  257. package/src/operations/RandomGaussianSource.ts +51 -0
  258. package/src/operations/index.ts +4 -0
  259. package/src/optimize/ChebyshevCompressor.ts +96 -0
  260. package/src/optimize/DownhillSimplex.ts +212 -0
  261. package/src/optimize/GoldenSection.ts +71 -0
  262. package/src/optimize/PolynomialRegression.ts +109 -0
  263. package/src/optimize/PolynomicalRegressionResult.ts +32 -0
  264. package/src/optimize/SimpleLinearRegression.ts +127 -0
  265. package/src/optimize/SimplexEntry.ts +50 -0
  266. package/src/orbit_determination/BatchLeastSquaresOD.ts +174 -0
  267. package/src/orbit_determination/BatchLeastSquaresResult.ts +33 -0
  268. package/src/orbit_determination/GibbsIOD.ts +95 -0
  269. package/src/orbit_determination/GoodingIOD.ts +380 -0
  270. package/src/orbit_determination/HerrickGibbsIOD.ts +51 -0
  271. package/src/orbit_determination/LambertIOD.ts +260 -0
  272. package/src/orbit_determination/ModifiedGoodingIOD.ts +133 -0
  273. package/src/propagator/DormandPrince54Propagator.ts +73 -0
  274. package/src/propagator/KeplerPropagator.ts +102 -0
  275. package/src/propagator/Propagator.ts +253 -0
  276. package/src/propagator/RkCheckpoint.ts +25 -0
  277. package/src/propagator/RkResult.ts +26 -0
  278. package/src/propagator/RungeKutta4Propagator.ts +179 -0
  279. package/src/propagator/RungeKutta89Propagator.ts +132 -0
  280. package/src/propagator/RungeKuttaAdaptive.ts +232 -0
  281. package/src/propagator/Sgp4Propagator.ts +71 -0
  282. package/src/smoothing/ExponentialSmoothing.ts +90 -0
  283. package/src/transforms/index.ts +1 -0
  284. package/src/transforms/transforms.ts +117 -0
  285. package/src/types/types.ts +135 -0
  286. package/src/utils/index.ts +1 -0
  287. package/src/utils/jacobian.ts +38 -0
  288. package/.eslintrc.json +0 -244
  289. package/.prettierrc +0 -17
  290. package/babel.config.js +0 -16
  291. package/codecov.yml +0 -21
  292. package/dist/objects/base-object.d.ts +0 -40
  293. package/dist/objects/detailed-sat.d.ts +0 -66
  294. package/dist/objects/sat.d.ts +0 -92
  295. package/dist/objects/sensor.d.ts +0 -93
  296. package/dist/objects/star.d.ts +0 -46
  297. package/dist/ootk.js +0 -2
  298. package/dist/ootk.js.LICENSE.txt +0 -77
  299. package/dist/sgp4/sgp4.d.ts +0 -82
  300. package/dist/tle/tle-format-data.d.ts +0 -6
  301. package/dist/tle/tle.d.ts +0 -375
  302. package/dist/utils/constants.d.ts +0 -34
  303. package/dist/utils/moon-math.d.ts +0 -113
  304. package/dist/utils/sun-math.d.ts +0 -230
  305. package/dist/utils/utils.d.ts +0 -39
  306. package/jest.config.ts +0 -30
  307. package/lib/objects/base-object.d.ts +0 -40
  308. package/lib/objects/base-object.js +0 -79
  309. package/lib/objects/base-object.js.map +0 -1
  310. package/lib/objects/detailed-sat.js +0 -149
  311. package/lib/objects/detailed-sat.js.map +0 -1
  312. package/lib/objects/index.d.ts +0 -4
  313. package/lib/objects/index.js +0 -5
  314. package/lib/objects/index.js.map +0 -1
  315. package/lib/objects/sat.d.ts +0 -92
  316. package/lib/objects/sat.js +0 -188
  317. package/lib/objects/sat.js.map +0 -1
  318. package/lib/objects/sensor.d.ts +0 -93
  319. package/lib/objects/sensor.js +0 -273
  320. package/lib/objects/sensor.js.map +0 -1
  321. package/lib/objects/space-object.js +0 -60
  322. package/lib/objects/space-object.js.map +0 -1
  323. package/lib/objects/star.d.ts +0 -46
  324. package/lib/objects/star.js +0 -91
  325. package/lib/objects/star.js.map +0 -1
  326. package/lib/ootk.js.map +0 -1
  327. package/lib/sgp4/sgp4.d.ts +0 -82
  328. package/lib/sgp4/sgp4.js +0 -3262
  329. package/lib/sgp4/sgp4.js.map +0 -1
  330. package/lib/tle/tle-format-data.d.ts +0 -6
  331. package/lib/tle/tle-format-data.js +0 -10
  332. package/lib/tle/tle-format-data.js.map +0 -1
  333. package/lib/tle/tle.d.ts +0 -375
  334. package/lib/tle/tle.js +0 -611
  335. package/lib/tle/tle.js.map +0 -1
  336. package/lib/transforms/transforms.d.ts +0 -94
  337. package/lib/transforms/transforms.js +0 -308
  338. package/lib/transforms/transforms.js.map +0 -1
  339. package/lib/types/types.d.ts +0 -605
  340. package/lib/types/types.js +0 -36
  341. package/lib/types/types.js.map +0 -1
  342. package/lib/utils/constants.d.ts +0 -34
  343. package/lib/utils/constants.js +0 -35
  344. package/lib/utils/constants.js.map +0 -1
  345. package/lib/utils/moon-math.d.ts +0 -113
  346. package/lib/utils/moon-math.js +0 -387
  347. package/lib/utils/moon-math.js.map +0 -1
  348. package/lib/utils/sun-math.d.ts +0 -230
  349. package/lib/utils/sun-math.js +0 -422
  350. package/lib/utils/sun-math.js.map +0 -1
  351. package/lib/utils/utils.d.ts +0 -39
  352. package/lib/utils/utils.js +0 -102
  353. package/lib/utils/utils.js.map +0 -1
  354. package/sandbox.html +0 -8
  355. package/tsconfig.base.json +0 -31
  356. package/tsconfig.build.json +0 -14
  357. /package/{LICENSE.MD → LICENSE.md} +0 -0
package/.eslintrc.json DELETED
@@ -1,244 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "es2021": true,
5
- "node": true,
6
- "jest": true
7
- },
8
- "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
9
- "parser": "@typescript-eslint/parser",
10
- "parserOptions": {
11
- "ecmaVersion": 12,
12
- "sourceType": "module"
13
- },
14
- "plugins": ["@typescript-eslint"],
15
- "rules": {
16
- "accessor-pairs": "error",
17
- "array-bracket-newline": "error",
18
- "array-bracket-spacing": "error",
19
- "array-callback-return": "error",
20
- "array-element-newline": "off",
21
- "arrow-body-style": "error",
22
- "arrow-parens": "error",
23
- "arrow-spacing": "error",
24
- "block-scoped-var": "error",
25
- "block-spacing": "error",
26
- "brace-style": "error",
27
- "callback-return": "error",
28
- "camelcase": "error",
29
- "capitalized-comments": "off",
30
- "class-methods-use-this": "error",
31
- "comma-dangle": ["error", "always-multiline"],
32
- "comma-spacing": "error",
33
- "comma-style": "error",
34
- "complexity": "error",
35
- "computed-property-spacing": "error",
36
- "consistent-return": "error",
37
- "consistent-this": "error",
38
- "curly": "error",
39
- "default-case": "error",
40
- "default-case-last": "error",
41
- "default-param-last": "error",
42
- "dot-location": "error",
43
- "dot-notation": "error",
44
- "eol-last": "error",
45
- "eqeqeq": "error",
46
- "func-call-spacing": "error",
47
- "func-name-matching": "error",
48
- "func-names": "error",
49
- "func-style": "error",
50
- "function-call-argument-newline": "off",
51
- "function-paren-newline": "off",
52
- "generator-star-spacing": "error",
53
- "global-require": "error",
54
- "grouped-accessor-pairs": "error",
55
- "guard-for-in": "error",
56
- "handle-callback-err": "error",
57
- "id-blacklist": "error",
58
- "id-denylist": "error",
59
- "id-length": "off",
60
- "id-match": "error",
61
- "implicit-arrow-linebreak": "off",
62
- "indent": ["error", 2, { "SwitchCase": 1 }],
63
- "indent-legacy": ["error", 2, { "SwitchCase": 1 }],
64
- "init-declarations": "error",
65
- "jsx-quotes": "error",
66
- "key-spacing": "error",
67
- "keyword-spacing": "error",
68
- "line-comment-position": "off",
69
- "linebreak-style": ["error", "unix"],
70
- "lines-around-comment": "off",
71
- "lines-around-directive": "error",
72
- "lines-between-class-members": "off",
73
- "max-classes-per-file": "error",
74
- "max-depth": "error",
75
- "max-len": ["error", { "code": 120 }],
76
- "max-lines": ["error", { "max": 1000 }],
77
- "max-lines-per-function": ["error", { "max": 300 }],
78
- "max-nested-callbacks": "error",
79
- "max-params": ["error", { "max": 5 }],
80
- "max-statements": ["error", { "max": 25 }],
81
- "max-statements-per-line": "error",
82
- "multiline-comment-style": "error",
83
- "multiline-ternary": "off",
84
- "new-cap": "error",
85
- "new-parens": "error",
86
- "newline-after-var": "error",
87
- "newline-before-return": "error",
88
- "newline-per-chained-call": "off",
89
- "no-alert": "error",
90
- "no-array-constructor": "error",
91
- "no-await-in-loop": "error",
92
- "no-bitwise": "error",
93
- "no-buffer-constructor": "error",
94
- "no-caller": "error",
95
- "no-catch-shadow": "error",
96
- "no-confusing-arrow": "error",
97
- "no-console": "error",
98
- "no-constructor-return": "error",
99
- "no-continue": "error",
100
- "no-div-regex": "error",
101
- "no-duplicate-imports": "error",
102
- "no-else-return": "error",
103
- "no-empty-function": "error",
104
- "no-eq-null": "error",
105
- "no-eval": "error",
106
- "no-extend-native": "error",
107
- "no-extra-bind": "error",
108
- "no-extra-label": "error",
109
- "no-extra-parens": "off",
110
- "no-floating-decimal": "error",
111
- "no-implicit-coercion": "error",
112
- "no-implicit-globals": "error",
113
- "no-implied-eval": "error",
114
- "no-inline-comments": "off",
115
- "no-invalid-this": "error",
116
- "no-iterator": "error",
117
- "no-label-var": "error",
118
- "no-labels": "error",
119
- "no-lone-blocks": "error",
120
- "no-lonely-if": "error",
121
- "no-loop-func": "error",
122
- "no-loss-of-precision": "off",
123
- "no-magic-numbers": "off",
124
- "no-mixed-operators": "off",
125
- "no-mixed-requires": "error",
126
- "no-multi-assign": "error",
127
- "no-multi-spaces": "error",
128
- "no-multi-str": "error",
129
- "no-multiple-empty-lines": "error",
130
- "no-native-reassign": "error",
131
- "no-negated-condition": "off",
132
- "no-negated-in-lhs": "error",
133
- "no-nested-ternary": "error",
134
- "no-new": "error",
135
- "no-new-func": "error",
136
- "no-new-object": "error",
137
- "no-new-require": "error",
138
- "no-new-wrappers": "error",
139
- "no-nonoctal-decimal-escape": "error",
140
- "no-octal-escape": "error",
141
- "no-param-reassign": "off",
142
- "no-path-concat": "error",
143
- "no-plusplus": "off",
144
- "no-process-env": "error",
145
- "no-process-exit": "error",
146
- "no-promise-executor-return": "error",
147
- "no-proto": "error",
148
- "no-restricted-exports": "error",
149
- "no-restricted-globals": "error",
150
- "no-restricted-imports": "error",
151
- "no-restricted-modules": "error",
152
- "no-restricted-properties": "error",
153
- "no-restricted-syntax": "error",
154
- "no-return-assign": "error",
155
- "no-return-await": "error",
156
- "no-script-url": "error",
157
- "no-self-compare": "error",
158
- "no-sequences": "error",
159
- "no-shadow": "off",
160
- "no-spaced-func": "error",
161
- "no-sync": "error",
162
- "no-tabs": "error",
163
- "no-template-curly-in-string": "error",
164
- "no-ternary": "off",
165
- "no-throw-literal": "error",
166
- "no-trailing-spaces": "error",
167
- "no-undef-init": "error",
168
- "no-undefined": "error",
169
- "no-underscore-dangle": "off",
170
- "no-unmodified-loop-condition": "error",
171
- "no-unneeded-ternary": "error",
172
- "no-unreachable-loop": "error",
173
- "no-unsafe-optional-chaining": "error",
174
- "no-unused-expressions": "error",
175
- "no-use-before-define": "error",
176
- "no-useless-backreference": "error",
177
- "no-useless-call": "error",
178
- "no-useless-computed-key": "error",
179
- "no-useless-concat": "error",
180
- "no-useless-constructor": "error",
181
- "no-useless-rename": "error",
182
- "no-useless-return": "error",
183
- "no-var": "error",
184
- "no-void": "error",
185
- "no-warning-comments": "error",
186
- "no-whitespace-before-property": "error",
187
- "nonblock-statement-body-position": "error",
188
- "object-curly-newline": "error",
189
- "object-curly-spacing": "off",
190
- "object-property-newline": "off",
191
- "object-shorthand": "error",
192
- "one-var": "off",
193
- "one-var-declaration-per-line": "error",
194
- "operator-assignment": "error",
195
- "operator-linebreak": "error",
196
- "padded-blocks": "off",
197
- "padding-line-between-statements": "error",
198
- "prefer-arrow-callback": "error",
199
- "prefer-const": "error",
200
- "prefer-destructuring": "error",
201
- "prefer-exponentiation-operator": "error",
202
- "prefer-named-capture-group": "error",
203
- "prefer-numeric-literals": "error",
204
- "prefer-object-spread": "error",
205
- "prefer-promise-reject-errors": "error",
206
- "prefer-reflect": "off",
207
- "prefer-regex-literals": "error",
208
- "prefer-rest-params": "error",
209
- "prefer-spread": "error",
210
- "prefer-template": "error",
211
- "quote-props": "off",
212
- "quotes": ["error", "single"],
213
- "radix": "off",
214
- "require-atomic-updates": "error",
215
- "require-await": "error",
216
- "require-jsdoc": "error",
217
- "require-unicode-regexp": "error",
218
- "rest-spread-spacing": "error",
219
- "semi": "error",
220
- "semi-spacing": "error",
221
- "semi-style": "error",
222
- "sort-imports": "off",
223
- "sort-keys": "off",
224
- "sort-vars": "error",
225
- "space-before-blocks": "error",
226
- "space-before-function-paren": "off",
227
- "space-in-parens": "error",
228
- "space-infix-ops": "error",
229
- "space-unary-ops": "error",
230
- "spaced-comment": "error",
231
- "strict": "error",
232
- "switch-colon-spacing": "error",
233
- "symbol-description": "error",
234
- "template-curly-spacing": "error",
235
- "template-tag-spacing": "error",
236
- "unicode-bom": "error",
237
- "valid-jsdoc": "off",
238
- "vars-on-top": "error",
239
- "wrap-iife": "error",
240
- "wrap-regex": "error",
241
- "yield-star-spacing": "error",
242
- "yoda": "error"
243
- }
244
- }
package/.prettierrc DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "printWidth": 120,
3
- "tabWidth": 2,
4
- "useTabs": false,
5
- "semi": true,
6
- "singleQuote": true,
7
- "quoteProps": "consistent",
8
- "trailingComma": "all",
9
- "bracketSpacing": true,
10
- "arrowParens": "always",
11
- "requirePragma": false,
12
- "insertPragma": false,
13
- "proseWrap": "never",
14
- "htmlWhitespaceSensitivity": "ignore",
15
- "endOfLine": "lf",
16
- "embeddedLanguageFormatting": "off"
17
- }
package/babel.config.js DELETED
@@ -1,16 +0,0 @@
1
- // eslint-disable-next-line no-undef
2
- module.exports = {
3
- presets: [
4
- [
5
- '@babel/preset-env',
6
- {
7
- targets: {
8
- esmodules: true,
9
- },
10
- // modules: "umd", -- THIS IS FOR DOING THE LIB VERSION OF KEEPTRACK
11
- },
12
- ],
13
- '@babel/preset-typescript',
14
- ],
15
- compact: 'auto',
16
- };
package/codecov.yml DELETED
@@ -1,21 +0,0 @@
1
- codecov:
2
- require_ci_to_pass: yes
3
- bot: Code Coverage Bot
4
-
5
- coverage:
6
- precision: 2
7
- round: down
8
- range: "70...100"
9
-
10
- parsers:
11
- gcov:
12
- branch_detection:
13
- conditional: yes
14
- loop: yes
15
- method: no
16
- macro: no
17
-
18
- comment:
19
- layout: "reach,diff,flags,files,footer"
20
- behavior: default
21
- require_changes: no
@@ -1,40 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek.
3
- * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- *
6
- * @file The BaseObject class is used for creating core properties and methods applicable
7
- * to ground and space based objects.
8
- *
9
- * @license AGPL-3.0-or-later
10
- * @Copyright (c) 2020-2023 Theodore Kruczek
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
- import { EciVec3, SpaceObjectType } from '../types/types';
24
- interface ObjectInfo {
25
- name?: string;
26
- type?: SpaceObjectType;
27
- position?: EciVec3;
28
- time?: Date;
29
- }
30
- export declare class BaseObject {
31
- name: string;
32
- type: SpaceObjectType;
33
- position: EciVec3;
34
- time: Date;
35
- constructor(info: ObjectInfo);
36
- getName(): string;
37
- getType(): SpaceObjectType;
38
- getTypeString(): string;
39
- }
40
- export {};
@@ -1,66 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek.
3
- * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- *
6
- * @file The DetailedSat class is an extension of the Sat class that provides additional
7
- * properties for categorizing and filtering satellites.
8
- *
9
- * @license AGPL-3.0-or-later
10
- * @Copyright (c) 2020-2023 Theodore Kruczek
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
- import { LaunchDetails, OperationsDetails, SpaceCraftDetails, SpaceObjectType, TleLine1, TleLine2 } from '../types/types';
24
- import { Sat } from './sat';
25
- interface ObjectInfo {
26
- name?: string;
27
- type?: SpaceObjectType;
28
- rcs?: number;
29
- vmag?: number;
30
- tle1: TleLine1;
31
- tle2: TleLine2;
32
- }
33
- export declare class DetailedSat extends Sat {
34
- launchDate: string;
35
- launchMass: string;
36
- launchSite: string;
37
- launchVehicle: string;
38
- lifetime: string | number;
39
- maneuver: string;
40
- manufacturer: string;
41
- motor: string;
42
- power: string;
43
- payload: string;
44
- purpose: string;
45
- shape: string;
46
- span: string;
47
- user: string;
48
- mission: string;
49
- owner: string;
50
- configuration: string;
51
- equipment: string;
52
- dryMass: string;
53
- country: string;
54
- constructor(info: ObjectInfo, options: any, details: {
55
- launchDetails: LaunchDetails;
56
- spaceCraftDetails: SpaceCraftDetails;
57
- operationsDetails: OperationsDetails;
58
- });
59
- setLaunchDetails(details: LaunchDetails): void;
60
- getLaunchDetails(): LaunchDetails;
61
- setSpaceCraftDetails(details: SpaceCraftDetails): void;
62
- getSpaceCraftDetails(): SpaceCraftDetails;
63
- setOperationsDetails(details: OperationsDetails): void;
64
- getOperationsDetails(): OperationsDetails;
65
- }
66
- export {};
@@ -1,92 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek.
3
- * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- *
6
- * @file The Sat class provides functions for calculating satellites positions relative
7
- * to earth based sensors and other orbital objects.
8
- *
9
- * @license AGPL-3.0-or-later
10
- * @Copyright (c) 2020-2023 Theodore Kruczek
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
- import { EcfVec3, EciVec3, LlaVec3, RaeVec3, SatelliteRecord, SpaceObjectType, StateVector, TleLine1, TleLine2 } from '../types/types';
24
- import { Sensor } from './sensor';
25
- import { SpaceObject } from './space-object';
26
- interface ObjectInfo {
27
- name?: string;
28
- type?: SpaceObjectType;
29
- rcs?: number;
30
- vmag?: number;
31
- tle1: TleLine1;
32
- tle2: TleLine2;
33
- }
34
- export declare class Sat extends SpaceObject {
35
- satNum: number;
36
- satrec: SatelliteRecord;
37
- intlDes: string;
38
- epochYear: number;
39
- epochDay: number;
40
- meanMoDev1: number;
41
- meanMoDev2: number;
42
- bstar: number;
43
- inclination: number;
44
- raan: number;
45
- eccentricity: number;
46
- argOfPerigee: number;
47
- meanAnomaly: number;
48
- meanMotion: number;
49
- period: number;
50
- apogee: number;
51
- perigee: number;
52
- options: any;
53
- constructor(info: ObjectInfo, options?: any);
54
- propagateTo(date: Date): Sat;
55
- /**
56
- * Calculates position and velocity in ECI coordinates at a given time.
57
- * @param {Date} date Date to calculate the state vector for
58
- * @returns {StateVector} State vector for the given date
59
- */
60
- getStateVec(date?: Date): StateVector;
61
- /**
62
- * Calculates ECI position at a given time.
63
- * @param {Date} date Date to calculate
64
- * @returns {EciVec3} ECI position vector
65
- */
66
- getEci(date?: Date): EciVec3;
67
- /**
68
- * Calculates ECF position at a given time.
69
- * @param {Date} date Date to calculate
70
- * @returns {EcfVec3} ECF position vector
71
- */
72
- getEcf(date?: Date): EcfVec3;
73
- /**
74
- * Calculates LLA position at a given time.
75
- * @param {Date} date Date to calculate
76
- * @returns {LlaVec3} LLA position vector
77
- */
78
- getLla(date?: Date): LlaVec3;
79
- getRae(sensor: Sensor, date?: Date): RaeVec3;
80
- getAzimuth(sensor: Sensor, date?: Date): number;
81
- getElevation(sensor: Sensor, date?: Date): number;
82
- getRange(sensor: Sensor, date?: Date): number;
83
- /**
84
- * Calculates the time variables for a given date relative to the TLE epoch.
85
- * @param {Date} date Date to calculate
86
- * @param {SatelliteRecord} satrec Satellite orbital information
87
- * @returns {{m: number, gmst: GreenwichMeanSiderealTime, j: number}} Time variables
88
- */
89
- private static calculateTimeVariables;
90
- static checkSatrec(satrec: SatelliteRecord): boolean;
91
- }
92
- export {};
@@ -1,93 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek.
3
- * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- *
6
- * @file The Sensor class is used for creating ground based observers.
7
- *
8
- * @license AGPL-3.0-or-later
9
- * @Copyright (c) 2020-2023 Theodore Kruczek
10
- *
11
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
12
- * terms of the GNU Affero General Public License as published by the Free Software
13
- * Foundation, either version 3 of the License, or (at your option) any later version.
14
- *
15
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
16
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
- * See the GNU Affero General Public License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License along with
20
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
- */
22
- import { Degrees, Kilometers, Radians, RaeVec3, SpaceObjectType } from '../types/types';
23
- import { BaseObject } from './base-object';
24
- import { Sat } from './sat';
25
- interface ObjectInfo {
26
- name?: string;
27
- type?: SpaceObjectType;
28
- lat: Radians;
29
- lon: Radians;
30
- alt: Kilometers;
31
- minAz?: Degrees;
32
- maxAz?: Degrees;
33
- minEl?: Degrees;
34
- maxEl?: Degrees;
35
- minRng?: Kilometers;
36
- maxRng?: Kilometers;
37
- }
38
- export declare enum PassType {
39
- OUT_OF_VIEW = -1,
40
- ENTER = 0,
41
- IN_VIEW = 1,
42
- EXIT = 2
43
- }
44
- type Lookangles = {
45
- type: PassType;
46
- time: Date;
47
- az: Degrees;
48
- el: Degrees;
49
- rng: Kilometers;
50
- maxElPass?: Degrees;
51
- };
52
- export declare class Sensor extends BaseObject {
53
- lat: Radians;
54
- lon: Radians;
55
- alt: Kilometers;
56
- minAz: Degrees;
57
- maxAz: Degrees;
58
- minEl: Degrees;
59
- maxEl: Degrees;
60
- minRng: Kilometers;
61
- maxRng: Kilometers;
62
- /**
63
- * * name: Name as a string - OPTIONAL
64
- * * type: SpaceObjectType - OPTIONAL
65
- * * lat: Latitude in Radians
66
- * * lon: Longitude in Radians
67
- * * alt: Altitude in Kilometers
68
- * * minAz: Minimum Azimuth in Degrees
69
- * * maxAz: Maximum Azimuth in Degrees
70
- * * minEl: Minimum Elevation in Degrees
71
- * * maxEl: Maximum Elevation in Degrees
72
- * * minRng: Minimum Range in Kilometers
73
- * * maxRng: Maximum Range in Kilometers
74
- * @param {ObjectInfo} info ObjectInfo object containing the object's information
75
- */
76
- constructor(info: ObjectInfo);
77
- private validateInputData;
78
- private validateFov;
79
- private validateMaxRng;
80
- private validateMinRng;
81
- private validateMaxEl;
82
- private validateMinEl;
83
- private validateMaxAz;
84
- private validateMinAz;
85
- private validateLla;
86
- setTime(date: Date): this;
87
- getRae(sat: Sat, date?: Date): RaeVec3;
88
- isRaeInFov(rae: RaeVec3): boolean;
89
- isSatInFov(sat: Sat, date?: Date): boolean;
90
- calculatePasses(planningInterval: number, sat: Sat, date?: Date): Lookangles[];
91
- private static getPassType_;
92
- }
93
- export {};
@@ -1,46 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek.
3
- * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- *
6
- * @file The Star class is meant to help with cacluating star positions relative to
7
- * satellites and earth based sensors.
8
- *
9
- * @license AGPL-3.0-or-later
10
- * @Copyright (c) 2020-2023 Theodore Kruczek
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
- import { EciVec3, LlaVec3, Radians, RaeVec3, SpaceObjectType } from '../types/types';
24
- import { SpaceObject } from './space-object';
25
- interface ObjectInfo {
26
- bf?: string;
27
- dec: Radians;
28
- h?: string;
29
- name?: string;
30
- pname?: string;
31
- ra: Radians;
32
- type?: SpaceObjectType;
33
- vmag?: number;
34
- }
35
- export declare class Star extends SpaceObject {
36
- bf: string;
37
- dec: Radians;
38
- h: string;
39
- pname: string;
40
- ra: Radians;
41
- constructor(info: ObjectInfo);
42
- getEci(lla?: LlaVec3, date?: Date): EciVec3;
43
- getRae(lla?: LlaVec3, date?: Date): RaeVec3;
44
- private static calculateTimeVariables_;
45
- }
46
- export {};