ootk 4.0.0-1 → 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 (75) hide show
  1. package/CHANGELOG.md +65 -1
  2. package/dist/enums/CatalogSource.d.ts +8 -0
  3. package/dist/enums/CatalogSource.js +10 -0
  4. package/dist/enums/CatalogSource.js.map +1 -0
  5. package/dist/enums/CommLink.d.ts +7 -0
  6. package/dist/enums/CommLink.js +9 -0
  7. package/dist/enums/CommLink.js.map +1 -0
  8. package/dist/enums/index.d.ts +2 -0
  9. package/dist/enums/index.js +3 -0
  10. package/dist/enums/index.js.map +1 -0
  11. package/dist/force/EarthGravity.d.ts +26 -0
  12. package/dist/force/EarthGravity.js +26 -1
  13. package/dist/force/EarthGravity.js.map +1 -1
  14. package/dist/force/ForceModel.d.ts +8 -0
  15. package/dist/force/ForceModel.js +8 -0
  16. package/dist/force/ForceModel.js.map +1 -1
  17. package/dist/force/index.d.ts +1 -0
  18. package/dist/force/index.js +2 -0
  19. package/dist/force/index.js.map +1 -0
  20. package/dist/interfaces/RfSensorParams.d.ts +7 -3
  21. package/dist/main.d.ts +5 -2
  22. package/dist/main.js +5 -4
  23. package/dist/main.js.map +1 -1
  24. package/dist/objects/DetailedSatellite.d.ts +4 -2
  25. package/dist/objects/DetailedSatellite.js +23 -3
  26. package/dist/objects/DetailedSatellite.js.map +1 -1
  27. package/dist/objects/DetailedSensor.d.ts +13 -18
  28. package/dist/objects/DetailedSensor.js +20 -33
  29. package/dist/objects/DetailedSensor.js.map +1 -1
  30. package/dist/objects/RfSensor.d.ts +6 -4
  31. package/dist/objects/RfSensor.js +11 -8
  32. package/dist/objects/RfSensor.js.map +1 -1
  33. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +4 -0
  34. package/dist/orbit_determination/BatchLeastSquaresOD.js +4 -4
  35. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
  36. package/dist/propagator/Sgp4Propagator.d.ts +42 -0
  37. package/dist/propagator/Sgp4Propagator.js +42 -2
  38. package/dist/propagator/Sgp4Propagator.js.map +1 -1
  39. package/dist/propagator/index.d.ts +3 -0
  40. package/dist/propagator/index.js +4 -0
  41. package/dist/propagator/index.js.map +1 -0
  42. package/dist/transforms/transforms.d.ts +1 -2
  43. package/dist/transforms/transforms.js +1 -1
  44. package/dist/transforms/transforms.js.map +1 -1
  45. package/dist/types/types.d.ts +6 -13
  46. package/dist/types/types.js.map +1 -1
  47. package/dist/utils/functions.d.ts +8 -0
  48. package/dist/utils/functions.js +18 -0
  49. package/dist/utils/functions.js.map +1 -0
  50. package/dist/utils/index.d.ts +1 -0
  51. package/dist/utils/index.js +1 -0
  52. package/dist/utils/index.js.map +1 -1
  53. package/dist/utils/jacobian.d.ts +1 -1
  54. package/dist/utils/jacobian.js +2 -2
  55. package/dist/utils/jacobian.js.map +1 -1
  56. package/package.json +2 -3
  57. package/src/enums/CatalogSource.ts +8 -0
  58. package/src/enums/CommLink.ts +7 -0
  59. package/src/enums/index.ts +2 -0
  60. package/src/force/EarthGravity.ts +26 -1
  61. package/src/force/ForceModel.ts +8 -0
  62. package/src/force/index.ts +1 -0
  63. package/src/interfaces/RfSensorParams.ts +7 -3
  64. package/src/main.ts +5 -4
  65. package/src/objects/DetailedSatellite.ts +31 -4
  66. package/src/objects/DetailedSensor.ts +24 -35
  67. package/src/objects/RfSensor.ts +11 -8
  68. package/src/orbit_determination/BatchLeastSquaresOD.ts +4 -4
  69. package/src/propagator/Sgp4Propagator.ts +42 -2
  70. package/src/propagator/index.ts +3 -0
  71. package/src/transforms/transforms.ts +2 -3
  72. package/src/types/types.ts +6 -13
  73. package/src/utils/functions.ts +21 -0
  74. package/src/utils/index.ts +1 -0
  75. package/src/utils/jacobian.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -3,7 +3,71 @@
