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,720 @@
1
+ from __future__ import annotations
2
+ import numpy
3
+ from ostk import astrodynamics as OpenSpaceToolkitAstrodynamicsPy
4
+ from ostk.astrodynamics.trajectory import State as PyState
5
+ from ostk import core as OpenSpaceToolkitCorePy
6
+ from ostk.core import container
7
+ from ostk.core import filesystem
8
+ from ostk.core import type
9
+ import ostk.core.type
10
+ from ostk import io as OpenSpaceToolkitIOPy
11
+ from ostk.io import URL
12
+ from ostk.io import ip
13
+ from ostk import mathematics as OpenSpaceToolkitMathematicsPy
14
+ from ostk.mathematics import curve_fitting
15
+ from ostk.mathematics import geometry
16
+ from ostk.mathematics import object
17
+ import ostk.physics
18
+ from ostk import physics as OpenSpaceToolkitPhysicsPy
19
+ from ostk.physics import Environment
20
+ from ostk.physics import Manager
21
+ from ostk.physics import Unit
22
+ import ostk.physics.coordinate
23
+ from ostk.physics import coordinate
24
+ from ostk.physics import environment
25
+ import ostk.physics.time
26
+ from ostk.physics import time
27
+ from ostk.physics import unit
28
+ import ostk.physics.unit
29
+ import typing
30
+ from . import access
31
+ from . import conjunction
32
+ from . import converters
33
+ from . import data
34
+ from . import dynamics
35
+ from . import eclipse
36
+ from . import estimator
37
+ from . import event_condition
38
+ from . import flight
39
+ from . import guidance_law
40
+ from . import pytrajectory
41
+ from . import solver
42
+ from . import trajectory
43
+ __all__ = ['Access', 'Dynamics', 'Environment', 'EventCondition', 'GuidanceLaw', 'Manager', 'OpenSpaceToolkitAstrodynamicsPy', 'OpenSpaceToolkitCorePy', 'OpenSpaceToolkitIOPy', 'OpenSpaceToolkitMathematicsPy', 'OpenSpaceToolkitPhysicsPy', 'PyState', 'RootSolver', 'Trajectory', 'URL', 'Unit', 'access', 'conjunction', 'container', 'converters', 'coordinate', 'curve_fitting', 'data', 'dynamics', 'eclipse', 'environment', 'estimator', 'event_condition', 'filesystem', 'flight', 'geometry', 'guidance_law', 'ip', 'object', 'pytrajectory', 'solver', 'time', 'trajectory', 'type', 'unit']
44
+ class Access:
45
+ """
46
+
47
+ Object-to-object visibility
48
+
49
+ This class encapsulates the concept of visibility access between two trajectories.
50
+
51
+
52
+ """
53
+ class Type:
54
+ """
55
+
56
+ Access type.
57
+
58
+
59
+ Members:
60
+
61
+ Undefined : Undefined
62
+
63
+ Complete : Complete
64
+
65
+ Partial : Partial
66
+ """
67
+ Complete: typing.ClassVar[Access.Type] # value = <Type.Complete: 1>
68
+ Partial: typing.ClassVar[Access.Type] # value = <Type.Partial: 2>
69
+ Undefined: typing.ClassVar[Access.Type] # value = <Type.Undefined: 0>
70
+ __members__: typing.ClassVar[dict[str, Access.Type]] # value = {'Undefined': <Type.Undefined: 0>, 'Complete': <Type.Complete: 1>, 'Partial': <Type.Partial: 2>}
71
+ def __eq__(self, other: typing.Any) -> bool:
72
+ ...
73
+ def __getstate__(self) -> int:
74
+ ...
75
+ def __hash__(self) -> int:
76
+ ...
77
+ def __index__(self) -> int:
78
+ ...
79
+ def __init__(self, value: int) -> None:
80
+ ...
81
+ def __int__(self) -> int:
82
+ ...
83
+ def __ne__(self, other: typing.Any) -> bool:
84
+ ...
85
+ def __repr__(self) -> str:
86
+ ...
87
+ def __setstate__(self, state: int) -> None:
88
+ ...
89
+ def __str__(self) -> str:
90
+ ...
91
+ @property
92
+ def name(self) -> str:
93
+ ...
94
+ @property
95
+ def value(self) -> int:
96
+ ...
97
+ __hash__: typing.ClassVar[None] = None
98
+ @staticmethod
99
+ def string_from_type(type: Access.Type) -> ostk.core.type.String:
100
+ """
101
+ Returns a string representation of the Access type.
102
+
103
+ Args:
104
+ type (Access.Type): The type of the access.
105
+
106
+ Returns:
107
+ str: A string representation of the type.
108
+ """
109
+ @staticmethod
110
+ def undefined() -> Access:
111
+ """
112
+ Creates an undefined Access object.
113
+
114
+ Returns:
115
+ Access: An undefined Access object.
116
+ """
117
+ def __eq__(self, arg0: Access) -> bool:
118
+ ...
119
+ def __init__(self, type: Access.Type, acquisition_of_signal: ostk.physics.time.Instant, time_of_closest_approach: ostk.physics.time.Instant, loss_of_signal: ostk.physics.time.Instant, max_elevation: ostk.physics.unit.Angle) -> None:
120
+ """
121
+ Constructs an Access object.
122
+
123
+ Args:
124
+ type (Access.Type): Type of the access (Complete, Partial, Undefined)
125
+ acquisition_of_signal (Instant): The instant when the signal is first acquired
126
+ time_of_closest_approach (Instant): The time of closest approach between objects
127
+ loss_of_signal (Instant): The instant when the signal is lost
128
+ max_elevation (Angle): The maximum elevation angle during the access
129
+ """
130
+ def __ne__(self, arg0: Access) -> bool:
131
+ ...
132
+ def __repr__(self) -> str:
133
+ ...
134
+ def __str__(self) -> str:
135
+ ...
136
+ def get_acquisition_of_signal(self) -> ostk.physics.time.Instant:
137
+ """
138
+ Get the acquisition of signal of the access.
139
+
140
+ Returns:
141
+ Instant: The acquisition of signal of the access.
142
+ """
143
+ def get_duration(self) -> ostk.physics.time.Duration:
144
+ """
145
+ Get the duration of the access.
146
+
147
+ Returns:
148
+ Duration: The duration of the access.
149
+ """
150
+ def get_interval(self) -> ostk.physics.time.Interval:
151
+ """
152
+ Get the interval of the access.
153
+
154
+ Returns:
155
+ Interval: The interval of the access.
156
+ """
157
+ def get_loss_of_signal(self) -> ostk.physics.time.Instant:
158
+ """
159
+ Get the loss of signal of the access.
160
+
161
+ Returns:
162
+ Instant: The loss of signal of the access.
163
+ """
164
+ def get_max_elevation(self) -> ostk.physics.unit.Angle:
165
+ """
166
+ Get the maximum elevation of the access.
167
+
168
+ Returns:
169
+ Angle: The maximum elevation of the access.
170
+ """
171
+ def get_time_of_closest_approach(self) -> ostk.physics.time.Instant:
172
+ """
173
+ Get the time of closest approach of the access.
174
+
175
+ Returns:
176
+ Instant: The time of closest approach of the access.
177
+ """
178
+ def get_type(self) -> Access.Type:
179
+ """
180
+ Get the type of the access.
181
+
182
+ Returns:
183
+ Access.Type: The type of the access.
184
+ """
185
+ def is_complete(self) -> bool:
186
+ """
187
+ Check if the access is complete.
188
+
189
+ Returns:
190
+ bool: True if complete, False otherwise.
191
+ """
192
+ def is_defined(self) -> bool:
193
+ """
194
+ Check if the Access object is defined.
195
+
196
+ Returns:
197
+ bool: True if defined, False otherwise.
198
+ """
199
+ class Dynamics:
200
+ """
201
+
202
+ Abstract interface class for dynamics.
203
+
204
+ Can inherit and provide the virtual methods:
205
+ - is_defined
206
+ - get_read_coordinate_subsets
207
+ - get_write_coordinate_subsets
208
+ - compute_contribution
209
+ to create a custom dynamics class.
210
+
211
+
212
+ """
213
+ @staticmethod
214
+ def from_environment(environment: ostk.physics.Environment) -> list[Dynamics]:
215
+ """
216
+ Create a list of `Dynamics` objects from an environment.
217
+
218
+ Args:
219
+ environment (Environment): The environment to create the dynamics from.
220
+
221
+ Returns:
222
+ dynamics (list[Dynamics]): The list of `Dynamics` objects created from the environment.
223
+ """
224
+ def __init__(self, name: ostk.core.type.String) -> None:
225
+ """
226
+ Construct a new `Dynamics` object.
227
+
228
+ Args:
229
+ name (str): The name of the dynamics.
230
+
231
+ Returns:
232
+ dynamics (Dynamics): The new `Dynamics` object.
233
+ """
234
+ def __repr__(self) -> str:
235
+ ...
236
+ def __str__(self) -> str:
237
+ ...
238
+ def compute_contribution(self, instant: ostk.physics.time.Instant, state_vector: numpy.ndarray[numpy.float64[m, 1]], frame: ostk.physics.coordinate.Frame) -> numpy.ndarray[numpy.float64[m, 1]]:
239
+ """
240
+ Compute the contribution of the dynamics at a given instant.
241
+
242
+ Args:
243
+ instant (Instant): The instant at which to compute the contribution.
244
+ state_vector (numpy.ndarray): The state vector at the instant.
245
+ frame (Frame): The reference frame in which to compute the contribution.
246
+
247
+ Returns:
248
+ contribution (numpy.ndarray): The contribution of the dynamics at the instant.
249
+ """
250
+ def get_name(self) -> ostk.core.type.String:
251
+ """
252
+ Get the name of the dynamics.
253
+
254
+ Returns:
255
+ name (str): The name of the dynamics.
256
+ """
257
+ def get_read_coordinate_subsets(self) -> list[trajectory.state.CoordinateSubset]:
258
+ """
259
+ Get the coordinate subsets that the dynamics reads.
260
+
261
+ Returns:
262
+ read_coordinate_subsets (Array<CoordinateSubset>): The coordinate subsets that the dynamics reads.
263
+ """
264
+ def get_write_coordinate_subsets(self) -> list[trajectory.state.CoordinateSubset]:
265
+ """
266
+ Get the coordinate subsets that the dynamics writes.
267
+
268
+ Returns:
269
+ write_coordinate_subsets (Array<CoordinateSubset>): The coordinate subsets that the dynamics writes.
270
+ """
271
+ def is_defined(self) -> bool:
272
+ """
273
+ Check if the dynamics is defined.
274
+
275
+ Returns:
276
+ is_defined (bool): True if the dynamics is defined, False otherwise.
277
+ """
278
+ class EventCondition:
279
+ """
280
+
281
+ An Event Condition defines a criterion that can be evaluated based on a current/previous state vectors and times
282
+
283
+
284
+ """
285
+ class Target:
286
+ """
287
+
288
+ The Event Condition Target.
289
+
290
+
291
+ """
292
+ class Type:
293
+ """
294
+
295
+ Event Condition Target type.
296
+
297
+
298
+ Members:
299
+
300
+ Absolute : Absolute
301
+
302
+ Relative : Relative to the provided State.
303
+ """
304
+ Absolute: typing.ClassVar[EventCondition.Target.Type] # value = <Type.Absolute: 0>
305
+ Relative: typing.ClassVar[EventCondition.Target.Type] # value = <Type.Relative: 1>
306
+ __members__: typing.ClassVar[dict[str, EventCondition.Target.Type]] # value = {'Absolute': <Type.Absolute: 0>, 'Relative': <Type.Relative: 1>}
307
+ def __eq__(self, other: typing.Any) -> bool:
308
+ ...
309
+ def __getstate__(self) -> int:
310
+ ...
311
+ def __hash__(self) -> int:
312
+ ...
313
+ def __index__(self) -> int:
314
+ ...
315
+ def __init__(self, value: int) -> None:
316
+ ...
317
+ def __int__(self) -> int:
318
+ ...
319
+ def __ne__(self, other: typing.Any) -> bool:
320
+ ...
321
+ def __repr__(self) -> str:
322
+ ...
323
+ def __setstate__(self, state: int) -> None:
324
+ ...
325
+ def __str__(self) -> str:
326
+ ...
327
+ @property
328
+ def name(self) -> str:
329
+ ...
330
+ @property
331
+ def value(self) -> int:
332
+ ...
333
+ __hash__: typing.ClassVar[None] = None
334
+ @staticmethod
335
+ def StringFromType(arg0: EventCondition.Target.Type) -> ostk.core.type.String:
336
+ """
337
+ Enum as a string
338
+
339
+ Args:
340
+ type (EventConditionTarget.Type): The type of the target.
341
+
342
+ Returns:
343
+ string (str): Name of the enum as a string.
344
+ """
345
+ def __eq__(self, arg0: EventCondition.Target) -> bool:
346
+ ...
347
+ @typing.overload
348
+ def __init__(self, value: ostk.core.type.Real, type: EventCondition.Target.Type = ...) -> None:
349
+ """
350
+ Construct a new `EventConditionTarget` object.
351
+
352
+ Args:
353
+ value (float): The value of the target.
354
+ type (EventConditionTarget.Type): The type of the target. Defaults to EventConditionTarget.Type.Absolute.
355
+
356
+ Returns:
357
+ event_condition_target (EventConditionTarget): The new `EventConditionTarget` object.
358
+ """
359
+ @typing.overload
360
+ def __init__(self, value: ostk.physics.unit.Length, type: EventCondition.Target.Type = ...) -> None:
361
+ """
362
+ Construct a new `EventConditionTarget` object.
363
+
364
+ Args:
365
+ length (Length): The value of the target as a `Length`.
366
+ type (EventConditionTarget.Type): The type of the target. Defaults to EventConditionTarget.Type.Absolute.
367
+
368
+ Returns:
369
+ event_condition_target (EventConditionTarget): The new `EventConditionTarget` object.
370
+ """
371
+ @typing.overload
372
+ def __init__(self, value: ostk.physics.unit.Angle, type: EventCondition.Target.Type = ...) -> None:
373
+ """
374
+ Construct a new `EventConditionTarget` object.
375
+
376
+ Args:
377
+ angle (Angle): The value of the target as an `Angle`.
378
+ type (EventConditionTarget.Type): The type of the target. Defaults to EventConditionTarget.Type.Absolute.
379
+
380
+ Returns:
381
+ event_condition_target (EventConditionTarget): The new `EventConditionTarget` object.
382
+ """
383
+ def __ne__(self, arg0: EventCondition.Target) -> bool:
384
+ ...
385
+ @property
386
+ def type(self) -> EventCondition.Target.Type:
387
+ """
388
+ The type of the target.
389
+
390
+ :type: Type
391
+ """
392
+ @property
393
+ def value(self) -> ostk.core.type.Real:
394
+ """
395
+ The value of the target.
396
+
397
+ :type: float
398
+ """
399
+ @property
400
+ def value_offset(self) -> ostk.core.type.Real:
401
+ """
402
+ The value offset of the target. Used for Relative targets.
403
+
404
+ :type: float
405
+ """
406
+ @typing.overload
407
+ def __init__(self, name: ostk.core.type.String, evaluator: typing.Callable[[trajectory.State], ostk.core.type.Real], target: EventCondition.Target) -> None:
408
+ """
409
+ Construct a new `EventCondition` object.
410
+
411
+ Args:
412
+ name (str): The name of the event condition.
413
+ evaluator (callable): The evaluator that accepts a `State` and returns a float value.
414
+ target (EventConditionTarget): The target of the event condition.
415
+
416
+ Returns:
417
+ event_condition (EventCondition): The new `EventCondition` object.
418
+ """
419
+ @typing.overload
420
+ def __init__(self, name: ostk.core.type.String, evaluator: typing.Callable[[trajectory.State], ostk.core.type.Real], target_value: ostk.core.type.Real) -> None:
421
+ """
422
+ Construct a new `EventCondition` object.
423
+
424
+ Args:
425
+ name (str): The name of the event condition.
426
+ evaluator (callable): The evaluator that accepts a `State` and returns a float value.
427
+ target_value (float): The target of the event condition.
428
+
429
+ Returns:
430
+ event_condition (EventCondition): The new `EventCondition` object.
431
+ """
432
+ def __repr__(self) -> str:
433
+ ...
434
+ def __str__(self) -> str:
435
+ ...
436
+ def get_evaluator(self) -> typing.Callable[[trajectory.State], ostk.core.type.Real]:
437
+ """
438
+ Get the evaluator of the event condition.
439
+
440
+ Returns:
441
+ evaluator (str): The evaluator of the event condition.
442
+ """
443
+ def get_name(self) -> ostk.core.type.String:
444
+ """
445
+ Get the name of the event condition.
446
+
447
+ Returns:
448
+ name (str): The name of the event condition.
449
+ """
450
+ def get_target(self) -> EventCondition.Target:
451
+ """
452
+ Get the target of the event condition.
453
+
454
+ Returns:
455
+ target (EventConditionTarget): The target of the event condition.
456
+ """
457
+ def is_satisfied(self, current_state: trajectory.State, previous_state: trajectory.State) -> bool:
458
+ """
459
+ Check if the event condition is satisfied.
460
+
461
+ Args:
462
+ current_state (State): The current state.
463
+ previous_state (State): The previous state.
464
+
465
+ Returns:
466
+ is_satisfied (bool): True if the event condition is satisfied, False otherwise.
467
+ """
468
+ def update_target(self, state: trajectory.State) -> None:
469
+ """
470
+ Update the target value if the event condition is relative.
471
+
472
+ Args:
473
+ state (State): The state to calculate the relative target from.
474
+ """
475
+ class GuidanceLaw:
476
+ """
477
+
478
+ Guidance law base class.
479
+
480
+ A guidance law is a mathematical model that computes the acceleration
481
+ based on specific guidance law logic.
482
+
483
+
484
+ """
485
+ def __init__(self, name: ostk.core.type.String) -> None:
486
+ """
487
+ Constructor.
488
+
489
+ Args:
490
+ name (str): The name of the guidance law.
491
+ """
492
+ def calculate_thrust_acceleration_at(self, instant: ostk.physics.time.Instant, position_coordinates: numpy.ndarray[numpy.float64[3, 1]], velocity_coordinates: numpy.ndarray[numpy.float64[3, 1]], thrust_acceleration: ostk.core.type.Real, output_frame: ostk.physics.coordinate.Frame) -> numpy.ndarray[numpy.float64[3, 1]]:
493
+ """
494
+ Compute the acceleration.
495
+
496
+ Args:
497
+ instant (Instant): Instant of computation.
498
+ position_coordinates (np.array): Position coordinates.
499
+ velocity_coordinates (np.array): Velocity coordinates.
500
+ thrust_acceleration (float): Thrust acceleration magnitude.
501
+ output_frame (Frame): The frame the acceleration is expressed in.
502
+
503
+ Returns:
504
+ np.array: The acceleration.
505
+ """
506
+ def get_name(self) -> ostk.core.type.String:
507
+ """
508
+ Get the name of the guidance law.
509
+
510
+ Returns:
511
+ str: The name of the guidance law.
512
+ """
513
+ class RootSolver:
514
+ """
515
+
516
+ A root solver is an algorithm for finding a zero-crossing of a function.
517
+
518
+
519
+ """
520
+ class Solution:
521
+ """
522
+
523
+ A root solver solution.
524
+
525
+
526
+ """
527
+ @property
528
+ def has_converged(self) -> bool:
529
+ """
530
+ Whether the root solver has converged.
531
+
532
+ Type:
533
+ bool
534
+ """
535
+ @has_converged.setter
536
+ def has_converged(self, arg0: bool) -> None:
537
+ ...
538
+ @property
539
+ def iteration_count(self) -> int:
540
+ """
541
+ The number of iterations required to find the root.
542
+
543
+ Type:
544
+ int
545
+ """
546
+ @iteration_count.setter
547
+ def iteration_count(self, arg0: int) -> None:
548
+ ...
549
+ @property
550
+ def root(self) -> ostk.core.type.Real:
551
+ """
552
+ The root of the function.
553
+
554
+ Type:
555
+ float
556
+ """
557
+ @root.setter
558
+ def root(self, arg0: ostk.core.type.Real) -> None:
559
+ ...
560
+ @staticmethod
561
+ def default() -> RootSolver:
562
+ """
563
+ Return the default root solver.
564
+
565
+ Returns:
566
+ RootSolver: The default root solver.
567
+ """
568
+ def __init__(self, maximum_iteration_count: int, tolerance: ostk.core.type.Real) -> None:
569
+ """
570
+ Constructor.
571
+
572
+ Args:
573
+ int: The maximum number of iterations allowed.
574
+ float: The tolerance of the root solver.
575
+ """
576
+ def __repr__(self) -> str:
577
+ ...
578
+ def __str__(self) -> str:
579
+ ...
580
+ def bisection(self, function: typing.Callable[[float], float], lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RootSolver.Solution:
581
+ """
582
+ Solve the root of a function using the bisection method.
583
+
584
+ Args:
585
+ function (callable): The function to solve.
586
+ lower_bound (float): The lower bound of the root.
587
+ upper_bound (float): The upper bound of the root.
588
+
589
+ Returns:
590
+ RootSolverSolution: The solution to the root.
591
+ """
592
+ def bracket_and_solve(self, function: typing.Callable[[float], float], initial_guess: ostk.core.type.Real, is_rising: bool) -> RootSolver.Solution:
593
+ """
594
+ Bracket and solve the root of a function.
595
+
596
+ Args:
597
+ function (callable): The function to solve.
598
+ initial_guess (float): The initial guess for the root.
599
+ is_rising (bool): Whether the function is rising.
600
+
601
+ Returns:
602
+ RootSolverSolution: The solution to the root.
603
+ """
604
+ def get_maximum_iteration_count(self) -> int:
605
+ """
606
+ Get the maximum number of iterations allowed.
607
+
608
+ Returns:
609
+ int: The maximum number of iterations allowed.
610
+ """
611
+ def get_tolerance(self) -> ostk.core.type.Real:
612
+ """
613
+ Get the tolerance of the root solver.
614
+
615
+ Returns:
616
+ float: The tolerance of the root solver.
617
+ """
618
+ def solve(self, function: typing.Callable[[float], float], lower_bound: ostk.core.type.Real, upper_bound: ostk.core.type.Real) -> RootSolver.Solution:
619
+ """
620
+ Solve the root of a function.
621
+
622
+ Args:
623
+ function (callable): The function to solve.
624
+ lower_bound (float): The lower bound of the root.
625
+ upper_bound (float): The upper bound of the root.
626
+
627
+ Returns:
628
+ RootSolverSolution: The solution to the root.
629
+ """
630
+ class Trajectory:
631
+ """
632
+
633
+ Path followed by an object through space as a function of time.
634
+
635
+
636
+ """
637
+ __hash__: typing.ClassVar[None] = None
638
+ @staticmethod
639
+ def position(position: ostk.physics.coordinate.Position) -> Trajectory:
640
+ """
641
+ Create a `Trajectory` object representing a position.
642
+
643
+ Args:
644
+ position (Position): The position. Must be in the ITRF frame.
645
+
646
+ Returns:
647
+ Trajectory: The `Trajectory` object representing the position.
648
+ """
649
+ @staticmethod
650
+ def undefined() -> Trajectory:
651
+ """
652
+ Create an undefined `Trajectory` object.
653
+
654
+ Returns:
655
+ Trajectory: The undefined `Trajectory` object.
656
+ """
657
+ def __eq__(self, arg0: Trajectory) -> bool:
658
+ ...
659
+ @typing.overload
660
+ def __init__(self, model: typing.Any) -> None:
661
+ """
662
+ Construct a `Trajectory` object from a model.
663
+
664
+ Args:
665
+ model (trajectory.Model): The model of the trajectory.
666
+
667
+ Returns:
668
+ Trajectory: The `Trajectory` object.
669
+ """
670
+ @typing.overload
671
+ def __init__(self, states: list[...]) -> None:
672
+ """
673
+ Construct a `Trajectory` object from an array of states.
674
+
675
+ Args:
676
+ states (list[State]): The states of the trajectory.
677
+
678
+ Returns:
679
+ Trajectory: The `Trajectory` object.
680
+ """
681
+ def __ne__(self, arg0: Trajectory) -> bool:
682
+ ...
683
+ def __repr__(self) -> str:
684
+ ...
685
+ def __str__(self) -> str:
686
+ ...
687
+ def access_model(self) -> ...:
688
+ """
689
+ Access the model of the trajectory.
690
+
691
+ Returns:
692
+ Model: The model of the trajectory.
693
+ """
694
+ def get_state_at(self, instant: ostk.physics.time.Instant) -> ...:
695
+ """
696
+ Get the state of the trajectory at a given instant.
697
+
698
+ Args:
699
+ instant (Instant): The instant.
700
+
701
+ Returns:
702
+ State: The state of the trajectory at the given instant.
703
+ """
704
+ def get_states_at(self, instants: list[ostk.physics.time.Instant]) -> list[...]:
705
+ """
706
+ Get the states of the trajectory at a given set of instants. It can be more performant than looping `calculate_state_at` for multiple instants.
707
+
708
+ Args:
709
+ instants (list[Instant]): The instants.
710
+
711
+ Returns:
712
+ list[State]: The states of the trajectory at the given instants.
713
+ """
714
+ def is_defined(self) -> bool:
715
+ """
716
+ Check if the trajectory is defined.
717
+
718
+ Returns:
719
+ bool: True if the trajectory is defined, False otherwise.
720
+ """