open-space-toolkit-astrodynamics 13.1.0__py313-none-manylinux2014_aarch64.whl → 15.0.0__py313-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.
Files changed (60) hide show
  1. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/METADATA +4 -4
  2. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/RECORD +59 -28
  3. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/WHEEL +1 -1
  4. ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-313-aarch64-linux-gnu.so +0 -0
  5. ostk/astrodynamics/__init__.pyi +785 -0
  6. ostk/astrodynamics/access.pyi +588 -0
  7. ostk/astrodynamics/conjunction/__init__.pyi +3 -0
  8. ostk/astrodynamics/conjunction/message/__init__.pyi +3 -0
  9. ostk/astrodynamics/conjunction/message/ccsds.pyi +723 -0
  10. ostk/astrodynamics/converters.pyi +54 -0
  11. ostk/astrodynamics/data/__init__.pyi +3 -0
  12. ostk/astrodynamics/data/provider.pyi +22 -0
  13. ostk/astrodynamics/dynamics.pyi +329 -0
  14. ostk/astrodynamics/event_condition.pyi +580 -0
  15. ostk/astrodynamics/flight/__init__.pyi +547 -0
  16. ostk/astrodynamics/flight/profile/__init__.pyi +102 -0
  17. ostk/astrodynamics/flight/profile/model.pyi +176 -0
  18. ostk/astrodynamics/flight/system.pyi +277 -0
  19. ostk/astrodynamics/guidance_law.pyi +282 -0
  20. ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.15 +0 -0
  21. ostk/astrodynamics/pytrajectory/__init__.pyi +3 -0
  22. ostk/astrodynamics/pytrajectory/pystate.py +2 -4
  23. ostk/astrodynamics/pytrajectory/pystate.pyi +63 -0
  24. ostk/astrodynamics/solver.pyi +232 -0
  25. ostk/astrodynamics/test/access/test_generator.py +130 -59
  26. ostk/astrodynamics/test/access/test_visibility_criterion.py +198 -0
  27. ostk/astrodynamics/test/data/provider/test_off_nadir.py +58 -0
  28. ostk/astrodynamics/test/dynamics/test_dynamics.py +1 -1
  29. ostk/astrodynamics/test/flight/system/test_propulsion_system.py +2 -11
  30. ostk/astrodynamics/test/flight/system/test_satellite_system.py +6 -14
  31. ostk/astrodynamics/test/flight/test_maneuver.py +49 -64
  32. ostk/astrodynamics/test/flight/test_profile.py +4 -2
  33. ostk/astrodynamics/test/flight/test_system.py +5 -15
  34. ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +31 -16
  35. ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +9 -1
  36. ostk/astrodynamics/test/test_display.py +11 -5
  37. ostk/astrodynamics/test/test_event_condition.py +4 -2
  38. ostk/astrodynamics/test/test_utilities.py +1 -1
  39. ostk/astrodynamics/test/test_viewer.py +70 -1
  40. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py +136 -0
  41. ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +9 -0
  42. ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py +4 -2
  43. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +25 -15
  44. ostk/astrodynamics/test/trajectory/test_propagator.py +21 -27
  45. ostk/astrodynamics/test/trajectory/test_segment.py +0 -1
  46. ostk/astrodynamics/test/trajectory/test_state_builder.py +1 -0
  47. ostk/astrodynamics/trajectory/__init__.pyi +1800 -0
  48. ostk/astrodynamics/trajectory/orbit/__init__.pyi +361 -0
  49. ostk/astrodynamics/trajectory/orbit/message/__init__.pyi +3 -0
  50. ostk/astrodynamics/trajectory/orbit/message/spacex.pyi +273 -0
  51. ostk/astrodynamics/trajectory/orbit/model/__init__.pyi +517 -0
  52. ostk/astrodynamics/trajectory/orbit/model/brouwerLyddaneMean.pyi +127 -0
  53. ostk/astrodynamics/trajectory/orbit/model/kepler.pyi +581 -0
  54. ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi +333 -0
  55. ostk/astrodynamics/trajectory/state/__init__.pyi +406 -0
  56. ostk/astrodynamics/trajectory/state/coordinate_subset.pyi +223 -0
  57. ostk/astrodynamics/viewer.py +32 -0
  58. ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.13 +0 -0
  59. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/top_level.txt +0 -0
  60. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/zip-safe +0 -0
