open-space-toolkit-astrodynamics 16.3.1__py312-none-manylinux2014_aarch64.whl → 16.5.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-16.3.1.dist-info → open_space_toolkit_astrodynamics-16.5.0.dist-info}/METADATA +1 -1
- {open_space_toolkit_astrodynamics-16.3.1.dist-info → open_space_toolkit_astrodynamics-16.5.0.dist-info}/RECORD +20 -15
- ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-312-aarch64-linux-gnu.so +0 -0
- ostk/astrodynamics/__init__.pyi +5 -5
- ostk/astrodynamics/flight/__init__.pyi +18 -9
- ostk/astrodynamics/flight/profile/model.pyi +19 -0
- ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.16 +0 -0
- ostk/astrodynamics/test/flight/profile/model/test_tabulated_profile.py +115 -0
- ostk/astrodynamics/test/flight/test_profile.py +4 -0
- ostk/astrodynamics/test/test_display.py +0 -2
- ostk/astrodynamics/test/test_trajectory.py +28 -7
- ostk/astrodynamics/test/trajectory/model/test_nadir_trajectory.py +87 -0
- ostk/astrodynamics/test/trajectory/model/test_tabulated_trajectory.py +303 -0
- ostk/astrodynamics/test/trajectory/model/test_target_scan_trajectory.py +126 -0
- ostk/astrodynamics/test/trajectory/test_orbit.py +7 -0
- ostk/astrodynamics/trajectory/__init__.pyi +17 -9
- ostk/astrodynamics/trajectory/model.pyi +259 -0
- {open_space_toolkit_astrodynamics-16.3.1.dist-info → open_space_toolkit_astrodynamics-16.5.0.dist-info}/WHEEL +0 -0
- {open_space_toolkit_astrodynamics-16.3.1.dist-info → open_space_toolkit_astrodynamics-16.5.0.dist-info}/top_level.txt +0 -0
- {open_space_toolkit_astrodynamics-16.3.1.dist-info → open_space_toolkit_astrodynamics-16.5.0.dist-info}/zip-safe +0 -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
|
+
"""
|
File without changes
|
File without changes
|
File without changes
|