ootk 1.0.8 → 1.5.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 (92) hide show
  1. package/{asc → .asc}/asconfig.json +0 -0
  2. package/{asc → .asc}/assembly/index.ts +0 -0
  3. package/{asc → .asc}/ex/asconfig.json +0 -0
  4. package/{asc → .asc}/ex/assembly/index.ts +0 -0
  5. package/{asc → .asc}/ex/index.html +0 -0
  6. package/{asc → .asc}/ex/package.json +0 -0
  7. package/{asc → .asc}/ex/tests/index.js +0 -0
  8. package/{asc → .asc}/package.json +0 -0
  9. package/{asc → .asc}/tests/index.js +0 -0
  10. package/.eslintrc.json +244 -0
  11. package/CHANGELOG.md +21 -1
  12. package/LICENSE.MD +299 -21
  13. package/README.md +17 -22
  14. package/dist/objects/base-object.d.ts +40 -0
  15. package/dist/objects/detailed-sat.d.ts +66 -0
  16. package/dist/objects/index.d.ts +4 -0
  17. package/dist/objects/sat.d.ts +88 -0
  18. package/dist/objects/sensor.d.ts +40 -0
  19. package/dist/objects/space-object.d.ts +38 -0
  20. package/dist/objects/star.d.ts +46 -0
  21. package/dist/ootk.d.ts +16 -21
  22. package/dist/ootk.js +2 -1
  23. package/dist/ootk.js.LICENSE.txt +77 -0
  24. package/dist/{sgp4.d.ts → sgp4/sgp4.d.ts} +14 -21
  25. package/dist/tle/tle-format-data.d.ts +6 -0
  26. package/dist/tle/tle.d.ts +374 -0
  27. package/{lib → dist/transforms}/transforms.d.ts +14 -17
  28. package/dist/{types.d.ts → types/types.d.ts} +111 -3
  29. package/dist/utils/constants.d.ts +34 -0
  30. package/dist/utils/moon-math.d.ts +104 -0
  31. package/dist/utils/sun-math.d.ts +230 -0
  32. package/dist/utils/utils.d.ts +36 -0
  33. package/lib/objects/base-object.d.ts +40 -0
  34. package/lib/objects/base-object.js +109 -0
  35. package/lib/objects/base-object.js.map +1 -0
  36. package/lib/objects/detailed-sat.d.ts +66 -0
  37. package/lib/objects/detailed-sat.js +149 -0
  38. package/lib/objects/detailed-sat.js.map +1 -0
  39. package/lib/objects/index.d.ts +4 -0
  40. package/lib/objects/index.js +5 -0
  41. package/lib/objects/index.js.map +1 -0
  42. package/lib/objects/sat.d.ts +88 -0
  43. package/lib/objects/sat.js +141 -0
  44. package/lib/objects/sat.js.map +1 -0
  45. package/lib/objects/sensor.d.ts +40 -0
  46. package/lib/objects/sensor.js +88 -0
  47. package/lib/objects/sensor.js.map +1 -0
  48. package/lib/objects/space-object.d.ts +38 -0
  49. package/lib/objects/space-object.js +60 -0
  50. package/lib/objects/space-object.js.map +1 -0
  51. package/lib/objects/star.d.ts +46 -0
  52. package/lib/objects/star.js +91 -0
  53. package/lib/objects/star.js.map +1 -0
  54. package/lib/ootk.d.ts +16 -21
  55. package/lib/ootk.js +16 -21
  56. package/lib/ootk.js.map +1 -1
  57. package/lib/{sgp4.d.ts → sgp4/sgp4.d.ts} +14 -21
  58. package/lib/{sgp4.js → sgp4/sgp4.js} +1064 -898
  59. package/lib/sgp4/sgp4.js.map +1 -0
  60. package/lib/tle/tle-format-data.d.ts +6 -0
  61. package/lib/tle/tle-format-data.js +10 -0
  62. package/lib/tle/tle-format-data.js.map +1 -0
  63. package/lib/tle/tle.d.ts +374 -0
  64. package/lib/tle/tle.js +611 -0
  65. package/lib/tle/tle.js.map +1 -0
  66. package/{dist → lib/transforms}/transforms.d.ts +14 -17
  67. package/lib/{transforms.js → transforms/transforms.js} +44 -40
  68. package/lib/transforms/transforms.js.map +1 -0
  69. package/lib/{types.d.ts → types/types.d.ts} +111 -3
  70. package/lib/types/types.js +34 -0
  71. package/lib/types/types.js.map +1 -0
  72. package/lib/utils/constants.d.ts +19 -15
  73. package/lib/utils/constants.js +20 -16
  74. package/lib/utils/constants.js.map +1 -1
  75. package/lib/utils/moon-math.d.ts +104 -0
  76. package/lib/utils/moon-math.js +387 -0
  77. package/lib/utils/moon-math.js.map +1 -0
  78. package/lib/utils/sun-math.d.ts +230 -0
  79. package/lib/utils/sun-math.js +421 -0
  80. package/lib/utils/sun-math.js.map +1 -0
  81. package/lib/utils/utils.d.ts +36 -0
  82. package/lib/utils/utils.js +81 -0
  83. package/lib/utils/utils.js.map +1 -0
  84. package/package.json +4 -3
  85. package/dist/utils.d.ts +0 -34
  86. package/lib/sgp4.js.map +0 -1
  87. package/lib/transforms.js.map +0 -1
  88. package/lib/types.js +0 -2
  89. package/lib/types.js.map +0 -1
  90. package/lib/utils.d.ts +0 -34
  91. package/lib/utils.js +0 -62
  92. package/lib/utils.js.map +0 -1
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # ootk
2
- [![build](https://img.shields.io/github/workflow/status/thkruz/ootk/CI?style=flat-square)](https://github.com/thkruz/ootk/actions?query=workflow%3ACI) ![Size](https://img.shields.io/github/languages/code-size/thkruz/ootk?style=flat-square) [![Release](https://img.shields.io/github/v/release/thkruz/ootk?style=flat-square)](https://www.npmjs.com/package/ootk) [![Issues](https://img.shields.io/github/issues/thkruz/ootk?style=flat-square)](https://github.com/thkruz/ootk/issues) [![Coverage](https://img.shields.io/codecov/c/github/thkruz/ootk?style=flat-square)](https://codecov.io/gh/thkruz/ootk) [![License](https://img.shields.io/github/license/thkruz/ootk?style=flat-square)](LICENSE.MD)
2
+
3
+ [![build](https://img.shields.io/github/workflow/status/thkruz/ootk/CI?style=flat-square)](https://github.com/thkruz/ootk/actions?query=workflow%3ACI) ![Size](https://img.shields.io/github/languages/code-size/thkruz/ootk?style=flat-square) [![Release](https://img.shields.io/github/v/release/thkruz/ootk?style=flat-square)](https://www.npmjs.com/package/ootk) [![Issues](https://img.shields.io/github/issues/thkruz/ootk?style=flat-square)](https://github.com/thkruz/ootk/issues) [![Coverage](https://img.shields.io/codecov/c/github/thkruz/ootk?style=flat-square)](https://codecov.io/gh/thkruz/ootk) [![License](https://img.shields.io/github/license/thkruz/ootk?style=flat-square)](LICENSE.MD)
3
4
 
4
5
  > An Orbital Object Tookit in Your Web Browser
5
6
 
6
7
  **ootk** is a modular collection of small libraries for doing math related to orbital objects written in TypeScript. ootk was developed to simplify the math and let you focus on using the results.
7
8
 
8
9
  ## :blue_book: Table of Contents
10
+
9
11
  - [Installation](#Installation)
10
12
  - [Usage](#Usage)
11
13
  - [Contributing](#Contributing)
@@ -26,7 +28,7 @@ npm i ootk
26
28
  ### Common.js ([Node.js](https://nodejs.org))
27
29
 
28
30
  ```js
29
- let Ootk = require('dist/ootk.js');
31
+ let Ootk = require('ootk.js');
30
32
  ...
31
33
  const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
32
34
  ```
@@ -34,17 +36,17 @@ const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
34
36
  ### ES ([Babel.js](https://babeljs.io/))
35
37
 
36
38
  ```js
37
- import * as Ootk from 'lib/ootk.es.js';
39
+ import * as Ootk from 'ootk.es.js';
38
40
  ...
39
41
  const satrec = Ootk.Sgp4.createSatrec(line1, line2, 'wgs72', 'i');
40
42
  ```
41
43
 
42
44
  ### Script tag
43
45
 
44
- Include `dist/ootk.min.js` as a script in your html:
46
+ Include `dist/ootk.js` as a script in your html:
45
47
 
46
48
  ```html
47
- <script src="path/to/dist/ootk.min.js"></script>
49
+ <script src="path/to/dist/ootk.js"></script>
48
50
  ```
49
51
 
50
52
  `Ootk` object will be available in global scope:
@@ -61,20 +63,19 @@ The source code is organized as Common.js modules and uses [ES6 syntax](http://e
61
63
 
62
64
  2. Install all required packages with NPM by running the following command from repository's root directory:
63
65
 
64
- ```bash
65
- npm install
66
- ```
66
+ ```bash
67
+ npm install
68
+ ```
67
69
 
68
70
  3. Run the following NPM script to build everything:
69
71
 
70
- ```bash
71
- npm run build:umd
72
- ```
72
+ ```bash
73
+ npm run build
74
+ ```
73
75
 
74
76
  ## :gem: NPM Scripts
75
77
 
76
- - `build` compiles TypeScript into ES6 Modules
77
- - `build:umd` compiles TypeScript into ES6 Modules and generates UMD files
78
+ - `build` compiles TypeScript into ES6 Modules and combines them into a single file in the `dist` directory.
78
79
  - `lint` lints source code located in `src` directory with [ESLint](http://eslint.org/)
79
80
  - `lint:fix` lints tests located in `src` directory with ESLint and attempts to auto-fix errors
80
81
  - `lint:test` lints tests located in `test` directory with ESLint
@@ -106,13 +107,6 @@ Check that your code follows the rules established in eslint.rc:
106
107
  npm run lint
107
108
  ```
108
109
 
109
- Use [commitzen](https://github.com/commitizen/cz-cli) to format your commit messages:
110
-
111
- ```bash
112
- git add .
113
- git cz
114
- ```
115
-
116
110
  ## :man_scientist: Contributors
117
111
 
118
112
  This whole project is an example of standing on the shoulder's of giants. None of it would have been possible without the previous work of the following:
@@ -121,8 +115,9 @@ This whole project is an example of standing on the shoulder's of giants. None o
121
115
  - [davidcalhoun (David Calhoun)](https://github.com/davidcalhoun)
122
116
  - [shashwatak (Shashwat Kandadai)](https://github.com/shashwatak)
123
117
  - [brandon-rhodes (Brandon Rhodes)](https://github.com/brandon-rhodes)
124
-
118
+ - [mourner (Volodymyr Agafonkin)](https://github.com/mourner)
119
+ - [Hypnos (Robert Gester)](https://github.com/Hypnos3)
125
120
 
126
121
  ## :balance_scale: License
127
122
 
128
- In keeping with the tradition of [Shashwat Kandadai's satellite.js](https://github.com/shashwatak/satellite-js/) and [Brandon Rhodes' sgp4](https://pypi.python.org/pypi/sgp4/), I kept this licensed under the [MIT License](LICENSE.md).
123
+ Due to the expanding scope of this project, I have placed the code under the [AGPL License](LICENSE.md) in order to ensure that good ideas can be shared and that the code is open for everyone to use.
@@ -0,0 +1,40 @@
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-2022 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 {};
@@ -0,0 +1,66 @@
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-2022 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 } 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: string;
31
+ tle2: string;
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 {};
@@ -0,0 +1,4 @@
1
+ export { DetailedSat } from './detailed-sat';
2
+ export { Sat } from './sat';
3
+ export { Sensor } from './sensor';
4
+ export { Star } from './star';
@@ -0,0 +1,88 @@
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-2022 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 } 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: string;
32
+ tle2: string;
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
+ /**
81
+ * Calculates the time variables for a given date relative to the TLE epoch.
82
+ * @param {Date} date Date to calculate
83
+ * @param {SatelliteRecord} satrec Satellite orbital information
84
+ * @returns {{m: number, gmst: GreenwichMeanSiderealTime, j: number}} Time variables
85
+ */
86
+ private static calculateTimeVariables;
87
+ }
88
+ export {};
@@ -0,0 +1,40 @@
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-2022 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 { 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: number;
29
+ lon: number;
30
+ alt: number;
31
+ }
32
+ export declare class Sensor extends BaseObject {
33
+ lat: number;
34
+ lon: number;
35
+ alt: number;
36
+ constructor(info: ObjectInfo);
37
+ setTime(date: Date): Sensor;
38
+ getRae(sat: Sat, date?: Date): RaeVec3;
39
+ }
40
+ export {};
@@ -0,0 +1,38 @@
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 SpaceObject class is meant to provide properties to satellites/stars that
7
+ * do not apply to ground based objects.
8
+ *
9
+ * @license AGPL-3.0-or-later
10
+ * @Copyright (c) 2020-2022 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 { BaseObject } from './base-object';
24
+ import { SpaceObjectType } from '../types/types';
25
+ interface ObjectInfo {
26
+ name?: string;
27
+ type?: SpaceObjectType;
28
+ rcs?: number;
29
+ vmag?: number;
30
+ }
31
+ export declare class SpaceObject extends BaseObject {
32
+ rcs: number;
33
+ vmag: number;
34
+ constructor(info: ObjectInfo);
35
+ getRcs(): number;
36
+ getVmag(): number;
37
+ }
38
+ export {};
@@ -0,0 +1,46 @@
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-2022 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, RaeVec3, SpaceObjectType } from '../types/types';
24
+ import { SpaceObject } from './space-object';
25
+ interface ObjectInfo {
26
+ name?: string;
27
+ type?: SpaceObjectType;
28
+ vmag?: number;
29
+ ra: number;
30
+ dec: number;
31
+ pname?: string;
32
+ bf?: string;
33
+ h?: string;
34
+ }
35
+ export declare class Star extends SpaceObject {
36
+ pname: string;
37
+ bf: string;
38
+ h: string;
39
+ dec: number;
40
+ ra: number;
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 {};
package/dist/ootk.d.ts CHANGED
@@ -3,28 +3,23 @@
3
3
  * @description Orbital Object ToolKit (OOTK) is a collection of tools for working
4
4
  * with satellites and other orbital objects.
5
5
  *
6
- * @copyright MIT License.
7
- * Copyright (c) 2020-2021 Theodore Kruczek
6
+ * @license AGPL-3.0-or-later
7
+ * @Copyright (c) 2020-2022 Theodore Kruczek
8
8
  *
9
- * Permission is hereby granted, free of charge, to any person obtaining a copy
10
- * of this software and associated documentation files (the "Software"), to deal
11
- * in the Software without restriction, including without limitation the rights
12
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- * copies of the Software, and to permit persons to whom the Software is
14
- * furnished to do so, subject to the following conditions:
9
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU Affero General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
12
  *
16
- * The above copyright notice and this permission notice shall be included in all
17
- * copies or substantial portions of the Software.
13
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
14
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
+ * See the GNU Affero General Public License for more details.
18
16
  *
19
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
- * SOFTWARE.
17
+ * You should have received a copy of the GNU Affero General Public License along with
18
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
26
19
  */
27
- export { Sgp4 } from './sgp4';
28
- export { Transforms } from './transforms';
29
- export { Utils } from './utils';
30
- export * from './types';
20
+ export { Sgp4 } from './sgp4/sgp4';
21
+ export { Transforms } from './transforms/transforms';
22
+ export { Utils } from './utils/utils';
23
+ export { Tle } from './tle/tle';
24
+ export * from './objects/index';
25
+ export * from './types/types';