open-space-toolkit-astrodynamics 13.1.0__py312-none-manylinux2014_aarch64.whl → 14.0.0__py312-none-manylinux2014_aarch64.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.
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/METADATA +3 -3
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/RECORD +52 -20
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/WHEEL +1 -1
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-312-aarch64-linux-gnu.so +0 -0
- ostk/astrodynamics/__init__.pyi +785 -0
- ostk/astrodynamics/access.pyi +588 -0
- ostk/astrodynamics/conjunction/__init__.pyi +3 -0
- ostk/astrodynamics/conjunction/message/__init__.pyi +3 -0
- ostk/astrodynamics/conjunction/message/ccsds.pyi +723 -0
- ostk/astrodynamics/converters.pyi +58 -0
- ostk/astrodynamics/data/__init__.pyi +3 -0
- ostk/astrodynamics/data/provider.pyi +22 -0
- ostk/astrodynamics/dynamics.pyi +329 -0
- ostk/astrodynamics/event_condition.pyi +580 -0
- ostk/astrodynamics/flight/__init__.pyi +547 -0
- ostk/astrodynamics/flight/profile/__init__.pyi +102 -0
- ostk/astrodynamics/flight/profile/model.pyi +176 -0
- ostk/astrodynamics/flight/system.pyi +277 -0
- ostk/astrodynamics/guidance_law.pyi +282 -0
- ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.14 +0 -0
- ostk/astrodynamics/py.typed +0 -0
- ostk/astrodynamics/pytrajectory/__init__.pyi +3 -0
- ostk/astrodynamics/pytrajectory/pystate.py +2 -4
- ostk/astrodynamics/pytrajectory/pystate.pyi +65 -0
- ostk/astrodynamics/solver.pyi +232 -0
- ostk/astrodynamics/test/access/test_generator.py +130 -59
- ostk/astrodynamics/test/access/test_visibility_criterion.py +198 -0
- ostk/astrodynamics/test/data/provider/test_off_nadir.py +58 -0
- ostk/astrodynamics/test/flight/test_maneuver.py +49 -64
- ostk/astrodynamics/test/flight/test_profile.py +4 -2
- ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +24 -11
- ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +9 -1
- ostk/astrodynamics/test/test_display.py +11 -5
- ostk/astrodynamics/test/test_viewer.py +70 -1
- ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py +136 -0
- ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +9 -0
- ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +21 -13
- ostk/astrodynamics/test/trajectory/test_propagator.py +21 -27
- ostk/astrodynamics/test/trajectory/test_segment.py +0 -1
- ostk/astrodynamics/trajectory/__init__.pyi +1796 -0
- ostk/astrodynamics/trajectory/orbit/__init__.pyi +361 -0
- ostk/astrodynamics/trajectory/orbit/message/__init__.pyi +3 -0
- ostk/astrodynamics/trajectory/orbit/message/spacex.pyi +273 -0
- ostk/astrodynamics/trajectory/orbit/model/__init__.pyi +517 -0
- ostk/astrodynamics/trajectory/orbit/model/brouwerLyddaneMean.pyi +127 -0
- ostk/astrodynamics/trajectory/orbit/model/kepler.pyi +581 -0
- ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi +333 -0
- ostk/astrodynamics/trajectory/state/__init__.pyi +406 -0
- ostk/astrodynamics/trajectory/state/coordinate_subset.pyi +223 -0
- ostk/astrodynamics/viewer.py +32 -0
- ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.13 +0 -0
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-14.0.0.dist-info}/zip-safe +0 -0
@@ -0,0 +1,361 @@
|
|
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
|
+
@staticmethod
|
20
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
21
|
+
...
|
22
|
+
def __eq__(self, arg0: OrbitModel) -> bool:
|
23
|
+
...
|
24
|
+
def __ne__(self, arg0: OrbitModel) -> bool:
|
25
|
+
...
|
26
|
+
def __str__(self) -> str:
|
27
|
+
...
|
28
|
+
def as_kepler(self) -> ...:
|
29
|
+
"""
|
30
|
+
Cast the orbit model to a Kepler model.
|
31
|
+
|
32
|
+
Returns:
|
33
|
+
Kepler: The Kepler model.
|
34
|
+
"""
|
35
|
+
def as_propagated(self) -> ...:
|
36
|
+
"""
|
37
|
+
Cast the orbit model to a propagated model.
|
38
|
+
|
39
|
+
Returns:
|
40
|
+
Propagated: The propagated model.
|
41
|
+
"""
|
42
|
+
def as_sgp4(self) -> ...:
|
43
|
+
"""
|
44
|
+
Cast the orbit model to an SGP4 model.
|
45
|
+
|
46
|
+
Returns:
|
47
|
+
SGP4: The SGP4 model.
|
48
|
+
"""
|
49
|
+
def calculate_revolution_number_at(self, instant: ostk.physics.time.Instant) -> ostk.core.type.Integer:
|
50
|
+
"""
|
51
|
+
Calculate the revolution number of the orbit model at a given instant.
|
52
|
+
|
53
|
+
Args:
|
54
|
+
instant (Instant): The instant at which to calculate the revolution number.
|
55
|
+
|
56
|
+
Returns:
|
57
|
+
int: The revolution number of the orbit model at the given instant.
|
58
|
+
"""
|
59
|
+
def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
|
60
|
+
"""
|
61
|
+
Calculate the state of the orbit model at a given instant.
|
62
|
+
|
63
|
+
Args:
|
64
|
+
instant (Instant): The instant at which to calculate the state.
|
65
|
+
|
66
|
+
Returns:
|
67
|
+
State: The state of the orbit model at the given instant.
|
68
|
+
"""
|
69
|
+
def get_epoch(self) -> ostk.physics.time.Instant:
|
70
|
+
"""
|
71
|
+
Get the epoch of the orbit model.
|
72
|
+
|
73
|
+
Returns:
|
74
|
+
Instant: The epoch of the orbit model.
|
75
|
+
"""
|
76
|
+
def get_revolution_number_at_epoch(self) -> ostk.core.type.Integer:
|
77
|
+
"""
|
78
|
+
Get the revolution number at the epoch of the orbit model.
|
79
|
+
|
80
|
+
Returns:
|
81
|
+
int: The revolution number at the epoch of the orbit model.
|
82
|
+
"""
|
83
|
+
def is_defined(self) -> bool:
|
84
|
+
"""
|
85
|
+
Check if the orbit model is defined.
|
86
|
+
|
87
|
+
Returns:
|
88
|
+
bool: True if the orbit model is defined, False otherwise.
|
89
|
+
"""
|
90
|
+
def is_kepler(self) -> bool:
|
91
|
+
"""
|
92
|
+
Check if the orbit model is a Kepler model.
|
93
|
+
|
94
|
+
Returns:
|
95
|
+
bool: True if the orbit model is a Kepler model, False otherwise.
|
96
|
+
"""
|
97
|
+
def is_propagated(self) -> bool:
|
98
|
+
"""
|
99
|
+
Check if the orbit model is a propagated model.
|
100
|
+
|
101
|
+
Returns:
|
102
|
+
bool: True if the orbit model is a propagated model, False otherwise.
|
103
|
+
"""
|
104
|
+
def is_sgp4(self) -> bool:
|
105
|
+
"""
|
106
|
+
Check if the orbit model is an SGP4 model.
|
107
|
+
|
108
|
+
Returns:
|
109
|
+
bool: True if the orbit model is an SGP4 model, False otherwise.
|
110
|
+
"""
|
111
|
+
class Pass:
|
112
|
+
"""
|
113
|
+
|
114
|
+
A revolution of an orbiting object.
|
115
|
+
|
116
|
+
|
117
|
+
"""
|
118
|
+
class Phase:
|
119
|
+
"""
|
120
|
+
|
121
|
+
The phase of the `Pass`.
|
122
|
+
|
123
|
+
|
124
|
+
Members:
|
125
|
+
|
126
|
+
Undefined : Undefined
|
127
|
+
|
128
|
+
Ascending : Ascending
|
129
|
+
|
130
|
+
Descending : Descending
|
131
|
+
"""
|
132
|
+
Ascending: typing.ClassVar[Pass.Phase] # value = <Phase.Ascending: 1>
|
133
|
+
Descending: typing.ClassVar[Pass.Phase] # value = <Phase.Descending: 2>
|
134
|
+
Undefined: typing.ClassVar[Pass.Phase] # value = <Phase.Undefined: 0>
|
135
|
+
__members__: typing.ClassVar[dict[str, Pass.Phase]] # value = {'Undefined': <Phase.Undefined: 0>, 'Ascending': <Phase.Ascending: 1>, 'Descending': <Phase.Descending: 2>}
|
136
|
+
@staticmethod
|
137
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
138
|
+
...
|
139
|
+
def __eq__(self, other: typing.Any) -> bool:
|
140
|
+
...
|
141
|
+
def __getstate__(self) -> int:
|
142
|
+
...
|
143
|
+
def __hash__(self) -> int:
|
144
|
+
...
|
145
|
+
def __index__(self) -> int:
|
146
|
+
...
|
147
|
+
def __init__(self, value: int) -> None:
|
148
|
+
...
|
149
|
+
def __int__(self) -> int:
|
150
|
+
...
|
151
|
+
def __ne__(self, other: typing.Any) -> bool:
|
152
|
+
...
|
153
|
+
def __repr__(self) -> str:
|
154
|
+
...
|
155
|
+
def __setstate__(self, state: int) -> None:
|
156
|
+
...
|
157
|
+
def __str__(self) -> str:
|
158
|
+
...
|
159
|
+
@property
|
160
|
+
def name(self) -> str:
|
161
|
+
...
|
162
|
+
@property
|
163
|
+
def value(self) -> int:
|
164
|
+
...
|
165
|
+
class Type:
|
166
|
+
"""
|
167
|
+
|
168
|
+
The type of `Pass`.
|
169
|
+
|
170
|
+
|
171
|
+
Members:
|
172
|
+
|
173
|
+
Undefined : Undefined
|
174
|
+
|
175
|
+
Complete : Complete
|
176
|
+
|
177
|
+
Partial : Partial
|
178
|
+
"""
|
179
|
+
Complete: typing.ClassVar[Pass.Type] # value = <Type.Complete: 1>
|
180
|
+
Partial: typing.ClassVar[Pass.Type] # value = <Type.Partial: 2>
|
181
|
+
Undefined: typing.ClassVar[Pass.Type] # value = <Type.Undefined: 0>
|
182
|
+
__members__: typing.ClassVar[dict[str, Pass.Type]] # value = {'Undefined': <Type.Undefined: 0>, 'Complete': <Type.Complete: 1>, 'Partial': <Type.Partial: 2>}
|
183
|
+
@staticmethod
|
184
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
185
|
+
...
|
186
|
+
def __eq__(self, other: typing.Any) -> bool:
|
187
|
+
...
|
188
|
+
def __getstate__(self) -> int:
|
189
|
+
...
|
190
|
+
def __hash__(self) -> int:
|
191
|
+
...
|
192
|
+
def __index__(self) -> int:
|
193
|
+
...
|
194
|
+
def __init__(self, value: int) -> None:
|
195
|
+
...
|
196
|
+
def __int__(self) -> int:
|
197
|
+
...
|
198
|
+
def __ne__(self, other: typing.Any) -> bool:
|
199
|
+
...
|
200
|
+
def __repr__(self) -> str:
|
201
|
+
...
|
202
|
+
def __setstate__(self, state: int) -> None:
|
203
|
+
...
|
204
|
+
def __str__(self) -> str:
|
205
|
+
...
|
206
|
+
@property
|
207
|
+
def name(self) -> str:
|
208
|
+
...
|
209
|
+
@property
|
210
|
+
def value(self) -> int:
|
211
|
+
...
|
212
|
+
__hash__: typing.ClassVar[None] = None
|
213
|
+
@staticmethod
|
214
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
215
|
+
...
|
216
|
+
@staticmethod
|
217
|
+
def string_from_phase(phase: Pass.Phase) -> ostk.core.type.String:
|
218
|
+
"""
|
219
|
+
Get the string representation of a pass phase.
|
220
|
+
|
221
|
+
Args:
|
222
|
+
phase (Pass.Phase): The pass phase.
|
223
|
+
|
224
|
+
Returns:
|
225
|
+
str: The string representation of the pass phase.
|
226
|
+
"""
|
227
|
+
@staticmethod
|
228
|
+
def string_from_type(type: Pass.Type) -> ostk.core.type.String:
|
229
|
+
"""
|
230
|
+
Get the string representation of a pass type.
|
231
|
+
|
232
|
+
Args:
|
233
|
+
type (Pass.Type): The pass type.
|
234
|
+
|
235
|
+
Returns:
|
236
|
+
str: The string representation of the pass type.
|
237
|
+
"""
|
238
|
+
@staticmethod
|
239
|
+
def undefined() -> Pass:
|
240
|
+
"""
|
241
|
+
Get an undefined pass.
|
242
|
+
|
243
|
+
Returns:
|
244
|
+
Pass: The undefined pass.
|
245
|
+
"""
|
246
|
+
def __eq__(self, arg0: Pass) -> bool:
|
247
|
+
...
|
248
|
+
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:
|
249
|
+
"""
|
250
|
+
Constructor.
|
251
|
+
|
252
|
+
Args:
|
253
|
+
revolution_number (int): The revolution number of the pass.
|
254
|
+
instant_at_ascending_node (Instant): The instant at the ascending node of the pass.
|
255
|
+
instant_at_north_point (Instant): The instant at the north point of the pass.
|
256
|
+
instant_at_descending_node (Instant): The instant at the descending node of the pass.
|
257
|
+
instant_at_south_point (Instant): The instant at the south point of the pass.
|
258
|
+
instant_at_pass_break (Instant): The instant at break of the pass.
|
259
|
+
"""
|
260
|
+
def __ne__(self, arg0: Pass) -> bool:
|
261
|
+
...
|
262
|
+
def __repr__(self) -> str:
|
263
|
+
...
|
264
|
+
def __str__(self) -> str:
|
265
|
+
...
|
266
|
+
def get_duration(self) -> ostk.physics.time.Duration:
|
267
|
+
"""
|
268
|
+
Get the duration of the pass. Undefined if the pass is not complete.
|
269
|
+
|
270
|
+
Returns:
|
271
|
+
Duration: The duration of the pass.
|
272
|
+
"""
|
273
|
+
def get_end_instant(self) -> ostk.physics.time.Instant:
|
274
|
+
"""
|
275
|
+
Get the end instant of the pass. For partial passes, this is the maximum defined instant.
|
276
|
+
|
277
|
+
Returns:
|
278
|
+
Instant: The end instant of the pass.
|
279
|
+
"""
|
280
|
+
def get_instant_at_ascending_node(self) -> ostk.physics.time.Instant:
|
281
|
+
"""
|
282
|
+
Get the instant at the ascending node of the pass.
|
283
|
+
i.e. z = 0 & vz > 0 in an ECI frame.
|
284
|
+
|
285
|
+
Returns:
|
286
|
+
Instant: The instant at the ascending node of the pass.
|
287
|
+
"""
|
288
|
+
def get_instant_at_descending_node(self) -> ostk.physics.time.Instant:
|
289
|
+
"""
|
290
|
+
Get the instant at the descending node of the pass.
|
291
|
+
i.e. z = 0 and vz < 0 in an ECI frame.
|
292
|
+
|
293
|
+
Returns:
|
294
|
+
Instant: The instant at the descending node of the pass.
|
295
|
+
"""
|
296
|
+
def get_instant_at_north_point(self) -> ostk.physics.time.Instant:
|
297
|
+
"""
|
298
|
+
Get the instant at the north point of the pass.
|
299
|
+
i.e. z = maximum and vz = 0 in an ECI frame.
|
300
|
+
|
301
|
+
Returns:
|
302
|
+
Instant: The instant at the north point of the pass.
|
303
|
+
"""
|
304
|
+
def get_instant_at_pass_break(self) -> ostk.physics.time.Instant:
|
305
|
+
"""
|
306
|
+
Get the instant at the break of the pass,
|
307
|
+
i.e. the ascending node of the next pass.
|
308
|
+
|
309
|
+
Returns:
|
310
|
+
Instant: The instant at the break of the pass.
|
311
|
+
"""
|
312
|
+
def get_instant_at_south_point(self) -> ostk.physics.time.Instant:
|
313
|
+
"""
|
314
|
+
Get the instant at the south point of the pass.
|
315
|
+
i.e. z = minimum and vz = 0 in an ECI frame.
|
316
|
+
|
317
|
+
Returns:
|
318
|
+
Instant: The instant at the south point of the pass.
|
319
|
+
"""
|
320
|
+
def get_interval(self) -> ostk.physics.time.Interval:
|
321
|
+
"""
|
322
|
+
Get the interval of the pass. Undefined if the pass is not complete.
|
323
|
+
|
324
|
+
Returns:
|
325
|
+
Interval: The interval of the pass.
|
326
|
+
"""
|
327
|
+
def get_revolution_number(self) -> ostk.core.type.Integer:
|
328
|
+
"""
|
329
|
+
Get the revolution number of the pass.
|
330
|
+
|
331
|
+
Returns:
|
332
|
+
int: The revolution number of the pass.
|
333
|
+
"""
|
334
|
+
def get_start_instant(self) -> ostk.physics.time.Instant:
|
335
|
+
"""
|
336
|
+
Get the start instant of the pass. For partial passes, this is the minimum defined instant.
|
337
|
+
|
338
|
+
Returns:
|
339
|
+
Instant: The start instant of the pass.
|
340
|
+
"""
|
341
|
+
def get_type(self) -> Pass.Type:
|
342
|
+
"""
|
343
|
+
Get the type of the pass.
|
344
|
+
|
345
|
+
Returns:
|
346
|
+
Pass.Type: The type of the pass.
|
347
|
+
"""
|
348
|
+
def is_complete(self) -> bool:
|
349
|
+
"""
|
350
|
+
Check if the pass is complete.
|
351
|
+
|
352
|
+
Returns:
|
353
|
+
bool: True if the pass is complete, False otherwise.
|
354
|
+
"""
|
355
|
+
def is_defined(self) -> bool:
|
356
|
+
"""
|
357
|
+
Check if the pass is defined.
|
358
|
+
|
359
|
+
Returns:
|
360
|
+
bool: True if the pass is defined, False otherwise.
|
361
|
+
"""
|
@@ -0,0 +1,273 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
import ostk.astrodynamics.trajectory
|
3
|
+
import ostk.core.container
|
4
|
+
import ostk.core.filesystem
|
5
|
+
import ostk.core.type
|
6
|
+
import ostk.physics.coordinate
|
7
|
+
import ostk.physics.time
|
8
|
+
import ostk.physics.unit
|
9
|
+
__all__ = ['OPM']
|
10
|
+
class OPM:
|
11
|
+
"""
|
12
|
+
|
13
|
+
The SpaceX OPM message.
|
14
|
+
|
15
|
+
See Also:
|
16
|
+
`SpaceX OPM <https://public.ccsds.org/Pubs/502x0b3e1.pdf>`_.
|
17
|
+
|
18
|
+
|
19
|
+
"""
|
20
|
+
class Deployment:
|
21
|
+
"""
|
22
|
+
|
23
|
+
The deployment of the SpaceX OPM message.
|
24
|
+
|
25
|
+
|
26
|
+
"""
|
27
|
+
@staticmethod
|
28
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
29
|
+
...
|
30
|
+
def __init__(self, name: ostk.core.type.String, sequence_number: ostk.core.type.Integer, mission_time: ostk.physics.time.Duration, date: ostk.physics.time.Instant, position: ostk.physics.coordinate.Position, velocity: ostk.physics.coordinate.Velocity, mean_perigee_altitude: ostk.physics.unit.Length, mean_apogee_altitude: ostk.physics.unit.Length, mean_inclination: ostk.physics.unit.Angle, mean_argument_of_perigee: ostk.physics.unit.Angle, mean_longitude_ascending_node: ostk.physics.unit.Angle, mean_mean_anomaly: ostk.physics.unit.Angle, ballistic_coefficient: ostk.core.type.Real) -> None:
|
31
|
+
"""
|
32
|
+
Constructor.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
name (str): The name of the deployment.
|
36
|
+
sequence_number (int): The sequence number of the deployment.
|
37
|
+
mission_time (Duration): The mission time of the deployment.
|
38
|
+
date (Instant): The date of the deployment.
|
39
|
+
position (Position): The position of the deployment.
|
40
|
+
velocity (Velocity): The velocity of the deployment.
|
41
|
+
mean_perigee_altitude (Length): The mean perigee altitude of the deployment.
|
42
|
+
mean_apogee_altitude (Length): The mean apogee altitude of the deployment.
|
43
|
+
mean_inclination (Angle): The mean inclination of the deployment.
|
44
|
+
mean_argument_of_perigee (Angle): The mean argument of perigee of the deployment.
|
45
|
+
mean_longitude_ascending_node (Angle): The mean longitude of the ascending node of the deployment.
|
46
|
+
mean_mean_anomaly (Angle): The mean mean anomaly of the deployment.
|
47
|
+
ballistic_coefficient (float): The ballistic coefficient of the deployment.
|
48
|
+
"""
|
49
|
+
def to_state(self) -> ostk.astrodynamics.trajectory.State:
|
50
|
+
"""
|
51
|
+
Convert the deployment to a state.
|
52
|
+
|
53
|
+
Returns:
|
54
|
+
state (State): The state of the deployment.
|
55
|
+
"""
|
56
|
+
@property
|
57
|
+
def ballistic_coefficient(self) -> ostk.core.type.Real:
|
58
|
+
"""
|
59
|
+
Get the ballistic coefficient of the deployment.
|
60
|
+
|
61
|
+
:type: float
|
62
|
+
"""
|
63
|
+
@property
|
64
|
+
def date(self) -> ostk.physics.time.Instant:
|
65
|
+
"""
|
66
|
+
Get the date of the deployment.
|
67
|
+
|
68
|
+
:type: Instant
|
69
|
+
"""
|
70
|
+
@property
|
71
|
+
def mean_apogee_altitude(self) -> ostk.physics.unit.Length:
|
72
|
+
"""
|
73
|
+
Get the mean apogee altitude of the deployment.
|
74
|
+
|
75
|
+
:type: Length
|
76
|
+
"""
|
77
|
+
@property
|
78
|
+
def mean_argument_of_perigee(self) -> ostk.physics.unit.Angle:
|
79
|
+
"""
|
80
|
+
Get the mean argument of perigee of the deployment.
|
81
|
+
|
82
|
+
:type: Angle
|
83
|
+
"""
|
84
|
+
@property
|
85
|
+
def mean_inclination(self) -> ostk.physics.unit.Angle:
|
86
|
+
"""
|
87
|
+
Get the mean inclination of the deployment.
|
88
|
+
|
89
|
+
:type: Angle
|
90
|
+
"""
|
91
|
+
@property
|
92
|
+
def mean_longitude_ascending_node(self) -> ostk.physics.unit.Angle:
|
93
|
+
"""
|
94
|
+
Get the mean longitude of the ascending node of the deployment.
|
95
|
+
|
96
|
+
:type: Angle
|
97
|
+
"""
|
98
|
+
@property
|
99
|
+
def mean_mean_anomaly(self) -> ostk.physics.unit.Angle:
|
100
|
+
"""
|
101
|
+
Get the mean mean anomaly of the deployment.
|
102
|
+
|
103
|
+
:type: Angle
|
104
|
+
"""
|
105
|
+
@property
|
106
|
+
def mean_perigee_altitude(self) -> ostk.physics.unit.Length:
|
107
|
+
"""
|
108
|
+
Get the mean perigee altitude of the deployment.
|
109
|
+
|
110
|
+
:type: Length
|
111
|
+
"""
|
112
|
+
@property
|
113
|
+
def mission_time(self) -> ostk.physics.time.Duration:
|
114
|
+
"""
|
115
|
+
Get the mission time of the deployment.
|
116
|
+
|
117
|
+
:type: Duration
|
118
|
+
"""
|
119
|
+
@property
|
120
|
+
def name(self) -> ostk.core.type.String:
|
121
|
+
"""
|
122
|
+
Get the name of the deployment.
|
123
|
+
|
124
|
+
:type: str
|
125
|
+
"""
|
126
|
+
@property
|
127
|
+
def position(self) -> ostk.physics.coordinate.Position:
|
128
|
+
"""
|
129
|
+
Get the position of the deployment.
|
130
|
+
|
131
|
+
:type: Position
|
132
|
+
"""
|
133
|
+
@property
|
134
|
+
def sequence_number(self) -> ostk.core.type.Integer:
|
135
|
+
"""
|
136
|
+
Get the sequence number of the deployment.
|
137
|
+
|
138
|
+
:type: int
|
139
|
+
"""
|
140
|
+
@property
|
141
|
+
def velocity(self) -> ostk.physics.coordinate.Velocity:
|
142
|
+
"""
|
143
|
+
Get the velocity of the deployment.
|
144
|
+
|
145
|
+
:type: Velocity
|
146
|
+
"""
|
147
|
+
class Header:
|
148
|
+
"""
|
149
|
+
|
150
|
+
The header of the SpaceX OPM message.
|
151
|
+
|
152
|
+
|
153
|
+
"""
|
154
|
+
@staticmethod
|
155
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
156
|
+
...
|
157
|
+
def __init__(self, generation_date: ostk.physics.time.Instant, launch_date: ostk.physics.time.Instant) -> None:
|
158
|
+
"""
|
159
|
+
Constructor.
|
160
|
+
|
161
|
+
Args:
|
162
|
+
generation_date (Instant): The date at which the OPM message was generated.
|
163
|
+
launch_date (Instant): The date at which the spacecraft was launched.
|
164
|
+
"""
|
165
|
+
@property
|
166
|
+
def generation_date(self) -> ostk.physics.time.Instant:
|
167
|
+
"""
|
168
|
+
Get the date at which the OPM message was generated.
|
169
|
+
|
170
|
+
Returns:
|
171
|
+
instant (Instant): The date at which the OPM message was generated.
|
172
|
+
"""
|
173
|
+
@property
|
174
|
+
def launch_date(self) -> ostk.physics.time.Instant:
|
175
|
+
"""
|
176
|
+
Get the date at which the spacecraft was launched.
|
177
|
+
|
178
|
+
Returns:
|
179
|
+
instant (Instant): The date at which the spacecraft was launched.
|
180
|
+
"""
|
181
|
+
@staticmethod
|
182
|
+
def _pybind11_conduit_v1_(*args, **kwargs):
|
183
|
+
...
|
184
|
+
@staticmethod
|
185
|
+
def dictionary(dictionary: ostk.core.container.Dictionary) -> OPM:
|
186
|
+
"""
|
187
|
+
Build an OPM message from a dictionary.
|
188
|
+
|
189
|
+
Args:
|
190
|
+
dictionary (dict): The dictionary containing the OPM message information.
|
191
|
+
|
192
|
+
Returns:
|
193
|
+
opm (OPM): The OPM message.
|
194
|
+
"""
|
195
|
+
@staticmethod
|
196
|
+
def load(file: ostk.core.filesystem.File) -> OPM:
|
197
|
+
"""
|
198
|
+
Load an OPM message from a file.
|
199
|
+
|
200
|
+
Args:
|
201
|
+
file (str): The path to the file containing the OPM message.
|
202
|
+
|
203
|
+
Returns:
|
204
|
+
opm (OPM): The OPM message.
|
205
|
+
"""
|
206
|
+
@staticmethod
|
207
|
+
def parse(string: ostk.core.type.String) -> OPM:
|
208
|
+
"""
|
209
|
+
Parse an OPM message from a string.
|
210
|
+
|
211
|
+
Args:
|
212
|
+
string (str): The string containing the OPM message.
|
213
|
+
|
214
|
+
Returns:
|
215
|
+
opm (OPM): The OPM message.
|
216
|
+
"""
|
217
|
+
@staticmethod
|
218
|
+
def undefined() -> OPM:
|
219
|
+
"""
|
220
|
+
Return an undefined OPM message.
|
221
|
+
|
222
|
+
Returns:
|
223
|
+
opm (OPM): An undefined OPM message.
|
224
|
+
"""
|
225
|
+
def __init__(self, header: ..., deployments: list[...]) -> None:
|
226
|
+
"""
|
227
|
+
Constructor.
|
228
|
+
|
229
|
+
Args:
|
230
|
+
header (Header): The header of the OPM message.
|
231
|
+
deployments (list[Deployment]): The deployments of the OPM message.
|
232
|
+
"""
|
233
|
+
def get_deployment_at(self, index: int) -> ...:
|
234
|
+
"""
|
235
|
+
Get the deployment at a given index.
|
236
|
+
|
237
|
+
Args:
|
238
|
+
index (int): The index of the deployment.
|
239
|
+
|
240
|
+
Returns:
|
241
|
+
deployment (Deployment): The deployment at the given index.
|
242
|
+
"""
|
243
|
+
def get_deployment_with_name(self, name: ostk.core.type.String) -> ...:
|
244
|
+
"""
|
245
|
+
Get the deployment with a given name.
|
246
|
+
|
247
|
+
Args:
|
248
|
+
name (str): The name of the deployment.
|
249
|
+
|
250
|
+
Returns:
|
251
|
+
deployment (Deployment): The deployment with the given name.
|
252
|
+
"""
|
253
|
+
def get_deployments(self) -> list[...]:
|
254
|
+
"""
|
255
|
+
Get the deployments of the OPM message.
|
256
|
+
|
257
|
+
Returns:
|
258
|
+
deployments (list[Deployment]): The deployments of the OPM message.
|
259
|
+
"""
|
260
|
+
def get_header(self) -> ...:
|
261
|
+
"""
|
262
|
+
Get the header of the OPM message.
|
263
|
+
|
264
|
+
Returns:
|
265
|
+
header (Header): The header of the OPM message.
|
266
|
+
"""
|
267
|
+
def is_defined(self) -> bool:
|
268
|
+
"""
|
269
|
+
Check if the OPM message is defined.
|
270
|
+
|
271
|
+
Returns:
|
272
|
+
is_defined (bool): True if the OPM message is defined, False otherwise.
|
273
|
+
"""
|