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,910 @@
1
+ from __future__ import annotations
2
+ import ostk.astrodynamics
3
+ import ostk.astrodynamics.trajectory
4
+ import ostk.core.type
5
+ import ostk.physics.coordinate
6
+ import ostk.physics.time
7
+ import ostk.physics.unit
8
+ import typing
9
+ __all__ = ['AngularCondition', 'BooleanCondition', 'BrouwerLyddaneMeanLongCondition', 'COECondition', 'InstantCondition', 'LogicalCondition', 'RealCondition']
10
+ class AngularCondition(ostk.astrodynamics.EventCondition):
11
+ """
12
+
13
+ An Angular Event Condition.
14
+
15
+
16
+ """
17
+ class Criterion:
18
+ """
19
+
20
+ Angular condition criterion.
21
+
22
+
23
+
24
+ Members:
25
+
26
+ PositiveCrossing
27
+
28
+ NegativeCrossing
29
+
30
+ AnyCrossing
31
+
32
+ WithinRange
33
+ """
34
+ AnyCrossing: typing.ClassVar[AngularCondition.Criterion] # value = <Criterion.AnyCrossing: 0>
35
+ NegativeCrossing: typing.ClassVar[AngularCondition.Criterion] # value = <Criterion.NegativeCrossing: 2>
36
+ PositiveCrossing: typing.ClassVar[AngularCondition.Criterion] # value = <Criterion.PositiveCrossing: 1>
37
+ WithinRange: typing.ClassVar[AngularCondition.Criterion] # value = <Criterion.WithinRange: 3>
38
+ __members__: typing.ClassVar[dict[str, AngularCondition.Criterion]] # value = {'PositiveCrossing': <Criterion.PositiveCrossing: 1>, 'NegativeCrossing': <Criterion.NegativeCrossing: 2>, 'AnyCrossing': <Criterion.AnyCrossing: 0>, 'WithinRange': <Criterion.WithinRange: 3>}
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
+ @staticmethod
66
+ def string_from_criterion(criterion: AngularCondition.Criterion) -> ostk.core.type.String:
67
+ """
68
+ Get the string representation of a criterion.
69
+
70
+ Args:
71
+ criterion (ostk.astrodynamics.event_condition.AngularCondition.Criterion): The criterion.
72
+
73
+ Returns:
74
+ str: The string representation of the criterion.
75
+ """
76
+ @staticmethod
77
+ def within_range(name: ostk.core.type.String, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], ostk.core.type.Real], target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle]) -> AngularCondition:
78
+ """
79
+ Create an angular condition that is satisfied when the angle is within a range.
80
+
81
+ Args:
82
+ name (str): The name of the condition.
83
+ evaluator (function): The evaluator of the condition.
84
+ target_range (tuple): The target range of the condition.
85
+
86
+ Returns:
87
+ AngularCondition: The angular condition.
88
+ """
89
+ @typing.overload
90
+ def __init__(self, name: ostk.core.type.String, criterion: AngularCondition.Criterion, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], ostk.core.type.Real], target_angle: ostk.physics.unit.Angle) -> None:
91
+ """
92
+ Constructor.
93
+
94
+ Args:
95
+ name (str): The name of the condition.
96
+ criterion (ostk.astrodynamics.event_condition.AngularCondition.Criterion): The criterion of the condition.
97
+ evaluator (function): The evaluator of the condition.
98
+ target_angle (Angle): The target angle of the condition.
99
+ """
100
+ @typing.overload
101
+ def __init__(self, name: ostk.core.type.String, criterion: AngularCondition.Criterion, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], ostk.core.type.Real], target: ostk.astrodynamics.EventCondition.Target) -> None:
102
+ """
103
+ Constructor.
104
+
105
+ Args:
106
+ name (str): The name of the condition.
107
+ criterion (ostk.astrodynamics.event_condition.AngularCondition.Criterion): The criterion of the condition.
108
+ evaluator (function): The evaluator of the condition.
109
+ target (EventConditionTarget): The target of the condition.
110
+ """
111
+ def __repr__(self) -> str:
112
+ ...
113
+ def __str__(self) -> str:
114
+ ...
115
+ def get_criterion(self) -> AngularCondition.Criterion:
116
+ """
117
+ Get the criterion of the condition.
118
+
119
+ Returns:
120
+ ostk.astrodynamics.event_condition.AngularCondition.Criterion: The criterion of the condition.
121
+ """
122
+ def get_target_angle(self) -> ostk.physics.unit.Angle:
123
+ """
124
+ Get the target angle of the condition.
125
+
126
+ Returns:
127
+ Angle: The target angle of the condition.
128
+ """
129
+ def get_target_range(self) -> tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle]:
130
+ """
131
+ Get the target range of the condition.
132
+
133
+ Returns:
134
+ tuple: The target range of the condition.
135
+ """
136
+ def is_satisfied(self, current_state: ostk.astrodynamics.trajectory.State, previous_state: ostk.astrodynamics.trajectory.State) -> bool:
137
+ """
138
+ Check if the condition is satisfied.
139
+
140
+ Args:
141
+ current_state (State): The current state.
142
+ previous_state (State): The previous state.
143
+
144
+ Returns:
145
+ bool: True if the condition is satisfied, False otherwise.
146
+ """
147
+ class BooleanCondition(RealCondition):
148
+ """
149
+
150
+ A Boolean Event Condition.
151
+
152
+
153
+ """
154
+ def __init__(self, name: ostk.core.type.String, criterion: RealCondition.Criterion, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], bool], is_inverse: bool) -> None:
155
+ """
156
+ Constructor.
157
+
158
+ Args:
159
+ name (str): The name of the condition.
160
+ criterion (Criterion): The criterion of the condition.
161
+ evaluator (function): The evaluator of the condition.
162
+ is_inverse (bool): Whether the condition is inverse.
163
+ """
164
+ def __repr__(self) -> str:
165
+ ...
166
+ def __str__(self) -> str:
167
+ ...
168
+ def evaluate(self, state: ostk.astrodynamics.trajectory.State) -> ostk.core.type.Real:
169
+ """
170
+ Evaluate the condition.
171
+
172
+ Args:
173
+ state (State): The state.
174
+
175
+ Returns:
176
+ bool: True if the condition is satisfied, False otherwise.
177
+ """
178
+ def is_inversed(self) -> bool:
179
+ """
180
+ Check if the condition is inverse.
181
+
182
+ Returns:
183
+ bool: True if the condition is inverse, False otherwise.
184
+ """
185
+ def is_satisfied(self, current_state: ostk.astrodynamics.trajectory.State, previous_state: ostk.astrodynamics.trajectory.State) -> bool:
186
+ """
187
+ Check if the condition is satisfied.
188
+
189
+ Args:
190
+ current_state (State): The current state.
191
+ previous_state (State): The previous state.
192
+
193
+ Returns:
194
+ bool: True if the condition is satisfied, False otherwise.
195
+ """
196
+ class BrouwerLyddaneMeanLongCondition:
197
+ """
198
+
199
+ A Brouwer-Lyddane Mean Long Event Condition.
200
+
201
+
202
+ """
203
+ @staticmethod
204
+ @typing.overload
205
+ def aop(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, aop: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
206
+ """
207
+ Create a Brouwer-Lyddane Mean Long condition based on the argument of perigee.
208
+
209
+ Args:
210
+ criterion (Criterion): The criterion.
211
+ frame (Frame): The reference frame.
212
+ aop (EventConditionTarget): The argument of perigee.
213
+ gravitational_parameter (Derived): The gravitational parameter.
214
+
215
+ Returns:
216
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
217
+ """
218
+ @staticmethod
219
+ @typing.overload
220
+ def aop(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
221
+ """
222
+ Create a Brouwer-Lyddane Mean Long condition based on the argument of perigee being within a range.
223
+
224
+ Args:
225
+ frame (Frame): The reference frame.
226
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
227
+ gravitational_parameter (Derived): The gravitational parameter.
228
+
229
+ Returns:
230
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
231
+ """
232
+ @staticmethod
233
+ @typing.overload
234
+ def argument_of_latitude(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, argument_of_latitude: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
235
+ """
236
+ Create a Brouwer-Lyddane Mean Long condition based on the argument of latitude.
237
+
238
+ Args:
239
+ criterion (Criterion): The criterion.
240
+ frame (Frame): The reference frame.
241
+ argument_of_latitude (EventConditionTarget): The argument of latitude.
242
+ gravitational_parameter (Derived): The gravitational parameter.
243
+
244
+ Returns:
245
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
246
+ """
247
+ @staticmethod
248
+ @typing.overload
249
+ def argument_of_latitude(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
250
+ """
251
+ Create a Brouwer-Lyddane Mean Long condition based on the argument of latitude being within a range.
252
+
253
+ Args:
254
+ frame (Frame): The reference frame.
255
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
256
+ gravitational_parameter (Derived): The gravitational parameter.
257
+
258
+ Returns:
259
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
260
+ """
261
+ @staticmethod
262
+ @typing.overload
263
+ def eccentric_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, eccentric_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
264
+ """
265
+ Create a Brouwer-Lyddane Mean Long condition based on the eccentric anomaly.
266
+
267
+ Args:
268
+ criterion (Criterion): The criterion.
269
+ frame (Frame): The reference frame.
270
+ eccentric_anomaly (EventConditionTarget): The eccentric anomaly.
271
+ gravitational_parameter (Derived): The gravitational parameter.
272
+
273
+ Returns:
274
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
275
+ """
276
+ @staticmethod
277
+ @typing.overload
278
+ def eccentric_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
279
+ """
280
+ Create a Brouwer-Lyddane Mean Long condition based on the eccentric anomaly being within a range.
281
+
282
+ Args:
283
+ frame (Frame): The reference frame.
284
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
285
+ gravitational_parameter (Derived): The gravitational parameter.
286
+
287
+ Returns:
288
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
289
+ """
290
+ @staticmethod
291
+ def eccentricity(criterion: RealCondition.Criterion, frame: ostk.physics.coordinate.Frame, eccentricity: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> RealCondition:
292
+ """
293
+ Create a Brouwer-Lyddane Mean Long condition based on the eccentricity.
294
+
295
+ Args:
296
+ criterion (Criterion): The criterion.
297
+ frame (Frame): The reference frame.
298
+ eccentricity (EventConditionTarget): The eccentricity.
299
+ gravitational_parameter (Derived): The gravitational parameter.
300
+
301
+ Returns:
302
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
303
+ """
304
+ @staticmethod
305
+ @typing.overload
306
+ def inclination(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, inclination: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
307
+ """
308
+ Create a Brouwer-Lyddane Mean Long condition based on the inclination.
309
+
310
+ Args:
311
+ criterion (Criterion): The criterion.
312
+ frame (Frame): The reference frame.
313
+ inclination (EventConditionTarget): The inclination.
314
+ gravitational_parameter (Derived): The gravitational parameter.
315
+
316
+ Returns:
317
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
318
+ """
319
+ @staticmethod
320
+ @typing.overload
321
+ def inclination(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
322
+ """
323
+ Create a Brouwer-Lyddane Mean Long condition based on the inclination being within a range.
324
+
325
+ Args:
326
+ frame (Frame): The reference frame.
327
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
328
+ gravitational_parameter (Derived): The gravitational parameter.
329
+
330
+ Returns:
331
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
332
+ """
333
+ @staticmethod
334
+ @typing.overload
335
+ def mean_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, mean_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
336
+ """
337
+ Create a Brouwer-Lyddane Mean Long condition based on the mean anomaly.
338
+
339
+ Args:
340
+ criterion (Criterion): The criterion.
341
+ frame (Frame): The reference frame.
342
+ mean_anomaly (EventConditionTarget): The mean anomaly.
343
+ gravitational_parameter (Derived): The gravitational parameter.
344
+
345
+ Returns:
346
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
347
+ """
348
+ @staticmethod
349
+ @typing.overload
350
+ def mean_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
351
+ """
352
+ Create a Brouwer-Lyddane Mean Long condition based on the mean anomaly being within a range.
353
+
354
+ Args:
355
+ frame (Frame): The reference frame.
356
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
357
+ gravitational_parameter (Derived): The gravitational parameter.
358
+
359
+ Returns:
360
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
361
+ """
362
+ @staticmethod
363
+ @typing.overload
364
+ def raan(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, raan: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
365
+ """
366
+ Create a Brouwer-Lyddane Mean Long condition based on the right ascension of the ascending node.
367
+
368
+ Args:
369
+ criterion (Criterion): The criterion.
370
+ frame (Frame): The reference frame.
371
+ raan (EventConditionTarget): The right ascension of the ascending node.
372
+ gravitational_parameter (Derived): The gravitational parameter.
373
+
374
+ Returns:
375
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
376
+ """
377
+ @staticmethod
378
+ @typing.overload
379
+ def raan(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
380
+ """
381
+ Create a Brouwer-Lyddane Mean Long condition based on the right ascension of the ascending node being within a range.
382
+
383
+ Args:
384
+ frame (Frame): The reference frame.
385
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
386
+ gravitational_parameter (Derived): The gravitational parameter.
387
+
388
+ Returns:
389
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
390
+ """
391
+ @staticmethod
392
+ def semi_major_axis(criterion: RealCondition.Criterion, frame: ostk.physics.coordinate.Frame, semi_major_axis: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> RealCondition:
393
+ """
394
+ Create a Brouwer-Lyddane Mean Long condition based on the semi-major axis.
395
+
396
+ Args:
397
+ criterion (Criterion): The criterion.
398
+ frame (Frame): The reference frame.
399
+ semi_major_axis (EventConditionTarget): The semi-major axis.
400
+ gravitational_parameter (Derived): The gravitational parameter.
401
+
402
+ Returns:
403
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
404
+ """
405
+ @staticmethod
406
+ @typing.overload
407
+ def true_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, true_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
408
+ """
409
+ Create a Brouwer-Lyddane Mean Long condition based on the true anomaly.
410
+
411
+ Args:
412
+ criterion (Criterion): The criterion.
413
+ frame (Frame): The reference frame.
414
+ true_anomaly (EventConditionTarget): The true anomaly.
415
+ gravitational_parameter (Derived): The gravitational parameter.
416
+
417
+ Returns:
418
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
419
+ """
420
+ @staticmethod
421
+ @typing.overload
422
+ def true_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
423
+ """
424
+ Create a Brouwer-Lyddane Mean Long condition based on the true anomaly being within a range.
425
+
426
+ Args:
427
+ frame (Frame): The reference frame.
428
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
429
+ gravitational_parameter (Derived): The gravitational parameter.
430
+
431
+ Returns:
432
+ BrouwerLyddaneMeanLongCondition: The Brouwer-Lyddane Mean Long condition.
433
+ """
434
+ class COECondition:
435
+ """
436
+
437
+ A COE Event Condition.
438
+
439
+
440
+ """
441
+ @staticmethod
442
+ @typing.overload
443
+ def aop(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, aop: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
444
+ """
445
+ Create a COE condition based on the argument of perigee.
446
+
447
+ Args:
448
+ criterion (Criterion): The criterion.
449
+ frame (Frame): The reference frame.
450
+ aop (EventConditionTarget): The argument of perigee.
451
+ gravitational_parameter (Derived): The gravitational parameter.
452
+
453
+ Returns:
454
+ COECondition: The COE condition.
455
+ """
456
+ @staticmethod
457
+ @typing.overload
458
+ def aop(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
459
+ """
460
+ Create a COE condition based on the argument of perigee being within a range.
461
+
462
+ Args:
463
+ frame (Frame): The reference frame.
464
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
465
+ gravitational_parameter (Derived): The gravitational parameter.
466
+
467
+ Returns:
468
+ COECondition: The COE condition.
469
+ """
470
+ @staticmethod
471
+ @typing.overload
472
+ def argument_of_latitude(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, argument_of_latitude: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
473
+ """
474
+ Create a COE condition based on the argument of latitude.
475
+
476
+ Args:
477
+ criterion (Criterion): The criterion.
478
+ frame (Frame): The reference frame.
479
+ argument_of_latitude (EventConditionTarget): The argument of latitude.
480
+ gravitational_parameter (Derived): The gravitational parameter.
481
+
482
+ Returns:
483
+ COECondition: The COE condition.
484
+ """
485
+ @staticmethod
486
+ @typing.overload
487
+ def argument_of_latitude(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
488
+ """
489
+ Create a COE condition based on the argument of latitude being within a range.
490
+
491
+ Args:
492
+ frame (Frame): The reference frame.
493
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
494
+ gravitational_parameter (Derived): The gravitational parameter.
495
+
496
+ Returns:
497
+ COECondition: The COE condition.
498
+ """
499
+ @staticmethod
500
+ @typing.overload
501
+ def eccentric_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, eccentric_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
502
+ """
503
+ Create a COE condition based on the eccentric anomaly.
504
+
505
+ Args:
506
+ criterion (Criterion): The criterion.
507
+ frame (Frame): The reference frame.
508
+ eccentric_anomaly (EventConditionTarget): The eccentric anomaly.
509
+ gravitational_parameter (Derived): The gravitational parameter.
510
+
511
+ Returns:
512
+ COECondition: The COE condition.
513
+ """
514
+ @staticmethod
515
+ @typing.overload
516
+ def eccentric_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
517
+ """
518
+ Create a COE condition based on the eccentric anomaly being within a range.
519
+
520
+ Args:
521
+ frame (Frame): The reference frame.
522
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
523
+ gravitational_parameter (Derived): The gravitational parameter.
524
+
525
+ Returns:
526
+ COECondition: The COE condition.
527
+ """
528
+ @staticmethod
529
+ def eccentricity(criterion: RealCondition.Criterion, frame: ostk.physics.coordinate.Frame, eccentricity: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> RealCondition:
530
+ """
531
+ Create a COE condition based on the eccentricity.
532
+
533
+ Args:
534
+ criterion (Criterion): The criterion.
535
+ frame (Frame): The reference frame.
536
+ eccentricity (EventConditionTarget): The eccentricity.
537
+ gravitational_parameter (Derived): The gravitational parameter.
538
+
539
+ Returns:
540
+ COECondition: The COE condition.
541
+ """
542
+ @staticmethod
543
+ @typing.overload
544
+ def inclination(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, inclination: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
545
+ """
546
+ Create a COE condition based on the inclination.
547
+
548
+ Args:
549
+ criterion (Criterion): The criterion.
550
+ frame (Frame): The reference frame.
551
+ inclination (EventConditionTarget): The inclination.
552
+ gravitational_parameter (Derived): The gravitational parameter.
553
+
554
+ Returns:
555
+ COECondition: The COE condition.
556
+ """
557
+ @staticmethod
558
+ @typing.overload
559
+ def inclination(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
560
+ """
561
+ Create a COE condition based on the inclination being within a range.
562
+
563
+ Args:
564
+ frame (Frame): The reference frame.
565
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
566
+ gravitational_parameter (Derived): The gravitational parameter.
567
+
568
+ Returns:
569
+ COECondition: The COE condition.
570
+ """
571
+ @staticmethod
572
+ @typing.overload
573
+ def mean_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, mean_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
574
+ """
575
+ Create a COE condition based on the mean anomaly.
576
+
577
+ Args:
578
+ criterion (Criterion): The criterion.
579
+ frame (Frame): The reference frame.
580
+ mean_anomaly (EventConditionTarget): The mean anomaly.
581
+ gravitational_parameter (Derived): The gravitational parameter.
582
+
583
+ Returns:
584
+ COECondition: The COE condition.
585
+ """
586
+ @staticmethod
587
+ @typing.overload
588
+ def mean_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
589
+ """
590
+ Create a COE condition based on the mean anomaly being within a range.
591
+
592
+ Args:
593
+ frame (Frame): The reference frame.
594
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
595
+ gravitational_parameter (Derived): The gravitational parameter.
596
+
597
+ Returns:
598
+ COECondition: The COE condition.
599
+ """
600
+ @staticmethod
601
+ @typing.overload
602
+ def raan(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, raan: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
603
+ """
604
+ Create a COE condition based on the right ascension of the ascending node.
605
+
606
+ Args:
607
+ criterion (Criterion): The criterion.
608
+ frame (Frame): The reference frame.
609
+ raan (EventConditionTarget): The right ascension of the ascending node.
610
+ gravitational_parameter (Derived): The gravitational parameter.
611
+
612
+ Returns:
613
+ COECondition: The COE condition.
614
+ """
615
+ @staticmethod
616
+ @typing.overload
617
+ def raan(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
618
+ """
619
+ Create a COE condition based on the right ascension of the ascending node being within a range.
620
+
621
+ Args:
622
+ frame (Frame): The reference frame.
623
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
624
+ gravitational_parameter (Derived): The gravitational parameter.
625
+
626
+ Returns:
627
+ COECondition: The COE condition.
628
+ """
629
+ @staticmethod
630
+ def semi_major_axis(criterion: RealCondition.Criterion, frame: ostk.physics.coordinate.Frame, semi_major_axis: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> RealCondition:
631
+ """
632
+ Create a COE condition based on the semi-major axis.
633
+
634
+ Args:
635
+ criterion (Criterion): The criterion.
636
+ frame (Frame): The reference frame.
637
+ semi_major_axis (EventConditionTarget): The semi-major axis.
638
+ gravitational_parameter (Derived): The gravitational parameter.
639
+
640
+ Returns:
641
+ COECondition: The COE condition.
642
+ """
643
+ @staticmethod
644
+ @typing.overload
645
+ def true_anomaly(criterion: AngularCondition.Criterion, frame: ostk.physics.coordinate.Frame, true_anomaly: ostk.astrodynamics.EventCondition.Target, gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
646
+ """
647
+ Create a COE condition based on the true anomaly.
648
+
649
+ Args:
650
+ criterion (Criterion): The criterion.
651
+ frame (Frame): The reference frame.
652
+ true_anomaly (EventConditionTarget): The true anomaly.
653
+ gravitational_parameter (Derived): The gravitational parameter.
654
+
655
+ Returns:
656
+ COECondition: The COE condition.
657
+ """
658
+ @staticmethod
659
+ @typing.overload
660
+ def true_anomaly(frame: ostk.physics.coordinate.Frame, target_range: tuple[ostk.physics.unit.Angle, ostk.physics.unit.Angle], gravitational_parameter: ostk.physics.unit.Derived) -> AngularCondition:
661
+ """
662
+ Create a COE condition based on the true anomaly being within a range.
663
+
664
+ Args:
665
+ frame (Frame): The reference frame.
666
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
667
+ gravitational_parameter (Derived): The gravitational parameter.
668
+
669
+ Returns:
670
+ COECondition: The COE condition.
671
+ """
672
+ class InstantCondition(RealCondition):
673
+ """
674
+
675
+ An Instant Event Condition.
676
+
677
+
678
+ """
679
+ def __init__(self, criterion: RealCondition.Criterion, instant: ostk.physics.time.Instant) -> None:
680
+ """
681
+ Constructor.
682
+
683
+ Args:
684
+ criterion (Criterion): The criterion.
685
+ instant (Instant): The instant.
686
+ """
687
+ def get_instant(self) -> ostk.physics.time.Instant:
688
+ """
689
+ Get the instant.
690
+
691
+ Returns:
692
+ Instant: The instant.
693
+ """
694
+ class LogicalCondition(ostk.astrodynamics.EventCondition):
695
+ """
696
+
697
+ A Logical Event Condition. This class is used to combine multiple event conditions into a single set.
698
+
699
+
700
+ """
701
+ class Type:
702
+ """
703
+
704
+ Logical Condition Type.
705
+ - Disjunctive (Or)
706
+ - Conjucntive (And)
707
+
708
+
709
+ Members:
710
+
711
+ And : And
712
+
713
+ Or : Or
714
+ """
715
+ And: typing.ClassVar[LogicalCondition.Type] # value = <Type.And: 0>
716
+ Or: typing.ClassVar[LogicalCondition.Type] # value = <Type.Or: 1>
717
+ __members__: typing.ClassVar[dict[str, LogicalCondition.Type]] # value = {'And': <Type.And: 0>, 'Or': <Type.Or: 1>}
718
+ def __eq__(self, other: typing.Any) -> bool:
719
+ ...
720
+ def __getstate__(self) -> int:
721
+ ...
722
+ def __hash__(self) -> int:
723
+ ...
724
+ def __index__(self) -> int:
725
+ ...
726
+ def __init__(self, value: int) -> None:
727
+ ...
728
+ def __int__(self) -> int:
729
+ ...
730
+ def __ne__(self, other: typing.Any) -> bool:
731
+ ...
732
+ def __repr__(self) -> str:
733
+ ...
734
+ def __setstate__(self, state: int) -> None:
735
+ ...
736
+ def __str__(self) -> str:
737
+ ...
738
+ @property
739
+ def name(self) -> str:
740
+ ...
741
+ @property
742
+ def value(self) -> int:
743
+ ...
744
+ def __init__(self, name: ostk.core.type.String, type: LogicalCondition.Type, event_conditions: list[ostk.astrodynamics.EventCondition]) -> None:
745
+ """
746
+ Constructor.
747
+
748
+ Args:
749
+ name (str): The name of the condition.
750
+ type (Type): The type of the logical condition.
751
+ event_conditions (list[EventCondition]): The list of event conditions.
752
+ """
753
+ def get_event_conditions(self) -> list[ostk.astrodynamics.EventCondition]:
754
+ """
755
+ Get the list of event conditions.
756
+
757
+ Returns:
758
+ list[EventCondition]: The list of event conditions.
759
+ """
760
+ def get_type(self) -> LogicalCondition.Type:
761
+ """
762
+ Get the type of the logical condition.
763
+
764
+ Returns:
765
+ Type: The type of the logical condition.
766
+ """
767
+ class RealCondition(ostk.astrodynamics.EventCondition):
768
+ """
769
+
770
+ A Real Event Condition.
771
+
772
+
773
+ """
774
+ class Criterion:
775
+ """
776
+
777
+ The Criterion that defines how the condition is satisfied.
778
+
779
+
780
+ Members:
781
+
782
+ PositiveCrossing : The positive crossing criterion
783
+
784
+ NegativeCrossing : The negative crossing criterion
785
+
786
+ AnyCrossing : The any crossing criterion
787
+
788
+ StrictlyPositive : The strictly positive criterion
789
+
790
+ StrictlyNegative : The strictly negative criterion
791
+ """
792
+ AnyCrossing: typing.ClassVar[RealCondition.Criterion] # value = <Criterion.AnyCrossing: 2>
793
+ NegativeCrossing: typing.ClassVar[RealCondition.Criterion] # value = <Criterion.NegativeCrossing: 1>
794
+ PositiveCrossing: typing.ClassVar[RealCondition.Criterion] # value = <Criterion.PositiveCrossing: 0>
795
+ StrictlyNegative: typing.ClassVar[RealCondition.Criterion] # value = <Criterion.StrictlyNegative: 4>
796
+ StrictlyPositive: typing.ClassVar[RealCondition.Criterion] # value = <Criterion.StrictlyPositive: 3>
797
+ __members__: typing.ClassVar[dict[str, RealCondition.Criterion]] # value = {'PositiveCrossing': <Criterion.PositiveCrossing: 0>, 'NegativeCrossing': <Criterion.NegativeCrossing: 1>, 'AnyCrossing': <Criterion.AnyCrossing: 2>, 'StrictlyPositive': <Criterion.StrictlyPositive: 3>, 'StrictlyNegative': <Criterion.StrictlyNegative: 4>}
798
+ def __eq__(self, other: typing.Any) -> bool:
799
+ ...
800
+ def __getstate__(self) -> int:
801
+ ...
802
+ def __hash__(self) -> int:
803
+ ...
804
+ def __index__(self) -> int:
805
+ ...
806
+ def __init__(self, value: int) -> None:
807
+ ...
808
+ def __int__(self) -> int:
809
+ ...
810
+ def __ne__(self, other: typing.Any) -> bool:
811
+ ...
812
+ def __repr__(self) -> str:
813
+ ...
814
+ def __setstate__(self, state: int) -> None:
815
+ ...
816
+ def __str__(self) -> str:
817
+ ...
818
+ @property
819
+ def name(self) -> str:
820
+ ...
821
+ @property
822
+ def value(self) -> int:
823
+ ...
824
+ @staticmethod
825
+ def duration_condition(criterion: RealCondition.Criterion, duration: ostk.physics.time.Duration) -> RealCondition:
826
+ """
827
+ Generate a duration condition.
828
+
829
+ Args:
830
+ criterion (Criterion): The criterion of the condition.
831
+ duration (Duration): Duration target.
832
+
833
+ Returns:
834
+ RealCondition: The duration condition.
835
+ """
836
+ @staticmethod
837
+ def string_from_criterion(criterion: RealCondition.Criterion) -> ostk.core.type.String:
838
+ """
839
+ Get the string representation of a criterion.
840
+
841
+ Args:
842
+ criterion (Criterion): The criterion.
843
+
844
+ Returns:
845
+ str: The string representation.
846
+ """
847
+ @typing.overload
848
+ def __init__(self, name: ostk.core.type.String, criterion: RealCondition.Criterion, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], ostk.core.type.Real], target_value: ostk.core.type.Real = 0.0) -> None:
849
+ """
850
+ Constructor.
851
+
852
+ Args:
853
+ name (str): The name of the condition.
854
+ criterion (Criterion): The criterion of the condition.
855
+ evaluator (function): The evaluator of the condition.
856
+ target_value (float): The target value of the condition.
857
+ """
858
+ @typing.overload
859
+ def __init__(self, name: ostk.core.type.String, criterion: RealCondition.Criterion, evaluator: typing.Callable[[ostk.astrodynamics.trajectory.State], ostk.core.type.Real], target: ostk.astrodynamics.EventCondition.Target) -> None:
860
+ """
861
+ Constructor.
862
+
863
+ Args:
864
+ name (str): The name of the condition.
865
+ criterion (Criterion): The criterion of the condition.
866
+ evaluator (function): The evaluator of the condition.
867
+ target (EventConditionTarget): The target of the condition.
868
+ """
869
+ def __repr__(self) -> str:
870
+ """
871
+ Return a string representation of the real condition.
872
+
873
+ Returns:
874
+ str: The string representation.
875
+ """
876
+ def __str__(self) -> str:
877
+ """
878
+ Return a string representation of the real condition.
879
+
880
+ Returns:
881
+ str: The string representation.
882
+ """
883
+ def evaluate(self, state: ostk.astrodynamics.trajectory.State) -> ostk.core.type.Real:
884
+ """
885
+ Evaluate the condition.
886
+
887
+ Args:
888
+ state (State): The state.
889
+
890
+ Returns:
891
+ bool: True if the condition is satisfied, False otherwise.
892
+ """
893
+ def get_criterion(self) -> RealCondition.Criterion:
894
+ """
895
+ Get the criterion of the condition.
896
+
897
+ Returns:
898
+ Criterion: The criterion.
899
+ """
900
+ def is_satisfied(self, current_state: ostk.astrodynamics.trajectory.State, previous_state: ostk.astrodynamics.trajectory.State) -> bool:
901
+ """
902
+ Check if the condition is satisfied.
903
+
904
+ Args:
905
+ current_state (State): The current state.
906
+ previous_state (State): The previous state.
907
+
908
+ Returns:
909
+ bool: True if the condition is satisfied, False otherwise.
910
+ """