@@ -0,0 +1,588 @@
1
+ from __future__ import annotations
2
+ import numpy
3
+ import ostk.astrodynamics
4
+ import ostk.astrodynamics.trajectory
5
+ import ostk.core.type
6
+ import ostk.mathematics.object
7
+ import ostk.physics
8
+ import ostk.physics.coordinate
9
+ import ostk.physics.coordinate.spherical
10
+ import ostk.physics.environment.object
11
+ import ostk.physics.time
12
+ import typing
13
+ __all__ = ['AccessTarget', 'Generator', 'VisibilityCriterion']
14
+ class AccessTarget:
15
+ """
16
+
17
+ Represents the configuration for an Access target, including azimuth, elevation, and range intervals, as well
18
+ as position and LLA (Latitude, Longitude, Altitude).
19
+
20
+ """
21
+ class Type:
22
+ """
23
+
24
+ Enumeration of Access Target types.
25
+
26
+
27
+ Members:
28
+
29
+ Fixed
30
+
31
+ Trajectory
32
+ """
33
+ Fixed: typing.ClassVar[AccessTarget.Type] # value = <Type.Fixed: 0>
34
+ Trajectory: typing.ClassVar[AccessTarget.Type] # value = <Type.Trajectory: 1>
35
+ __members__: typing.ClassVar[dict[str, AccessTarget.Type]] # value = {'Fixed': <Type.Fixed: 0>, 'Trajectory': <Type.Trajectory: 1>}
36
+ @staticmethod
37
+ def _pybind11_conduit_v1_(*args, **kwargs):
38
+ ...
39
+ def __eq__(self, other: typing.Any) -> bool:
40
+ ...
41
+ def __getstate__(self) -> int:
42
+ ...
43
+ def __hash__(self) -> int:
44
+ ...
45
+ def __index__(self) -> int:
46
+ ...
47
+ def __init__(self, value: int) -> None:
48
+ ...
49
+ def __int__(self) -> int:
50
+ ...
51
+ def __ne__(self, other: typing.Any) -> bool:
52
+ ...
53
+ def __repr__(self) -> str:
54
+ ...
55
+ def __setstate__(self, state: int) -> None:
56
+ ...
57
+ def __str__(self) -> str:
58
+ ...
59
+ @property
60
+ def name(self) -> str:
61
+ ...
62
+ @property
63
+ def value(self) -> int:
64
+ ...
65
+ Fixed: typing.ClassVar[AccessTarget.Type] # value = <Type.Fixed: 0>
66
+ Trajectory: typing.ClassVar[AccessTarget.Type] # value = <Type.Trajectory: 1>
67
+ @staticmethod
68
+ def _pybind11_conduit_v1_(*args, **kwargs):
69
+ ...
70
+ @staticmethod
71
+ def from_lla(visibility_criterion: typing.Any, lla: ostk.physics.coordinate.spherical.LLA, celestial: ostk.physics.environment.object.Celestial) -> AccessTarget:
72
+ """
73
+ Create an AccessTarget from latitude, longitude, and altitude (LLA).
74
+
75
+ Args:
76
+ visibility_criterion (VisibilityCriterion): The visibility criterion.
77
+ lla (LLA): The latitude, longitude, and altitude.
78
+ celestial (Celestial): The celestial body.
79
+
80
+ Returns:
81
+ AccessTarget: The created AccessTarget instance.
82
+ """
83
+ @staticmethod
84
+ def from_position(visibility_criterion: typing.Any, position: ostk.physics.coordinate.Position) -> AccessTarget:
85
+ """
86
+ Create an AccessTarget from a fixed position.
87
+
88
+ Args:
89
+ visibility_criterion (VisibilityCriterion): The visibility criterion.
90
+ position (Position): The fixed position.
91
+
92
+ Returns:
93
+ AccessTarget: The created AccessTarget instance.
94
+ """
95
+ @staticmethod
96
+ def from_trajectory(visibility_criterion: typing.Any, trajectory: ostk.astrodynamics.Trajectory) -> AccessTarget:
97
+ """
98
+ Create an AccessTarget from a trajectory.
99
+
100
+ Args:
101
+ visibility_criterion (VisibilityCriterion): The visibility criterion.
102
+ trajectory (Trajectory): The trajectory.
103
+
104
+ Returns:
105
+ AccessTarget: The created AccessTarget instance.
106
+ """
107
+ def compute_r_sez_ecef(self, celestial: ostk.physics.environment.object.Celestial) -> numpy.ndarray[numpy.float64[3, 3]]:
108
+ """
109
+ Compute the rotation matrix from ECEF to SEZ frame.
110
+
111
+ Args:
112
+ celestial (Celestial): The celestial body for the rotation computation.
113
+
114
+ Returns:
115
+ numpy.ndarray: The rotation matrix (3x3).
116
+ """
117
+ def get_lla(self, celestial: ostk.physics.environment.object.Celestial) -> ostk.physics.coordinate.spherical.LLA:
118
+ """
119
+ Get the latitude, longitude, and altitude (LLA) of the access target.
120
+
121
+ Args:
122
+ celestial (Celestial): The celestial body for the LLA computation.
123
+
124
+ Returns:
125
+ LLA: The latitude, longitude, and altitude.
126
+ """
127
+ def get_position(self) -> ostk.physics.coordinate.Position:
128
+ """
129
+ Get the fixed position associated with the access target.
130
+
131
+ Returns:
132
+ Position: The position.
133
+ """
134
+ def get_trajectory(self) -> ostk.astrodynamics.Trajectory:
135
+ """
136
+ Get the trajectory associated with the access target.
137
+
138
+ Returns:
139
+ Trajectory: The trajectory.
140
+ """
141
+ def get_type(self) -> AccessTarget.Type:
142
+ """
143
+ Get the type of the access target.
144
+
145
+ Returns:
146
+ AccessTarget.Type: The type of the access target.
147
+ """
148
+ def get_visibility_criterion(self) -> ...:
149
+ """
150
+ Get the visibility criterion associated with the access target.
151
+
152
+ Returns:
153
+ VisibilityCriterion: The visibility criterion.
154
+ """
155
+ class Generator:
156
+ """
157
+
158
+ An access generator.
159
+
160
+
161
+ """
162
+ @staticmethod
163
+ def _pybind11_conduit_v1_(*args, **kwargs):
164
+ ...
165
+ @staticmethod
166
+ def undefined() -> Generator:
167
+ """
168
+ Get an undefined generator.
169
+
170
+ Returns:
171
+ Generator: An undefined generator.
172
+ """
173
+ def __init__(self, environment: ostk.physics.Environment, step: ostk.physics.time.Duration = ..., tolerance: ostk.physics.time.Duration = ..., access_filter: typing.Callable[[ostk.astrodynamics.Access], bool] = None, state_filter: typing.Callable[[ostk.astrodynamics.trajectory.State, ostk.astrodynamics.trajectory.State], bool] = None) -> None:
174
+ """
175
+ Constructor.
176
+
177
+ Args:
178
+ environment (Environment): The environment.
179
+ step (Duration): The step. Defaults to Duration.minutes(1.0).
180
+ tolerance (Duration): The tolerance. Defaults to Duration.microseconds(1.0).
181
+ access_filter (function): The access filter. Defaults to None.
182
+ state_filter (function): The state filter. Defaults to None.
183
+ """
184
+ @typing.overload
185
+ def compute_accesses(self, interval: ostk.physics.time.Interval, access_target: AccessTarget, to_trajectory: ostk.astrodynamics.Trajectory, coarse: bool = False) -> list[ostk.astrodynamics.Access]:
186
+ """
187
+ Compute the accesses.
188
+
189
+ Args:
190
+ interval (Interval): The time interval over which to compute accesses.
191
+ access_target (AccessTarget): The access target to compute the accesses with.
192
+ to_trajectory (Trajectory): The trajectory to co compute the accesses with.
193
+ coarse (bool): True to use coarse mode. Defaults to False. Only available for fixed targets.
194
+
195
+ Returns:
196
+ Accesses: The accesses.
197
+ """
198
+ @typing.overload
199
+ def compute_accesses(self, interval: ostk.physics.time.Interval, access_targets: list[AccessTarget], to_trajectory: ostk.astrodynamics.Trajectory, coarse: bool = False) -> list[list[ostk.astrodynamics.Access]]:
200
+ """
201
+ Compute the accesses.
202
+
203
+ Args:
204
+ interval (Interval): The time interval over which to compute accesses.
205
+ access_targets (list[AccessTarget]): The access targets to compute the accesses with.
206
+ to_trajectory (Trajectory): The trajectory to co compute the accesses with.
207
+ coarse (bool): True to use coarse mode. Defaults to False. Only available for fixed targets.
208
+
209
+ Returns:
210
+ Accesses: The accesses.
211
+ """
212
+ def get_access_filter(self) -> typing.Callable[[ostk.astrodynamics.Access], bool]:
213
+ """
214
+ Get the access filter.
215
+
216
+ Returns:
217
+ function: The access filter.
218
+ """
219
+ def get_condition_function(self, access_target: AccessTarget, to_trajectory: ostk.astrodynamics.Trajectory) -> typing.Callable[[ostk.physics.time.Instant], bool]:
220
+ """
221
+ Get the condition function.
222
+
223
+ Args:
224
+ access_target (AccessTarget): The access target from which the condition function is being evaluated against.
225
+ to_trajectory (Trajectory): The trajectory to which the condition function is being evaluated against.
226
+
227
+ Returns:
228
+ function: The condition function.
229
+ """
230
+ def get_state_filter(self) -> typing.Callable[[ostk.astrodynamics.trajectory.State, ostk.astrodynamics.trajectory.State], bool]:
231
+ """
232
+ Get the state filter.
233
+
234
+ Returns:
235
+ function: The state filter.
236
+ """
237
+ def get_step(self) -> ostk.physics.time.Duration:
238
+ """
239
+ Get the step.
240
+
241
+ Returns:
242
+ Duration: The step.
243
+ """
244
+ def get_tolerance(self) -> ostk.physics.time.Duration:
245
+ """
246
+ Get the tolerance.
247
+
248
+ Returns:
249
+ Duration: The tolerance.
250
+ """
251
+ def is_defined(self) -> bool:
252
+ """
253
+ Check if the generator is defined.
254
+
255
+ Returns:
256
+ bool: True if the generator is defined, False otherwise.
257
+ """
258
+ def set_access_filter(self, access_filter: typing.Callable[[ostk.astrodynamics.Access], bool]) -> None:
259
+ """
260
+ Set the access filter.
261
+
262
+ Args:
263
+ access_filter (function): The access filter.
264
+ """
265
+ def set_state_filter(self, state_filter: typing.Callable[[ostk.astrodynamics.trajectory.State, ostk.astrodynamics.trajectory.State], bool]) -> None:
266
+ """
267
+ Set the state filter.
268
+
269
+ Args:
270
+ state_filter (function): The state filter.
271
+ """
272
+ def set_step(self, step: ostk.physics.time.Duration) -> None:
273
+ """
274
+ Set the step.
275
+
276
+ Args:
277
+ step (Duration): The step.
278
+ """
279
+ def set_tolerance(self, tolerance: ostk.physics.time.Duration) -> None:
280
+ """
281
+ Set the tolerance.
282
+
283
+ Args:
284
+ tolerance (Duration): The tolerance.
285
+ """
286
+ class VisibilityCriterion:
287
+ """
288
+
289
+ A class representing a visibility criterion for accesses between objects.
290
+
291
+ """
292
+ class AERInterval:
293
+ """
294
+
295
+ An AER interval visibility criterion.
296
+
297
+ """
298
+ @staticmethod
299
+ def _pybind11_conduit_v1_(*args, **kwargs):
300
+ ...
301
+ def __init__(self, azimuth_interval: ostk.mathematics.object.RealInterval, elevation_interval: ostk.mathematics.object.RealInterval, range_interval: ostk.mathematics.object.RealInterval) -> None:
302
+ """
303
+ Constructs an AER interval.
304
+
305
+ Args:
306
+ azimuth_interval (RealInterval): Azimuth interval in degrees.
307
+ elevation_interval (RealInterval): Elevation interval in degrees.
308
+ range_interval (RealInterval): Range interval in meters.
309
+ """
310
+ @typing.overload
311
+ def is_satisfied(self, aer: ostk.physics.coordinate.spherical.AER) -> bool:
312
+ """
313
+ Checks if the given AER satisfies the criterion.
314
+
315
+ Args:
316
+ aer (AER): The Azimuth, Elevation, and Range to check.
317
+
318
+ Returns:
319
+ bool: True if the criterion is satisfied, False otherwise.
320
+ """
321
+ @typing.overload
322
+ def is_satisfied(self, azimuth: ostk.core.type.Real, elevation: ostk.core.type.Real, range: ostk.core.type.Real) -> bool:
323
+ """
324
+ Checks if the given Azimuth, Elevation, and Range values satisfy the criterion.
325
+
326
+ Args:
327
+ azimuth (float): Azimuth in radians.
328
+ elevation (float): Elevation in radians.
329
+ range (float): Range in meters.
330
+
331
+ Returns:
332
+ bool: True if the criterion is satisfied, False otherwise.
333
+ """
334
+ @property
335
+ def azimuth(self) -> ostk.mathematics.object.RealInterval:
336
+ """
337
+ Azimuth interval in radians.
338
+
339
+ :type: RealInterval
340
+ """
341
+ @property
342
+ def elevation(self) -> ostk.mathematics.object.RealInterval:
343
+ """
344
+ Elevation interval in radians.
345
+
346
+ :type: RealInterval
347
+ """
348
+ @property
349
+ def range(self) -> ostk.mathematics.object.RealInterval:
350
+ """
351
+ Range interval in meters.
352
+
353
+ :type: RealInterval
354
+ """
355
+ class AERMask:
356
+ """
357
+
358
+ An AER mask visibility criterion.
359
+
360
+ """
361
+ @staticmethod
362
+ def _pybind11_conduit_v1_(*args, **kwargs):
363
+ ...
364
+ def __init__(self, azimuth_elevation_mask: dict[ostk.core.type.Real, ostk.core.type.Real], range_interval: ostk.mathematics.object.RealInterval) -> None:
365
+ """
366
+ Constructs an AER mask.
367
+
368
+ Args:
369
+ azimuth_elevation_mask (dict): A map of azimuth angles (degrees) to elevation angles (degrees).
370
+ range_interval (RealInterval): Range interval in meters.
371
+ """
372
+ @typing.overload
373
+ def is_satisfied(self, aer: ostk.physics.coordinate.spherical.AER) -> bool:
374
+ """
375
+ Checks if the given AER satisfies the criterion.
376
+
377
+ Args:
378
+ aer (AER): The Azimuth, Elevation, and Range to check.
379
+
380
+ Returns:
381
+ bool: True if the criterion is satisfied, False otherwise.
382
+ """
383
+ @typing.overload
384
+ def is_satisfied(self, azimuth: ostk.core.type.Real, elevation: ostk.core.type.Real, range: ostk.core.type.Real) -> bool:
385
+ """
386
+ Checks if the given Azimuth, Elevation, and Range values satisfy the criterion.
387
+
388
+ Args:
389
+ azimuth (float): Azimuth in radians.
390
+ elevation (float): Elevation in radians.
391
+ range (float): Range in meters.
392
+
393
+ Returns:
394
+ bool: True if the criterion is satisfied, False otherwise.
395
+ """
396
+ @property
397
+ def azimuth_elevation_mask(self) -> dict[ostk.core.type.Real, ostk.core.type.Real]:
398
+ """
399
+ A map of azimuth angles to elevation angles in radians defining the mask.
400
+
401
+ :type: dict
402
+ """
403
+ @property
404
+ def range(self) -> ostk.mathematics.object.RealInterval:
405
+ """
406
+ Range interval in meters.
407
+
408
+ :type: RealInterval
409
+ """
410
+ class ElevationInterval:
411
+ """
412
+
413
+ An elevation interval visibility criterion.
414
+
415
+ """
416
+ @staticmethod
417
+ def _pybind11_conduit_v1_(*args, **kwargs):
418
+ ...
419
+ def __init__(self, elevation_interval: ostk.mathematics.object.RealInterval) -> None:
420
+ """
421
+ Constructs an ElevationInterval visibility criterion.
422
+
423
+ Args:
424
+ elevation_interval (RealInterval): The elevation interval in degrees.
425
+ """
426
+ def is_satisfied(self, elevation: ostk.core.type.Real) -> bool:
427
+ """
428
+ Checks if the given elevation angle satisfies the criterion.
429
+
430
+ Args:
431
+ elevation (float): Elevation angle in radians.
432
+
433
+ Returns:
434
+ bool: True if the criterion is satisfied, False otherwise.
435
+ """
436
+ @property
437
+ def elevation(self) -> ostk.mathematics.object.RealInterval:
438
+ """
439
+ Elevation interval in radians.
440
+
441
+ :type: RealInterval
442
+ """
443
+ class LineOfSight:
444
+ """
445
+
446
+ A line-of-sight visibility criterion.
447
+
448
+ """
449
+ @staticmethod
450
+ def _pybind11_conduit_v1_(*args, **kwargs):
451
+ ...
452
+ def __init__(self, environment: ostk.physics.Environment) -> None:
453
+ """
454
+ Constructs a LineOfSight visibility criterion.
455
+
456
+ Args:
457
+ environment (Environment): The environment to consider for line-of-sight calculations.
458
+ """
459
+ def is_satisfied(self, instant: ostk.physics.time.Instant, from_position_coordinates: numpy.ndarray[numpy.float64[3, 1]], to_position_coordinates: numpy.ndarray[numpy.float64[3, 1]]) -> bool:
460
+ """
461
+ Checks if the line-of-sight criterion is satisfied between two positions at a given instant.
462
+
463
+ Args:
464
+ instant (Instant): The time at which to perform the check.
465
+ from_position_coordinates (np.ndarray): The position coordinates (in meters) of the observer.
466
+ to_position_coordinates (np.ndarray): The position coordinates (in meters) of the target.
467
+
468
+ Returns:
469
+ bool: True if there is a clear line of sight, False otherwise.
470
+ """
471
+ @staticmethod
472
+ def _pybind11_conduit_v1_(*args, **kwargs):
473
+ ...
474
+ @staticmethod
475
+ def from_aer_interval(azimuth_interval: ostk.mathematics.object.RealInterval, elevation_interval: ostk.mathematics.object.RealInterval, range_interval: ostk.mathematics.object.RealInterval) -> VisibilityCriterion:
476
+ """
477
+ Creates a visibility criterion from azimuth, elevation, and range intervals.
478
+
479
+ Args:
480
+ azimuth_interval (RealInterval): Azimuth interval in degrees.
481
+ elevation_interval (RealInterval): Elevation interval in degrees.
482
+ range_interval (RealInterval): Range interval in meters.
483
+
484
+ Returns:
485
+ VisibilityCriterion: The visibility criterion instance.
486
+ """
487
+ @staticmethod
488
+ def from_aer_mask(azimuth_elevation_mask: dict[ostk.core.type.Real, ostk.core.type.Real], range_interval: ostk.mathematics.object.RealInterval) -> VisibilityCriterion:
489
+ """
490
+ Creates a visibility criterion from an azimuth-elevation mask and range interval.
491
+
492
+ Args:
493
+ azimuth_elevation_mask (dict): A map of azimuth angles (degrees) to elevation angles (degrees).
494
+ range_interval (RealInterval): Range interval in meters.
495
+
496
+ Returns:
497
+ VisibilityCriterion: The visibility criterion instance.
498
+ """
499
+ @staticmethod
500
+ def from_elevation_interval(elevation_interval: ostk.mathematics.object.RealInterval) -> VisibilityCriterion:
501
+ """
502
+ Creates a visibility criterion from an elevation interval.
503
+
504
+ Args:
505
+ elevation_interval (RealInterval): The elevation interval in radians.
506
+
507
+ Returns:
508
+ VisibilityCriterion: The visibility criterion instance.
509
+ """
510
+ @staticmethod
511
+ def from_line_of_sight(environment: ostk.physics.Environment) -> VisibilityCriterion:
512
+ """
513
+ Creates a visibility criterion based on line-of-sight considerations.
514
+
515
+ Args:
516
+ environment (Environment): The environment to consider for line-of-sight calculations.
517
+
518
+ Returns:
519
+ VisibilityCriterion: The visibility criterion instance.
520
+ """
521
+ def as_aer_interval(self) -> VisibilityCriterion.AERInterval | None:
522
+ """
523
+ Casts the visibility criterion to an AERInterval.
524
+
525
+ Returns:
526
+ AERInterval: The AERInterval criterion.
527
+
528
+ Raises:
529
+ ValueError: If the criterion is not an AERInterval.
530
+ """
531
+ def as_aer_mask(self) -> VisibilityCriterion.AERMask | None:
532
+ """
533
+ Casts the visibility criterion to an AERMask.
534
+
535
+ Returns:
536
+ AERMask: The AERMask criterion.
537
+
538
+ Raises:
539
+ ValueError: If the criterion is not an AERMask.
540
+ """
541
+ def as_elevation_interval(self) -> VisibilityCriterion.ElevationInterval | None:
542
+ """
543
+ Casts the visibility criterion to an ElevationInterval.
544
+
545
+ Returns:
546
+ ElevationInterval: The ElevationInterval criterion.
547
+
548
+ Raises:
549
+ ValueError: If the criterion is not an ElevationInterval.
550
+ """
551
+ def as_line_of_sight(self) -> VisibilityCriterion.LineOfSight | None:
552
+ """
553
+ Casts the visibility criterion to a LineOfSight.
554
+
555
+ Returns:
556
+ LineOfSight: The LineOfSight criterion.
557
+
558
+ Raises:
559
+ ValueError: If the criterion is not a LineOfSight.
560
+ """
561
+ def is_aer_interval(self) -> bool:
562
+ """
563
+ Checks if the visibility criterion is an AERInterval.
564
+
565
+ Returns:
566
+ bool: True if it is an AERInterval criterion, False otherwise.
567
+ """
568
+ def is_aer_mask(self) -> bool:
569
+ """
570
+ Checks if the visibility criterion is an AERMask.
571
+
572
+ Returns:
573
+ bool: True if it is an AERMask criterion, False otherwise.
574
+ """
575
+ def is_elevation_interval(self) -> bool:
576
+ """
577
+ Checks if the visibility criterion is an ElevationInterval.
578
+
579
+ Returns:
580
+ bool: True if it is an ElevationInterval criterion, False otherwise.
581
+ """
582
+ def is_line_of_sight(self) -> bool:
583
+ """
584
+ Checks if the visibility criterion is a LineOfSight.
585
+
586
+ Returns:
587
+ bool: True if it is a LineOfSight criterion, False otherwise.
588
+ """
@@ -0,0 +1,3 @@
1
+ from __future__ import annotations
2
+ from . import message
3
+ __all__ = ['message']
@@ -0,0 +1,3 @@
1
+ from __future__ import annotations
2
+ from . import ccsds
3
+ __all__ = ['ccsds']