open-space-toolkit-astrodynamics 17.2.0__py312-none-manylinux2014_x86_64.whl

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 (151) hide show
  1. open_space_toolkit_astrodynamics-17.2.0.dist-info/METADATA +30 -0
  2. open_space_toolkit_astrodynamics-17.2.0.dist-info/RECORD +151 -0
  3. open_space_toolkit_astrodynamics-17.2.0.dist-info/WHEEL +5 -0
  4. open_space_toolkit_astrodynamics-17.2.0.dist-info/top_level.txt +1 -0
  5. open_space_toolkit_astrodynamics-17.2.0.dist-info/zip-safe +1 -0
  6. ostk/__init__.py +1 -0
  7. ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-312-x86_64-linux-gnu.so +0 -0
  8. ostk/astrodynamics/__init__.py +11 -0
  9. ostk/astrodynamics/__init__.pyi +720 -0
  10. ostk/astrodynamics/access.pyi +577 -0
  11. ostk/astrodynamics/conjunction/__init__.pyi +121 -0
  12. ostk/astrodynamics/conjunction/close_approach.pyi +89 -0
  13. ostk/astrodynamics/conjunction/message/__init__.pyi +3 -0
  14. ostk/astrodynamics/conjunction/message/ccsds.pyi +705 -0
  15. ostk/astrodynamics/converters.py +130 -0
  16. ostk/astrodynamics/converters.pyi +58 -0
  17. ostk/astrodynamics/data/__init__.pyi +3 -0
  18. ostk/astrodynamics/data/provider.pyi +22 -0
  19. ostk/astrodynamics/dataframe.py +597 -0
  20. ostk/astrodynamics/display.py +281 -0
  21. ostk/astrodynamics/dynamics.pyi +311 -0
  22. ostk/astrodynamics/eclipse.pyi +70 -0
  23. ostk/astrodynamics/estimator.pyi +268 -0
  24. ostk/astrodynamics/event_condition.pyi +910 -0
  25. ostk/astrodynamics/flight/__init__.pyi +626 -0
  26. ostk/astrodynamics/flight/profile/__init__.pyi +99 -0
  27. ostk/astrodynamics/flight/profile/model.pyi +179 -0
  28. ostk/astrodynamics/flight/system.pyi +268 -0
  29. ostk/astrodynamics/guidance_law.pyi +416 -0
  30. ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.17 +0 -0
  31. ostk/astrodynamics/pytrajectory/__init__.py +1 -0
  32. ostk/astrodynamics/pytrajectory/__init__.pyi +3 -0
  33. ostk/astrodynamics/pytrajectory/pystate.py +263 -0
  34. ostk/astrodynamics/pytrajectory/pystate.pyi +66 -0
  35. ostk/astrodynamics/solver.pyi +432 -0
  36. ostk/astrodynamics/test/__init__.py +1 -0
  37. ostk/astrodynamics/test/access/__init__.py +1 -0
  38. ostk/astrodynamics/test/access/test_generator.py +319 -0
  39. ostk/astrodynamics/test/access/test_visibility_criterion.py +201 -0
  40. ostk/astrodynamics/test/conftest.py +119 -0
  41. ostk/astrodynamics/test/conjunction/close_approach/__init__.py +0 -0
  42. ostk/astrodynamics/test/conjunction/close_approach/test_generator.py +228 -0
  43. ostk/astrodynamics/test/conjunction/message/ccsds/__init__.py +1 -0
  44. ostk/astrodynamics/test/conjunction/message/ccsds/conftest.py +325 -0
  45. ostk/astrodynamics/test/conjunction/message/ccsds/data/cdm.json +303 -0
  46. ostk/astrodynamics/test/conjunction/message/ccsds/test_cdm.py +416 -0
  47. ostk/astrodynamics/test/conjunction/test_close_approach.py +244 -0
  48. ostk/astrodynamics/test/data/provider/test_off_nadir.py +58 -0
  49. ostk/astrodynamics/test/dynamics/__init__.py +1 -0
  50. ostk/astrodynamics/test/dynamics/data/Tabulated_Earth_Gravity.csv +565 -0
  51. ostk/astrodynamics/test/dynamics/data/Tabulated_Earth_Gravity_Truth.csv +100 -0
  52. ostk/astrodynamics/test/dynamics/test_atmospheric_drag.py +128 -0
  53. ostk/astrodynamics/test/dynamics/test_central_body_gravity.py +58 -0
  54. ostk/astrodynamics/test/dynamics/test_dynamics.py +50 -0
  55. ostk/astrodynamics/test/dynamics/test_position_derivative.py +51 -0
  56. ostk/astrodynamics/test/dynamics/test_tabulated.py +138 -0
  57. ostk/astrodynamics/test/dynamics/test_third_body_gravity.py +67 -0
  58. ostk/astrodynamics/test/dynamics/test_thruster.py +157 -0
  59. ostk/astrodynamics/test/eclipse/__init__.py +1 -0
  60. ostk/astrodynamics/test/eclipse/test_generator.py +138 -0
  61. ostk/astrodynamics/test/estimator/test_orbit_determination_solver.py +261 -0
  62. ostk/astrodynamics/test/estimator/test_tle_solver.py +216 -0
  63. ostk/astrodynamics/test/event_condition/test_angular_condition.py +113 -0
  64. ostk/astrodynamics/test/event_condition/test_boolean_condition.py +55 -0
  65. ostk/astrodynamics/test/event_condition/test_brouwer_lyddane_mean_long_condition.py +135 -0
  66. ostk/astrodynamics/test/event_condition/test_coe_condition.py +135 -0
  67. ostk/astrodynamics/test/event_condition/test_instant_condition.py +48 -0
  68. ostk/astrodynamics/test/event_condition/test_logical_condition.py +120 -0
  69. ostk/astrodynamics/test/event_condition/test_real_condition.py +50 -0
  70. ostk/astrodynamics/test/flight/__init__.py +1 -0
  71. ostk/astrodynamics/test/flight/profile/model/test_tabulated_profile.py +115 -0
  72. ostk/astrodynamics/test/flight/system/__init__.py +1 -0
  73. ostk/astrodynamics/test/flight/system/test_propulsion_system.py +64 -0
  74. ostk/astrodynamics/test/flight/system/test_satellite_system.py +83 -0
  75. ostk/astrodynamics/test/flight/system/test_satellite_system_builder.py +71 -0
  76. ostk/astrodynamics/test/flight/test_maneuver.py +231 -0
  77. ostk/astrodynamics/test/flight/test_profile.py +293 -0
  78. ostk/astrodynamics/test/flight/test_system.py +45 -0
  79. ostk/astrodynamics/test/guidance_law/test_constant_thrust.py +177 -0
  80. ostk/astrodynamics/test/guidance_law/test_guidance_law.py +60 -0
  81. ostk/astrodynamics/test/guidance_law/test_heterogeneous_guidance_law.py +164 -0
  82. ostk/astrodynamics/test/guidance_law/test_qlaw.py +209 -0
  83. ostk/astrodynamics/test/solvers/__init__.py +1 -0
  84. ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +196 -0
  85. ostk/astrodynamics/test/solvers/test_least_squares_solver.py +334 -0
  86. ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +161 -0
  87. ostk/astrodynamics/test/test_access.py +128 -0
  88. ostk/astrodynamics/test/test_converters.py +290 -0
  89. ostk/astrodynamics/test/test_dataframe.py +1355 -0
  90. ostk/astrodynamics/test/test_display.py +184 -0
  91. ostk/astrodynamics/test/test_event_condition.py +80 -0
  92. ostk/astrodynamics/test/test_import.py +26 -0
  93. ostk/astrodynamics/test/test_root_solver.py +70 -0
  94. ostk/astrodynamics/test/test_trajectory.py +126 -0
  95. ostk/astrodynamics/test/test_utilities.py +338 -0
  96. ostk/astrodynamics/test/test_viewer.py +318 -0
  97. ostk/astrodynamics/test/trajectory/__init__.py +1 -0
  98. ostk/astrodynamics/test/trajectory/model/test_nadir_trajectory.py +87 -0
  99. ostk/astrodynamics/test/trajectory/model/test_tabulated_trajectory.py +303 -0
  100. ostk/astrodynamics/test/trajectory/model/test_target_scan_trajectory.py +126 -0
  101. ostk/astrodynamics/test/trajectory/orbit/__init__.py +1 -0
  102. ostk/astrodynamics/test/trajectory/orbit/message/__init__.py +1 -0
  103. ostk/astrodynamics/test/trajectory/orbit/message/spacex/__init__.py +1 -0
  104. ostk/astrodynamics/test/trajectory/orbit/message/spacex/conftest.py +18 -0
  105. ostk/astrodynamics/test/trajectory/orbit/message/spacex/data/opm_1.yaml +44 -0
  106. ostk/astrodynamics/test/trajectory/orbit/message/spacex/test_opm.py +108 -0
  107. ostk/astrodynamics/test/trajectory/orbit/models/__init__.py +1 -0
  108. ostk/astrodynamics/test/trajectory/orbit/models/kepler/__init__.py +1 -0
  109. ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean.py +65 -0
  110. ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_long.py +102 -0
  111. ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_brouwer_lyddane_mean_short.py +102 -0
  112. ostk/astrodynamics/test/trajectory/orbit/models/kepler/test_coe.py +305 -0
  113. ostk/astrodynamics/test/trajectory/orbit/models/sgp4/__init__.py +1 -0
  114. ostk/astrodynamics/test/trajectory/orbit/models/sgp4/test_tle.py +337 -0
  115. ostk/astrodynamics/test/trajectory/orbit/models/test_kepler.py +130 -0
  116. ostk/astrodynamics/test/trajectory/orbit/models/test_modified_equinoctial.py +142 -0
  117. ostk/astrodynamics/test/trajectory/orbit/models/test_propagated.py +234 -0
  118. ostk/astrodynamics/test/trajectory/orbit/models/test_sgp4.py +1 -0
  119. ostk/astrodynamics/test/trajectory/orbit/models/test_tabulated.py +380 -0
  120. ostk/astrodynamics/test/trajectory/orbit/test_model.py +1 -0
  121. ostk/astrodynamics/test/trajectory/orbit/test_pass.py +75 -0
  122. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_angular_velocity.py +30 -0
  123. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_attitude_quaternion.py +18 -0
  124. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py +136 -0
  125. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_position.py +107 -0
  126. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_velocity.py +115 -0
  127. ostk/astrodynamics/test/trajectory/state/test_coordinate_broker.py +84 -0
  128. ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +58 -0
  129. ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py +316 -0
  130. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_direction.py +81 -0
  131. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +119 -0
  132. ostk/astrodynamics/test/trajectory/test_model.py +1 -0
  133. ostk/astrodynamics/test/trajectory/test_orbit.py +212 -0
  134. ostk/astrodynamics/test/trajectory/test_propagator.py +452 -0
  135. ostk/astrodynamics/test/trajectory/test_segment.py +694 -0
  136. ostk/astrodynamics/test/trajectory/test_sequence.py +550 -0
  137. ostk/astrodynamics/test/trajectory/test_state.py +629 -0
  138. ostk/astrodynamics/test/trajectory/test_state_builder.py +172 -0
  139. ostk/astrodynamics/trajectory/__init__.pyi +1982 -0
  140. ostk/astrodynamics/trajectory/model.pyi +259 -0
  141. ostk/astrodynamics/trajectory/orbit/__init__.pyi +349 -0
  142. ostk/astrodynamics/trajectory/orbit/message/__init__.pyi +3 -0
  143. ostk/astrodynamics/trajectory/orbit/message/spacex.pyi +264 -0
  144. ostk/astrodynamics/trajectory/orbit/model/__init__.pyi +648 -0
  145. ostk/astrodynamics/trajectory/orbit/model/brouwerLyddaneMean.pyi +121 -0
  146. ostk/astrodynamics/trajectory/orbit/model/kepler.pyi +709 -0
  147. ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi +330 -0
  148. ostk/astrodynamics/trajectory/state/__init__.pyi +402 -0
  149. ostk/astrodynamics/trajectory/state/coordinate_subset.pyi +208 -0
  150. ostk/astrodynamics/utilities.py +396 -0
  151. ostk/astrodynamics/viewer.py +851 -0