3
3
  This is an automatic changelog that automatically records all changes made to the project. Generated from Git commit
4
4
  messages, it details updates like bug fixes and new features, providing a clear history of the project's development.
5
5
 
6
- #### [4.0.0-1](https://github.com/thkruz/ootk/compare/v4.0.0-0...4.0.0-1)
6
+ #### [4.0.0-10](https://github.com/thkruz/ootk/compare/v5.0.0-0...4.0.0-10)
7
+
8
+ - refactor: :recycle: make rfSensor an extension of DetailedSensor [`add7613`](https://github.com/thkruz/ootk/commit/add7613c9cea3ddf56b5da0accef36b8b866b144)
9
+
10
+ #### [v5.0.0-0](https://github.com/thkruz/ootk/compare/v4.0.0-9...v5.0.0-0)
11
+
12
+ #### [v4.0.0-9](https://github.com/thkruz/ootk/compare/v4.0.0-8...v4.0.0-9)
13
+
14
+ > 19 February 2024
15
+
16
+ - feat: :sparkles: add forces and propagators [`177c88b`](https://github.com/thkruz/ootk/commit/177c88b308760c08e592d409f106cbfe2b0b98ac)
17
+ - docs: :memo: update documentation [`754e2e1`](https://github.com/thkruz/ootk/commit/754e2e183fdb6930a0192b0452137f99f420fd6d)
18
+ - feat: :sparkles: add detailedsatellite cloning [`63aeb77`](https://github.com/thkruz/ootk/commit/63aeb77d3d24071a1d66e5396b27e8c89fe34198)
19
+ - build: :arrow_up: bump ootk-core [`62f40d2`](https://github.com/thkruz/ootk/commit/62f40d2e8fd629b7dfc55b2c40e52e40cf2069aa)
20
+ - build: :arrow_up: bump ootk-core [`8d15b97`](https://github.com/thkruz/ootk/commit/8d15b972d7a9dd49a6c2e2773509ac23735da476)
21
+ - chore: :technologist: remove prettier recommendation [`def01c6`](https://github.com/thkruz/ootk/commit/def01c647b3a09c799b1c2b47c766afed4368ab3)
22
+
23
+ #### [v4.0.0-8](https://github.com/thkruz/ootk/compare/v4.0.0-7...v4.0.0-8)
24
+
25
+ > 21 January 2024
26
+
27
+ - fix: :bug: make vmag and rcs nullable [`0750c9a`](https://github.com/thkruz/ootk/commit/0750c9aebee45bf0cba773b7d09ad91b3d29dbd7)
28
+
29
+ #### [v4.0.0-7](https://github.com/thkruz/ootk/compare/v4.0.0-6...v4.0.0-7)
30
+
31
+ > 21 January 2024
32
+
33
+ - build: :arrow_up: bump ootk-core [`188513f`](https://github.com/thkruz/ootk/commit/188513fabd9a1f621547769b9624c0dfcddee59d)
34
+
35
+ #### [v4.0.0-6](https://github.com/thkruz/ootk/compare/v4.0.0-5...v4.0.0-6)
36
+
37
+ > 20 January 2024
38
+
39
+ - build: :arrow_up: bump ootk-core [`c7c5350`](https://github.com/thkruz/ootk/commit/c7c5350d47d20ffb5453ccfcb490164a00b50a9e)
40
+
41
+ #### [v4.0.0-5](https://github.com/thkruz/ootk/compare/v4.0.0-4...v4.0.0-5)
42
+
43
+ > 20 January 2024
44
+
45
+ - build: :arrow_up: bump ootk-core [`d19fd5b`](https://github.com/thkruz/ootk/commit/d19fd5b80b7b223a91c56a64b9564350cd9a90d0)
46
+
47
+ #### [v4.0.0-4](https://github.com/thkruz/ootk/compare/v4.0.0-3...v4.0.0-4)
48
+
49
+ > 17 January 2024
50
+
51
+ - fix: :adhesive_bandage: fix import statements [`e923dde`](https://github.com/thkruz/ootk/commit/e923ddefe856711c8216e006dc7463827960900e)
52
+
53
+ #### [v4.0.0-3](https://github.com/thkruz/ootk/compare/v4.0.0-2...v4.0.0-3)
54
+
55
+ > 17 January 2024
56
+
57
+ - fix: :bug: fix Vimpel TLEs [`6092a4b`](https://github.com/thkruz/ootk/commit/6092a4b411c1092ee75ed6c34eee499cfa3cefef)
58
+ - fix: :bug: fix enum [`009342f`](https://github.com/thkruz/ootk/commit/009342f15e9f03de98e477c3c7ce1ef7534caa2d)
59
+
60
+ #### [v4.0.0-2](https://github.com/thkruz/ootk/compare/v4.0.0-1...v4.0.0-2)
61
+
62
+ > 17 January 2024
63
+
64
+ - refactor: :recycle: move derivative from ootk-core [`9a9b50d`](https://github.com/thkruz/ootk/commit/9a9b50d4402b24398d920ae4ef0a76a7d19edabf)
65
+ - build: :arrow_up: bump ootk-core [`efc4aa0`](https://github.com/thkruz/ootk/commit/efc4aa0caf7182afd9fbba7e29a50a8defd16ebe)
66
+ - test: :white_check_mark: update snapshots [`ca95ad6`](https://github.com/thkruz/ootk/commit/ca95ad65be2de3f818390585a7bc1749ca7bf918)
67
+
68
+ #### [v4.0.0-1](https://github.com/thkruz/ootk/compare/v4.0.0-0...v4.0.0-1)
69
+
70
+ > 17 January 2024
7
71
 
8
72
  - feat: :sparkles: integrate ootk-core v1.0.7 [`101eeb6`](https://github.com/thkruz/ootk/commit/101eeb6a21008ce198832818154fa0442691e4ad)
9
73
  - refactor: :recycle: refactor to match latest ootk-core [`ae37922`](https://github.com/thkruz/ootk/commit/ae3792283571c69ff0d6406188d0c7219215c56f)
@@ -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"}
@@ -16,10 +16,36 @@
16
16
  */
17
17
  import { J2000, Vector3D } from 'ootk-core';
18
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
+ */
19
40
  export declare class EarthGravity implements Force {
20
41
  degree: number;
21
42
  order: number;
22
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
+ */
23
49
  constructor(degree: number, order: number);
24
50
  _spherical(state: J2000): Vector3D;
25
51
  _aspherical(state: J2000): Vector3D;
@@ -15,11 +15,36 @@
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
  import { DataHandler, Earth, ITRF, Vector3D } from 'ootk-core';
18
- // / 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
+ */
19
39
  export class EarthGravity {
20
40
  degree;
21
41
  order;
22
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
+ */
23
48
  constructor(degree, order) {
24
49
  this.degree = Math.min(Math.max(degree, 0), 36);
25
50
  this.order = Math.min(Math.max(order, 0), 36);
@@ -1 +1 @@
1
- {"version":3,"file":"EarthGravity.js","sourceRoot":"","sources":["../../src/force/EarthGravity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EarthGravity.js","sourceRoot":"","sources":["../../src/force/EarthGravity.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,14 @@ export declare class ForceModel {
29
29
  sun?: boolean | undefined;
30
30
  }): void;
31
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
+ */
32
40
  setAtmosphericDrag(mass: number, area: number, coeff?: number, cosine?: number): void;
33
41
  loadManeuver(maneuver: Thrust): void;
34
42
  clearManeuver(): void;
@@ -40,6 +40,14 @@ export class ForceModel {
40
40
  setSolarRadiationPressure(mass, area, coeff = 1.2) {
41
41
  this._solarRadiationPressure = new SolarRadiationPressure(mass, area, coeff);
42
42
  }
43
+ /**
44
+ * Sets the atmospheric drag for the force model.
45
+ * @deprecated This is still a work in progress!
46
+ * @param mass - The mass of the object.
47
+ * @param area - The cross-sectional area of the object.
48
+ * @param coeff - The drag coefficient. Default value is 2.2.
49
+ * @param cosine - The cosine of the angle between the object's velocity vector and the drag force vector.
50
+ */
43
51
  setAtmosphericDrag(mass, area, coeff = 2.2, cosine = 4) {
44
52
  this._atmosphericDrag = new AtmosphericDrag(mass, area, coeff, cosine);
45
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ForceModel.js","sourceRoot":"","sources":["../../src/force/ForceModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAiB,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,4CAA4C;AAE5C,MAAM,OAAO,UAAU;IACb,eAAe,CAAS;IACxB,iBAAiB,CAAS;IAC1B,uBAAuB,CAAS;IAChC,gBAAgB,CAAS;IACzB,eAAe,GAAiB,IAAI,CAAC;IAE7C,UAAU,CAAC,KAAa,KAAK,CAAC,EAAE;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,KAAa;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,mBAAmB,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE;QAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,IAAY,EAAE,KAAK,GAAG,GAAG;QAC/D,IAAI,CAAC,uBAAuB,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,IAAY,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAY;QACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE7B,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SACvE;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/D;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"ForceModel.js","sourceRoot":"","sources":["../../src/force/ForceModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { ForceModel } from './ForceModel';
@@ -0,0 +1,2 @@
1
+ export { ForceModel } from './ForceModel';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/force/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -20,9 +20,13 @@
20
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  * SOFTWARE.
22
22
  */
23
- import { Degrees, SensorParams } from 'ootk-core';
24
- export interface RfSensorParams extends SensorParams {
25
- coneHalfAngle: Degrees;
23
+ import { Degrees } from 'ootk-core';
24
+ import { DetailedSensorParams } from '../types/types';
25
+ export interface RfSensorParams extends DetailedSensorParams {
26
26
  boresightAz: Degrees;
27
27
  boresightEl: Degrees;
28
+ /** For radars, this is the width of the beam */
29
+ beamwidth: Degrees;
30
+ /** For radar sensors, what frequency does this sensor operate in? */
31
+ freqBand?: string;
28
32
  }
package/dist/main.d.ts CHANGED
@@ -20,10 +20,13 @@
20
20
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
22
  export * from 'ootk-core';
23
+ export * from './enums';
24
+ export * from './types/types';
25
+ export * from './interfaces';
23
26
  export * from './coordinate';
24
27
  export * from './objects';
25
28
  export * from './operations';
29
+ export * from './force';
30
+ export * from './propagator';
26
31
  export * from './transforms';
27
- export * from './interfaces';
28
- export * from './types/types';
29
32
  export * from './utils';
package/dist/main.js CHANGED
@@ -20,13 +20,14 @@
20
20
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
22
  export * from 'ootk-core';
23
+ export * from './enums';
24
+ export * from './types/types';
25
+ export * from './interfaces';
23
26
  export * from './coordinate';
24
27
  export * from './objects';
25
28
  export * from './operations';
29
+ export * from './force';
30
+ export * from './propagator';
26
31
  export * from './transforms';
27
- export * from './interfaces';
28
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
29
- // @ts-ignore
30
- export * from './types/types';
31
32
  export * from './utils';
32
33
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,6DAA6D;AAC7D,aAAa;AACb,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -44,11 +44,12 @@ export declare class DetailedSatellite extends Satellite {
44
44
  span: string;
45
45
  user: string;
46
46
  source: string;
47
- vmag: number;
48
- rcs: number;
47
+ vmag: number | null;
48
+ rcs: number | null;
49
49
  altId: string;
50
50
  altName: string;
51
51
  constructor(info: DetailedSatelliteParams & LaunchDetails & OperationsDetails & SpaceCraftDetails, options?: OptionsParams);
52
+ private static setSccNumTo0_;
52
53
  private initSpaceCraftDetails_;
53
54
  private initOperationDetails_;
54
55
  private initLaunchDetails_;
@@ -67,4 +68,5 @@ export declare class DetailedSatellite extends Satellite {
67
68
  * @returns The space craft details.
68
69
  */
69
70
  getSpaceCraftDetails(): SpaceCraftDetails;
71
+ clone(): DetailedSatellite;
70
72
  }
@@ -14,7 +14,8 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Satellite, } from 'ootk-core';
17
+ import { FormatTle, Satellite, } from 'ootk-core';
18
+ import { CatalogSource } from '../main';
18
19
  /**
19
20
  * Represents a detailed satellite object with launch, spacecraft, and operations details.
20
21
  */
@@ -48,19 +49,35 @@ export class DetailedSatellite extends Satellite {
48
49
  altId = '';
49
50
  altName = '';
50
51
  constructor(info, options) {
52
+ if (info.source === CatalogSource.VIMPEL) {
53
+ info = DetailedSatellite.setSccNumTo0_(info);
54
+ }
51
55
  super(info, options);
52
56
  this.active ??= true;
53
57
  this.initSpaceCraftDetails_(info);
54
58
  this.length = info.length ?? '';
55
59
  this.diameter = info.diameter ?? '';
56
60
  this.source = info.source ?? '';
57
- this.vmag = info.vmag ?? 0;
58
- this.rcs = info.rcs ?? 0;
61
+ this.vmag = info.vmag ?? null;
62
+ this.rcs = info.rcs ?? null;
59
63
  this.altId = info.altId ?? '';
60
64
  this.altName = info.altName ?? '';
61
65
  this.initOperationDetails_(info);
62
66
  this.initLaunchDetails_(info);
63
67
  }
68
+ static setSccNumTo0_(info) {
69
+ info.tle1 = FormatTle.setCharAt(info.tle1, 2, '0');
70
+ info.tle1 = FormatTle.setCharAt(info.tle1, 3, '0');
71
+ info.tle1 = FormatTle.setCharAt(info.tle1, 4, '0');
72
+ info.tle1 = FormatTle.setCharAt(info.tle1, 5, '0');
73
+ info.tle1 = FormatTle.setCharAt(info.tle1, 6, '0');
74
+ info.tle2 = FormatTle.setCharAt(info.tle2, 2, '0');
75
+ info.tle2 = FormatTle.setCharAt(info.tle2, 3, '0');
76
+ info.tle2 = FormatTle.setCharAt(info.tle2, 4, '0');
77
+ info.tle2 = FormatTle.setCharAt(info.tle2, 5, '0');
78
+ info.tle2 = FormatTle.setCharAt(info.tle2, 6, '0');
79
+ return info;
80
+ }
64
81
  initSpaceCraftDetails_(info) {
65
82
  this.lifetime = info.lifetime ?? '';
66
83
  this.maneuver = info.maneuver ?? '';
@@ -132,5 +149,8 @@ export class DetailedSatellite extends Satellite {
132
149
  dryMass: this.dryMass,
133
150
  };
134
151
  }
152
+ clone() {
153
+ return new DetailedSatellite(this);
154
+ }
135
155
  }
136
156
  //# sourceMappingURL=DetailedSatellite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailedSatellite.js","sourceRoot":"","sources":["../../src/objects/DetailedSatellite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DetailedSatellite.js","sourceRoot":"","sources":["../../src/objects/DetailedSatellite.ts"],"names":[],"mappings":"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"}
@@ -14,29 +14,24 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { BaseObjectParams, Degrees, Milliseconds, Radians, Sensor, SensorParams } from 'ootk-core';
17
+ import { Milliseconds, Sensor } from 'ootk-core';
18
18
  import { DetailedSensorParams, ZoomValue } from '../types/types';
19
+ import { CommLink } from '../enums/CommLink';
19
20
  export declare class DetailedSensor extends Sensor {
20
- country?: string;
21
- latRad: Radians;
22
- lonRad: Radians;
23
- shortName?: string;
24
- beamwidth?: Degrees;
25
- changeObjectInterval?: Milliseconds;
26
- linkAehf?: boolean;
27
- linkGalileo?: boolean;
28
- linkIridium?: boolean;
29
- linkStarlink?: boolean;
30
- linkWgs?: boolean;
31
- static?: boolean;
32
21
  sensorId?: number;
33
- url?: string;
34
- volume?: boolean;
35
- zoom: ZoomValue;
36
- band?: string;
37
22
  objName?: string;
23
+ shortName?: string;
38
24
  uiName?: string;
25
+ country?: string;
26
+ dwellTime?: Milliseconds;
27
+ commLinks: CommLink[];
28
+ /** Is this sensor volumetric? */
29
+ isVolumetric?: boolean;
30
+ /** The ideal zoom to see the sensor's full FOV */
31
+ zoom: ZoomValue | number;
39
32
  system?: string;
40
33
  operator?: string;
41
- constructor(info: DetailedSensorParams & SensorParams & BaseObjectParams);
34
+ url?: string;
35
+ constructor(info: DetailedSensorParams);
36
+ isStatic(): boolean;
42
37
  }
@@ -16,50 +16,37 @@
16
16
  */
17
17
  import { Sensor } from 'ootk-core';
18
18
  export class DetailedSensor extends Sensor {
19
- country;
20
- latRad;
21
- lonRad;
22
- shortName;
23
- beamwidth;
24
- changeObjectInterval;
25
- linkAehf;
26
- linkGalileo;
27
- linkIridium;
28
- linkStarlink;
29
- linkWgs;
30
- static;
31
19
  sensorId;
32
- url;
33
- volume;
34
- zoom;
35
- band;
36
20
  objName;
21
+ shortName;
37
22
  uiName;
23
+ country;
24
+ dwellTime;
25
+ commLinks;
26
+ /** Is this sensor volumetric? */
27
+ isVolumetric;
28
+ /** The ideal zoom to see the sensor's full FOV */
29
+ zoom;
38
30
  system;
39
31
  operator;
32
+ url;
40
33
  constructor(info) {
41
34
  super(info);
35
+ this.commLinks = info.commLinks ?? [];
42
36
  this.country = info.country;
43
- this.latRad = (info.lat * (Math.PI / 180));
44
- this.lonRad = (info.lon * (Math.PI / 180));
45
- this.shortName = info.shortName;
46
- this.beamwidth = info.beamwidth;
47
- this.changeObjectInterval = info.changeObjectInterval;
48
- this.linkAehf = info.linkAehf;
49
- this.linkGalileo = info.linkGalileo;
50
- this.linkIridium = info.linkIridium;
51
- this.linkStarlink = info.linkStarlink;
52
- this.linkWgs = info.linkWgs;
53
- this.static = info.static;
37
+ this.dwellTime = info.changeObjectInterval;
38
+ this.isVolumetric = info.volume;
39
+ this.objName = info.objName;
40
+ this.operator = info.operator;
54
41
  this.sensorId = info.sensorId;
42
+ this.shortName = info.shortName;
43
+ this.system = info.system;
44
+ this.uiName = info.uiName;
55
45
  this.url = info.url;
56
- this.volume = info.volume;
57
46
  this.zoom = info.zoom;
58
- this.band = info.band;
59
- this.objName = info.objName;
60
- this.uiName = info.uiName;
61
- this.system = info.system;
62
- this.operator = info.operator;
47
+ }
48
+ isStatic() {
49
+ return true;
63
50
  }
64
51
  }
65
52
  //# sourceMappingURL=DetailedSensor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailedSensor.js","sourceRoot":"","sources":["../../src/objects/DetailedSensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAoD,MAAM,EAAgB,MAAM,WAAW,CAAC;AAGnG,MAAM,OAAO,cAAe,SAAQ,MAAM;IACxC,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,MAAM,CAAU;IAChB,SAAS,CAAU;IACnB,SAAS,CAAW;IACpB,oBAAoB,CAAgB;IACpC,QAAQ,CAAW;IACnB,WAAW,CAAW;IACtB,WAAW,CAAW;IACtB,YAAY,CAAW;IACvB,OAAO,CAAW;IAClB,MAAM,CAAW;IACjB,QAAQ,CAAU;IAClB,GAAG,CAAU;IACb,MAAM,CAAW;IACjB,IAAI,CAAY;IAChB,IAAI,CAAU;IACd,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,MAAM,CAAU;IAChB,QAAQ,CAAU;IAElB,YAAY,IAA4D;QACtE,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAY,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAY,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"DetailedSensor.js","sourceRoot":"","sources":["../../src/objects/DetailedSensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,OAAO,cAAe,SAAQ,MAAM;IACxC,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,SAAS,CAAgB;IACzB,SAAS,CAAa;IACtB,iCAAiC;IACjC,YAAY,CAAW;IACvB,kDAAkD;IAClD,IAAI,CAAqB;IACzB,MAAM,CAAU;IAChB,QAAQ,CAAU;IAClB,GAAG,CAAU;IAEb,YAAY,IAA0B;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -20,12 +20,14 @@
20
20
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  * SOFTWARE.
22
22
  */
23
- import { Degrees, Radians, Sensor } from 'ootk-core';
23
+ import { Degrees, Radians } from 'ootk-core';
24
24
  import { RfSensorParams } from '../main';
25
- export declare class RfSensor extends Sensor {
26
- coneHalfAngle: Degrees;
25
+ import { DetailedSensor } from './DetailedSensor';
26
+ export declare class RfSensor extends DetailedSensor {
27
27
  boresightAz: Degrees;
28
28
  boresightEl: Degrees;
29
+ freqBand?: string;
30
+ beamwidth: Degrees;
29
31
  constructor(info: RfSensorParams);
30
32
  uvFromAzEl(az: Degrees, el: Degrees): {
31
33
  u: number;
@@ -37,5 +39,5 @@ export declare class RfSensor extends Sensor {
37
39
  };
38
40
  get boresightAzRad(): Radians;
39
41
  get boresightElRad(): Radians;
40
- get coneHalfAngleRad(): Radians;
42
+ get beamwidthRad(): Radians;
41
43
  }