@@ -0,0 +1,259 @@
1
+ from __future__ import annotations
2
+ import ostk.astrodynamics.trajectory
3
+ import ostk.mathematics.curve_fitting
4
+ import ostk.physics.coordinate.spherical
5
+ import ostk.physics.environment.object
6
+ import ostk.physics.time
7
+ import ostk.physics.unit
8
+ import typing
9
+ __all__ = ['Nadir', 'Tabulated', 'TargetScan']
10
+ class Nadir(ostk.astrodynamics.trajectory.Model):
11
+ """
12
+
13
+ Nadir trajectory model.
14
+
15
+ This model represents a trajectory that follows the nadir direction of an orbit.
16
+
17
+ """
18
+ __hash__: typing.ClassVar[None] = None
19
+ def __eq__(self, arg0: Nadir) -> bool:
20
+ ...
21
+ def __init__(self, orbit: ostk.astrodynamics.trajectory.Orbit, step_size: ostk.physics.time.Duration = ...) -> None:
22
+ """
23
+ Construct a `Nadir` object from an orbit.
24
+
25
+ Args:
26
+ orbit (Orbit): The orbit.
27
+ step_size (Duration): The step size for the trajectory. Defaults to 1e-2 seconds.
28
+
29
+ Returns:
30
+ Nadir: The `Nadir` object.
31
+ """
32
+ def __ne__(self, arg0: Nadir) -> bool:
33
+ ...
34
+ def __repr__(self) -> str:
35
+ ...
36
+ def __str__(self) -> str:
37
+ ...
38
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
39
+ """
40
+ Calculate the state at a given instant.
41
+
42
+ Args:
43
+ instant (Instant): The instant.
44
+
45
+ Returns:
46
+ State: The state at the given instant.
47
+ """
48
+ def get_orbit(self) -> ostk.astrodynamics.trajectory.Orbit:
49
+ """
50
+ Get the orbit of the nadir model.
51
+
52
+ Returns:
53
+ Orbit: The orbit of the nadir model.
54
+ """
55
+ def get_step_size(self) -> ostk.physics.time.Duration:
56
+ """
57
+ Get the step size of the nadir model.
58
+
59
+ Returns:
60
+ Duration: The step size of the nadir model.
61
+ """
62
+ def is_defined(self) -> bool:
63
+ """
64
+ Check if the model is defined.
65
+
66
+ Returns:
67
+ bool: True if the model is defined, False otherwise.
68
+ """
69
+ class Tabulated(ostk.astrodynamics.trajectory.Model):
70
+ """
71
+
72
+ A trajectory model defined by a set of states.
73
+
74
+
75
+ """
76
+ def __init__(self, states: list[ostk.astrodynamics.trajectory.State], interpolation_type: ostk.mathematics.curve_fitting.Interpolator.Type = ...) -> None:
77
+ """
78
+ Constructor.
79
+
80
+ Args:
81
+ states (Array[State]): The states of the model.
82
+ interpolation_type (Interpolator.Type): The type of interpolation to use. Defaults to Linear.
83
+ """
84
+ def __repr__(self) -> str:
85
+ """
86
+ Convert the model to a string.
87
+
88
+ Returns:
89
+ str: The string representation of the model.
90
+ """
91
+ def __str__(self) -> str:
92
+ """
93
+ Convert the model to a string.
94
+
95
+ Returns:
96
+ str: The string representation of the model.
97
+ """
98
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
99
+ """
100
+ Calculate the state of the model at a specific instant.
101
+
102
+ Args:
103
+ instant (Instant): The instant at which to calculate the state.
104
+
105
+ Returns:
106
+ State: The state of the model at the specified instant.
107
+ """
108
+ def calculate_states_at(self, instants: list[ostk.physics.time.Instant]) -> list[ostk.astrodynamics.trajectory.State]:
109
+ """
110
+ Calculate the states of the model at the specified instants.
111
+
112
+ Args:
113
+ instants (list[Instant]): The instants at which to calculate the states.
114
+
115
+ Returns:
116
+ list[State]: The states of the model at the specified instants.
117
+ """
118
+ def get_first_state(self) -> ostk.astrodynamics.trajectory.State:
119
+ """
120
+ Get the first state of the model.
121
+
122
+ Returns:
123
+ State: The first state of the model.
124
+ """
125
+ def get_interpolation_type(self) -> ostk.mathematics.curve_fitting.Interpolator.Type:
126
+ """
127
+ Get the interpolation type of the model.
128
+
129
+ Returns:
130
+ Interpolator.Type: The interpolation type of the model.
131
+ """
132
+ def get_interval(self) -> ostk.physics.time.Interval:
133
+ """
134
+ Get the interval of the model.
135
+
136
+ Returns:
137
+ Interval: The interval of the model.
138
+ """
139
+ def get_last_state(self) -> ostk.astrodynamics.trajectory.State:
140
+ """
141
+ Get the last state of the model.
142
+
143
+ Returns:
144
+ State: The last state of the model.
145
+ """
146
+ def is_defined(self) -> bool:
147
+ """
148
+ Check if the model is defined.
149
+
150
+ Returns:
151
+ bool: True if the model is defined, False otherwise.
152
+ """
153
+ class TargetScan(ostk.astrodynamics.trajectory.Model):
154
+ """
155
+
156
+ TargetScan trajectory model.
157
+
158
+ This model represents a trajectory that scans between two target locations on a celestial body.
159
+
160
+ """
161
+ __hash__: typing.ClassVar[None] = None
162
+ @staticmethod
163
+ def from_ground_speed(start_lla: ostk.physics.coordinate.spherical.LLA, end_lla: ostk.physics.coordinate.spherical.LLA, ground_speed: ostk.physics.unit.Derived, start_instant: ostk.physics.time.Instant, celestial: ostk.physics.environment.object.Celestial = ..., step_size: ostk.physics.time.Duration = ...) -> TargetScan:
164
+ """
165
+ Construct a `TargetScan` object from ground speed.
166
+
167
+ Args:
168
+ start_lla (LLA): The starting location.
169
+ end_lla (LLA): The ending location.
170
+ ground_speed (Derived): The ground speed.
171
+ start_instant (Instant): The starting instant.
172
+ celestial (Celestial): The celestial body.
173
+ step_size (Duration): The step size for the trajectory.
174
+
175
+ Returns:
176
+ TargetScan: The `TargetScan` object.
177
+ """
178
+ def __eq__(self, arg0: TargetScan) -> bool:
179
+ ...
180
+ def __init__(self, start_lla: ostk.physics.coordinate.spherical.LLA, end_lla: ostk.physics.coordinate.spherical.LLA, start_instant: ostk.physics.time.Instant, end_instant: ostk.physics.time.Instant, celestial: ostk.physics.environment.object.Celestial = ..., step_size: ostk.physics.time.Duration = ...) -> None:
181
+ """
182
+ Construct a `TargetScan` object.
183
+
184
+ Args:
185
+ start_lla (LLA): The starting location.
186
+ end_lla (LLA): The ending location.
187
+ start_instant (Instant): The starting instant.
188
+ end_instant (Instant): The ending instant.
189
+ celestial (Celestial): The celestial body. Defaults to Earth.WGS84().
190
+ step_size (Duration): The step size for the trajectory. Defaults to 1e-2 seconds.
191
+
192
+ Returns:
193
+ TargetScan: The `TargetScan` object.
194
+ """
195
+ def __ne__(self, arg0: TargetScan) -> bool:
196
+ ...
197
+ def __repr__(self) -> str:
198
+ ...
199
+ def __str__(self) -> str:
200
+ ...
201
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
202
+ """
203
+ Calculate the state at a given instant.
204
+
205
+ Args:
206
+ instant (Instant): The instant.
207
+
208
+ Returns:
209
+ State: The state at the given instant.
210
+ """
211
+ def get_celestial(self) -> ostk.physics.environment.object.Celestial:
212
+ """
213
+ Get the celestial object of the target scan.
214
+
215
+ Returns:
216
+ Celestial: The celestial object.
217
+ """
218
+ def get_end_instant(self) -> ostk.physics.time.Instant:
219
+ """
220
+ Get the ending instant of the target scan.
221
+
222
+ Returns:
223
+ Instant: The ending instant.
224
+ """
225
+ def get_end_lla(self) -> ostk.physics.coordinate.spherical.LLA:
226
+ """
227
+ Get the ending LLA of the target scan.
228
+
229
+ Returns:
230
+ LLA: The ending LLA.
231
+ """
232
+ def get_start_instant(self) -> ostk.physics.time.Instant:
233
+ """
234
+ Get the starting instant of the target scan.
235
+
236
+ Returns:
237
+ Instant: The starting instant.
238
+ """
239
+ def get_start_lla(self) -> ostk.physics.coordinate.spherical.LLA:
240
+ """
241
+ Get the starting LLA of the target scan.
242
+
243
+ Returns:
244
+ LLA: The starting LLA.
245
+ """
246
+ def get_step_size(self) -> ostk.physics.time.Duration:
247
+ """
248
+ Get the step size of the target scan.
249
+
250
+ Returns:
251
+ Duration: The step size.
252
+ """
253
+ def is_defined(self) -> bool:
254
+ """
255
+ Check if the model is defined.
256
+
257
+ Returns:
258
+ bool: True if the model is defined, False otherwise.
259
+ """
@@ -0,0 +1,349 @@
1
+ from __future__ import annotations
2
+ import ostk.astrodynamics.trajectory
3
+ import ostk.core.type
4
+ import ostk.physics.time
5
+ import typing
6
+ from . import message
7
+ from . import model
8
+ __all__ = ['OrbitModel', 'Pass', 'message', 'model']
9
+ class OrbitModel:
10
+ """
11
+
12
+ Base class for orbit models.
13
+
14
+ Provides the interface for orbit models.
15
+
16
+
17
+ """
18
+ __hash__: typing.ClassVar[None] = None
19
+ def __eq__(self, arg0: OrbitModel) -> bool:
20
+ ...
21
+ def __ne__(self, arg0: OrbitModel) -> bool:
22
+ ...
23
+ def __str__(self) -> str:
24
+ ...
25
+ def as_kepler(self) -> ...:
26
+ """
27
+ Cast the orbit model to a Kepler model.
28
+
29
+ Returns:
30
+ Kepler: The Kepler model.
31
+ """
32
+ def as_propagated(self) -> ...:
33
+ """
34
+ Cast the orbit model to a propagated model.
35
+
36
+ Returns:
37
+ Propagated: The propagated model.
38
+ """
39
+ def as_sgp4(self) -> ...:
40
+ """
41
+ Cast the orbit model to an SGP4 model.
42
+
43
+ Returns:
44
+ SGP4: The SGP4 model.
45
+ """
46
+ def calculate_revolution_number_at(self, instant: ostk.physics.time.Instant) -> ostk.core.type.Integer:
47
+ """
48
+ Calculate the revolution number of the orbit model at a given instant.
49
+
50
+ Args:
51
+ instant (Instant): The instant at which to calculate the revolution number.
52
+
53
+ Returns:
54
+ int: The revolution number of the orbit model at the given instant.
55
+ """
56
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
57
+ """
58
+ Calculate the state of the orbit model at a given instant.
59
+
60
+ Args:
61
+ instant (Instant): The instant at which to calculate the state.
62
+
63
+ Returns:
64
+ State: The state of the orbit model at the given instant.
65
+ """
66
+ def get_epoch(self) -> ostk.physics.time.Instant:
67
+ """
68
+ Get the epoch of the orbit model.
69
+
70
+ Returns:
71
+ Instant: The epoch of the orbit model.
72
+ """
73
+ def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
74
+ """
75
+ Get the revolution number at the epoch of the orbit model.
76
+
77
+ Returns:
78
+ int: The revolution number at the epoch of the orbit model.
79
+ """
80
+ def is_defined(self) -> bool:
81
+ """
82
+ Check if the orbit model is defined.
83
+
84
+ Returns:
85
+ bool: True if the orbit model is defined, False otherwise.
86
+ """
87
+ def is_kepler(self) -> bool:
88
+ """
89
+ Check if the orbit model is a Kepler model.
90
+
91
+ Returns:
92
+ bool: True if the orbit model is a Kepler model, False otherwise.
93
+ """
94
+ def is_propagated(self) -> bool:
95
+ """
96
+ Check if the orbit model is a propagated model.
97
+
98
+ Returns:
99
+ bool: True if the orbit model is a propagated model, False otherwise.
100
+ """
101
+ def is_sgp4(self) -> bool:
102
+ """
103
+ Check if the orbit model is an SGP4 model.
104
+
105
+ Returns:
106
+ bool: True if the orbit model is an SGP4 model, False otherwise.
107
+ """
108
+ class Pass:
109
+ """
110
+
111
+ A revolution of an orbiting object.
112
+
113
+
114
+ """
115
+ class Phase:
116
+ """
117
+
118
+ The phase of the `Pass`.
119
+
120
+
121
+ Members:
122
+
123
+ Undefined : Undefined
124
+
125
+ Ascending : Ascending
126
+
127
+ Descending : Descending
128
+ """
129
+ Ascending: typing.ClassVar[Pass.Phase] # value = <Phase.Ascending: 1>
130
+ Descending: typing.ClassVar[Pass.Phase] # value = <Phase.Descending: 2>
131
+ Undefined: typing.ClassVar[Pass.Phase] # value = <Phase.Undefined: 0>
132
+ __members__: typing.ClassVar[dict[str, Pass.Phase]] # value = {'Undefined': <Phase.Undefined: 0>, 'Ascending': <Phase.Ascending: 1>, 'Descending': <Phase.Descending: 2>}
133
+ def __eq__(self, other: typing.Any) -> bool:
134
+ ...
135
+ def __getstate__(self) -> int:
136
+ ...
137
+ def __hash__(self) -> int:
138
+ ...
139
+ def __index__(self) -> int:
140
+ ...
141
+ def __init__(self, value: int) -> None:
142
+ ...
143
+ def __int__(self) -> int:
144
+ ...
145
+ def __ne__(self, other: typing.Any) -> bool:
146
+ ...
147
+ def __repr__(self) -> str:
148
+ ...
149
+ def __setstate__(self, state: int) -> None:
150
+ ...
151
+ def __str__(self) -> str:
152
+ ...
153
+ @property
154
+ def name(self) -> str:
155
+ ...
156
+ @property
157
+ def value(self) -> int:
158
+ ...
159
+ class Type:
160
+ """
161
+
162
+ The type of `Pass`.
163
+
164
+
165
+ Members:
166
+
167
+ Undefined : Undefined
168
+
169
+ Complete : Complete
170
+
171
+ Partial : Partial
172
+ """
173
+ Complete: typing.ClassVar[Pass.Type] # value = <Type.Complete: 1>
174
+ Partial: typing.ClassVar[Pass.Type] # value = <Type.Partial: 2>
175
+ Undefined: typing.ClassVar[Pass.Type] # value = <Type.Undefined: 0>
176
+ __members__: typing.ClassVar[dict[str, Pass.Type]] # value = {'Undefined': <Type.Undefined: 0>, 'Complete': <Type.Complete: 1>, 'Partial': <Type.Partial: 2>}
177
+ def __eq__(self, other: typing.Any) -> bool:
178
+ ...
179
+ def __getstate__(self) -> int:
180
+ ...
181
+ def __hash__(self) -> int:
182
+ ...
183
+ def __index__(self) -> int:
184
+ ...
185
+ def __init__(self, value: int) -> None:
186
+ ...
187
+ def __int__(self) -> int:
188
+ ...
189
+ def __ne__(self, other: typing.Any) -> bool:
190
+ ...
191
+ def __repr__(self) -> str:
192
+ ...
193
+ def __setstate__(self, state: int) -> None:
194
+ ...
195
+ def __str__(self) -> str:
196
+ ...
197
+ @property
198
+ def name(self) -> str:
199
+ ...
200
+ @property
201
+ def value(self) -> int:
202
+ ...
203
+ __hash__: typing.ClassVar[None] = None
204
+ @staticmethod
205
+ def string_from_phase(phase: Pass.Phase) -> ostk.core.type.String:
206
+ """
207
+ Get the string representation of a pass phase.
208
+
209
+ Args:
210
+ phase (Pass.Phase): The pass phase.
211
+
212
+ Returns:
213
+ str: The string representation of the pass phase.
214
+ """
215
+ @staticmethod
216
+ def string_from_type(type: Pass.Type) -> ostk.core.type.String:
217
+ """
218
+ Get the string representation of a pass type.
219
+
220
+ Args:
221
+ type (Pass.Type): The pass type.
222
+
223
+ Returns:
224
+ str: The string representation of the pass type.
225
+ """
226
+ @staticmethod
227
+ def undefined() -> Pass:
228
+ """
229
+ Get an undefined pass.
230
+
231
+ Returns:
232
+ Pass: The undefined pass.
233
+ """
234
+ def __eq__(self, arg0: Pass) -> bool:
235
+ ...
236
+ def __init__(self, revolution_number: ostk.core.type.Integer, instant_at_ascending_node: ostk.physics.time.Instant, instant_at_north_point: ostk.physics.time.Instant, instant_at_descending_node: ostk.physics.time.Instant, instant_at_south_point: ostk.physics.time.Instant, instant_at_pass_break: ostk.physics.time.Instant) -> None:
237
+ """
238
+ Constructor.
239
+
240
+ Args:
241
+ revolution_number (int): The revolution number of the pass.
242
+ instant_at_ascending_node (Instant): The instant at the ascending node of the pass.
243
+ instant_at_north_point (Instant): The instant at the north point of the pass.
244
+ instant_at_descending_node (Instant): The instant at the descending node of the pass.
245
+ instant_at_south_point (Instant): The instant at the south point of the pass.
246
+ instant_at_pass_break (Instant): The instant at break of the pass.
247
+ """
248
+ def __ne__(self, arg0: Pass) -> bool:
249
+ ...
250
+ def __repr__(self) -> str:
251
+ ...
252
+ def __str__(self) -> str:
253
+ ...
254
+ def get_duration(self) -> ostk.physics.time.Duration:
255
+ """
256
+ Get the duration of the pass. Undefined if the pass is not complete.
257
+
258
+ Returns:
259
+ Duration: The duration of the pass.
260
+ """
261
+ def get_end_instant(self) -> ostk.physics.time.Instant:
262
+ """
263
+ Get the end instant of the pass. For partial passes, this is the maximum defined instant.
264
+
265
+ Returns:
266
+ Instant: The end instant of the pass.
267
+ """
268
+ def get_instant_at_ascending_node(self) -> ostk.physics.time.Instant:
269
+ """
270
+ Get the instant at the ascending node of the pass.
271
+ i.e. z = 0 & vz > 0 in an ECI frame.
272
+
273
+ Returns:
274
+ Instant: The instant at the ascending node of the pass.
275
+ """
276
+ def get_instant_at_descending_node(self) -> ostk.physics.time.Instant:
277
+ """
278
+ Get the instant at the descending node of the pass.
279
+ i.e. z = 0 and vz < 0 in an ECI frame.
280
+
281
+ Returns:
282
+ Instant: The instant at the descending node of the pass.
283
+ """
284
+ def get_instant_at_north_point(self) -> ostk.physics.time.Instant:
285
+ """
286
+ Get the instant at the north point of the pass.
287
+ i.e. z = maximum and vz = 0 in an ECI frame.
288
+
289
+ Returns:
290
+ Instant: The instant at the north point of the pass.
291
+ """
292
+ def get_instant_at_pass_break(self) -> ostk.physics.time.Instant:
293
+ """
294
+ Get the instant at the break of the pass,
295
+ i.e. the ascending node of the next pass.
296
+
297
+ Returns:
298
+ Instant: The instant at the break of the pass.
299
+ """
300
+ def get_instant_at_south_point(self) -> ostk.physics.time.Instant:
301
+ """
302
+ Get the instant at the south point of the pass.
303
+ i.e. z = minimum and vz = 0 in an ECI frame.
304
+
305
+ Returns:
306
+ Instant: The instant at the south point of the pass.
307
+ """
308
+ def get_interval(self) -> ostk.physics.time.Interval:
309
+ """
310
+ Get the interval of the pass. Undefined if the pass is not complete.
311
+
312
+ Returns:
313
+ Interval: The interval of the pass.
314
+ """
315
+ def get_revolution_number(self) -> ostk.core.type.Integer:
316
+ """
317
+ Get the revolution number of the pass.
318
+
319
+ Returns:
320
+ int: The revolution number of the pass.
321
+ """
322
+ def get_start_instant(self) -> ostk.physics.time.Instant:
323
+ """
324
+ Get the start instant of the pass. For partial passes, this is the minimum defined instant.
325
+
326
+ Returns:
327
+ Instant: The start instant of the pass.
328
+ """
329
+ def get_type(self) -> Pass.Type:
330
+ """
331
+ Get the type of the pass.
332
+
333
+ Returns:
334
+ Pass.Type: The type of the pass.
335
+ """
336
+ def is_complete(self) -> bool:
337
+ """
338
+ Check if the pass is complete.
339
+
340
+ Returns:
341
+ bool: True if the pass is complete, False otherwise.
342
+ """
343
+ def is_defined(self) -> bool:
344
+ """
345
+ Check if the pass is defined.
346
+
347
+ Returns:
348
+ bool: True if the pass is defined, False otherwise.
349
+ """
@@ -0,0 +1,3 @@
1
+ from __future__ import annotations
2
+ from . import spacex
3
+ __all__ = ['spacex']