4
4
5
5
using namespace pybind11 ;
6
6
7
- using ostk::core::type::Real ;
7
+ using ostk::core::container::Pair ;
8
8
using ostk::core::type::Shared;
9
- using ostk::core::type::String;
10
9
11
10
using ostk::physics::coordinate::Frame;
11
+ using ostk::physics::unit::Angle;
12
12
using ostk::physics::unit::Derived;
13
13
14
+ using ostk::astrodynamics::EventCondition;
15
+ using ostk::astrodynamics::eventcondition::AngularCondition;
14
16
using ostk::astrodynamics::eventcondition::COECondition;
15
- using ostk::astrodynamics::eventcondition::RealCondition;
16
- using ostk::astrodynamics::trajectory::orbit::model::kepler::COE;
17
17
18
18
inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition (pybind11::module& aModule)
19
19
{
@@ -37,7 +37,7 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
37
37
criterion (Criterion): The criterion.
38
38
frame (Frame): The reference frame.
39
39
semi_major_axis (EventConditionTarget): The semi-major axis.
40
- gravitational_parameter (float ): The gravitational parameter.
40
+ gravitational_parameter (Derived ): The gravitational parameter.
41
41
42
42
Returns:
43
43
COECondition: The COE condition.
@@ -58,7 +58,7 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
58
58
criterion (Criterion): The criterion.
59
59
frame (Frame): The reference frame.
60
60
eccentricity (EventConditionTarget): The eccentricity.
61
- gravitational_parameter (float ): The gravitational parameter.
61
+ gravitational_parameter (Derived ): The gravitational parameter.
62
62
63
63
Returns:
64
64
COECondition: The COE condition.
@@ -71,15 +71,19 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
71
71
72
72
.def_static (
73
73
" inclination" ,
74
- &COECondition::Inclination,
74
+ overload_cast<
75
+ const AngularCondition::Criterion&,
76
+ const Shared<const Frame>&,
77
+ const EventCondition::Target&,
78
+ const Derived&>(&COECondition::Inclination),
75
79
R"doc(
76
80
Create a COE condition based on the inclination.
77
81
78
82
Args:
79
83
criterion (Criterion): The criterion.
80
84
frame (Frame): The reference frame.
81
85
inclination (EventConditionTarget): The inclination.
82
- gravitational_parameter (float ): The gravitational parameter.
86
+ gravitational_parameter (Derived ): The gravitational parameter.
83
87
84
88
Returns:
85
89
COECondition: The COE condition.
@@ -90,17 +94,42 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
90
94
arg (" gravitational_parameter" )
91
95
)
92
96
97
+ .def_static (
98
+ " inclination" ,
99
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(
100
+ &COECondition::Inclination
101
+ ),
102
+ R"doc(
103
+ Create a COE condition based on the inclination being within a range.
104
+
105
+ Args:
106
+ frame (Frame): The reference frame.
107
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
108
+ gravitational_parameter (Derived): The gravitational parameter.
109
+
110
+ Returns:
111
+ COECondition: The COE condition.
112
+ )doc" ,
113
+ arg (" frame" ),
114
+ arg (" target_range" ),
115
+ arg (" gravitational_parameter" )
116
+ )
117
+
93
118
.def_static (
94
119
" aop" ,
95
- &COECondition::Aop,
120
+ overload_cast<
121
+ const AngularCondition::Criterion&,
122
+ const Shared<const Frame>&,
123
+ const EventCondition::Target&,
124
+ const Derived&>(&COECondition::Aop),
96
125
R"doc(
97
126
Create a COE condition based on the argument of perigee.
98
127
99
128
Args:
100
129
criterion (Criterion): The criterion.
101
130
frame (Frame): The reference frame.
102
131
aop (EventConditionTarget): The argument of perigee.
103
- gravitational_parameter (float ): The gravitational parameter.
132
+ gravitational_parameter (Derived ): The gravitational parameter.
104
133
105
134
Returns:
106
135
COECondition: The COE condition.
@@ -111,17 +140,41 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
111
140
arg (" gravitational_parameter" )
112
141
)
113
142
143
+ .def_static (
144
+ " aop" ,
145
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(&COECondition::Aop
146
+ ),
147
+ R"doc(
148
+ Create a COE condition based on the argument of perigee being within a range.
149
+
150
+ Args:
151
+ frame (Frame): The reference frame.
152
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
153
+ gravitational_parameter (Derived): The gravitational parameter.
154
+
155
+ Returns:
156
+ COECondition: The COE condition.
157
+ )doc" ,
158
+ arg (" frame" ),
159
+ arg (" target_range" ),
160
+ arg (" gravitational_parameter" )
161
+ )
162
+
114
163
.def_static (
115
164
" raan" ,
116
- &COECondition::Raan,
165
+ overload_cast<
166
+ const AngularCondition::Criterion&,
167
+ const Shared<const Frame>&,
168
+ const EventCondition::Target&,
169
+ const Derived&>(&COECondition::Raan),
117
170
R"doc(
118
171
Create a COE condition based on the right ascension of the ascending node.
119
172
120
173
Args:
121
174
criterion (Criterion): The criterion.
122
175
frame (Frame): The reference frame.
123
176
raan (EventConditionTarget): The right ascension of the ascending node.
124
- gravitational_parameter (float ): The gravitational parameter.
177
+ gravitational_parameter (Derived ): The gravitational parameter.
125
178
126
179
Returns:
127
180
COECondition: The COE condition.
@@ -132,17 +185,41 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
132
185
arg (" gravitational_parameter" )
133
186
)
134
187
188
+ .def_static (
189
+ " raan" ,
190
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(&COECondition::Raan
191
+ ),
192
+ R"doc(
193
+ Create a COE condition based on the right ascension of the ascending node being within a range.
194
+
195
+ Args:
196
+ frame (Frame): The reference frame.
197
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
198
+ gravitational_parameter (Derived): The gravitational parameter.
199
+
200
+ Returns:
201
+ COECondition: The COE condition.
202
+ )doc" ,
203
+ arg (" frame" ),
204
+ arg (" target_range" ),
205
+ arg (" gravitational_parameter" )
206
+ )
207
+
135
208
.def_static (
136
209
" true_anomaly" ,
137
- &COECondition::TrueAnomaly,
210
+ overload_cast<
211
+ const AngularCondition::Criterion&,
212
+ const Shared<const Frame>&,
213
+ const EventCondition::Target&,
214
+ const Derived&>(&COECondition::TrueAnomaly),
138
215
R"doc(
139
216
Create a COE condition based on the true anomaly.
140
217
141
218
Args:
142
219
criterion (Criterion): The criterion.
143
220
frame (Frame): The reference frame.
144
221
true_anomaly (EventConditionTarget): The true anomaly.
145
- gravitational_parameter (float ): The gravitational parameter.
222
+ gravitational_parameter (Derived ): The gravitational parameter.
146
223
147
224
Returns:
148
225
COECondition: The COE condition.
@@ -153,17 +230,42 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
153
230
arg (" gravitational_parameter" )
154
231
)
155
232
233
+ .def_static (
234
+ " true_anomaly" ,
235
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(
236
+ &COECondition::TrueAnomaly
237
+ ),
238
+ R"doc(
239
+ Create a COE condition based on the true anomaly being within a range.
240
+
241
+ Args:
242
+ frame (Frame): The reference frame.
243
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
244
+ gravitational_parameter (Derived): The gravitational parameter.
245
+
246
+ Returns:
247
+ COECondition: The COE condition.
248
+ )doc" ,
249
+ arg (" frame" ),
250
+ arg (" target_range" ),
251
+ arg (" gravitational_parameter" )
252
+ )
253
+
156
254
.def_static (
157
255
" mean_anomaly" ,
158
- &COECondition::MeanAnomaly,
256
+ overload_cast<
257
+ const AngularCondition::Criterion&,
258
+ const Shared<const Frame>&,
259
+ const EventCondition::Target&,
260
+ const Derived&>(&COECondition::MeanAnomaly),
159
261
R"doc(
160
262
Create a COE condition based on the mean anomaly.
161
263
162
264
Args:
163
265
criterion (Criterion): The criterion.
164
266
frame (Frame): The reference frame.
165
267
mean_anomaly (EventConditionTarget): The mean anomaly.
166
- gravitational_parameter (float ): The gravitational parameter.
268
+ gravitational_parameter (Derived ): The gravitational parameter.
167
269
168
270
Returns:
169
271
COECondition: The COE condition.
@@ -174,17 +276,42 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
174
276
arg (" gravitational_parameter" )
175
277
)
176
278
279
+ .def_static (
280
+ " mean_anomaly" ,
281
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(
282
+ &COECondition::MeanAnomaly
283
+ ),
284
+ R"doc(
285
+ Create a COE condition based on the mean anomaly being within a range.
286
+
287
+ Args:
288
+ frame (Frame): The reference frame.
289
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
290
+ gravitational_parameter (Derived): The gravitational parameter.
291
+
292
+ Returns:
293
+ COECondition: The COE condition.
294
+ )doc" ,
295
+ arg (" frame" ),
296
+ arg (" target_range" ),
297
+ arg (" gravitational_parameter" )
298
+ )
299
+
177
300
.def_static (
178
301
" eccentric_anomaly" ,
179
- &COECondition::EccentricAnomaly,
302
+ overload_cast<
303
+ const AngularCondition::Criterion&,
304
+ const Shared<const Frame>&,
305
+ const EventCondition::Target&,
306
+ const Derived&>(&COECondition::EccentricAnomaly),
180
307
R"doc(
181
308
Create a COE condition based on the eccentric anomaly.
182
309
183
310
Args:
184
311
criterion (Criterion): The criterion.
185
312
frame (Frame): The reference frame.
186
313
eccentric_anomaly (EventConditionTarget): The eccentric anomaly.
187
- gravitational_parameter (float ): The gravitational parameter.
314
+ gravitational_parameter (Derived ): The gravitational parameter.
188
315
189
316
Returns:
190
317
COECondition: The COE condition.
@@ -195,6 +322,73 @@ inline void OpenSpaceToolkitAstrodynamicsPy_EventCondition_COECondition(pybind11
195
322
arg (" gravitational_parameter" )
196
323
)
197
324
325
+ .def_static (
326
+ " eccentric_anomaly" ,
327
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(
328
+ &COECondition::EccentricAnomaly
329
+ ),
330
+ R"doc(
331
+ Create a COE condition based on the eccentric anomaly being within a range.
332
+
333
+ Args:
334
+ frame (Frame): The reference frame.
335
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
336
+ gravitational_parameter (Derived): The gravitational parameter.
337
+
338
+ Returns:
339
+ COECondition: The COE condition.
340
+ )doc" ,
341
+ arg (" frame" ),
342
+ arg (" target_range" ),
343
+ arg (" gravitational_parameter" )
344
+ )
345
+
346
+ .def_static (
347
+ " argument_of_latitude" ,
348
+ overload_cast<
349
+ const AngularCondition::Criterion&,
350
+ const Shared<const Frame>&,
351
+ const EventCondition::Target&,
352
+ const Derived&>(&COECondition::ArgumentOfLatitude),
353
+ R"doc(
354
+ Create a COE condition based on the argument of latitude.
355
+
356
+ Args:
357
+ criterion (Criterion): The criterion.
358
+ frame (Frame): The reference frame.
359
+ argument_of_latitude (EventConditionTarget): The argument of latitude.
360
+ gravitational_parameter (Derived): The gravitational parameter.
361
+
362
+ Returns:
363
+ COECondition: The COE condition.
364
+ )doc" ,
365
+ arg (" criterion" ),
366
+ arg (" frame" ),
367
+ arg (" argument_of_latitude" ),
368
+ arg (" gravitational_parameter" )
369
+ )
370
+
371
+ .def_static (
372
+ " argument_of_latitude" ,
373
+ overload_cast<const Shared<const Frame>&, const Pair<Angle, Angle>&, const Derived&>(
374
+ &COECondition::ArgumentOfLatitude
375
+ ),
376
+ R"doc(
377
+ Create a COE condition based on the argument of latitude being within a range.
378
+
379
+ Args:
380
+ frame (Frame): The reference frame.
381
+ target_range (tuple[Angle, Angle]): A tuple of two angles defining the range.
382
+ gravitational_parameter (Derived): The gravitational parameter.
383
+
384
+ Returns:
385
+ COECondition: The COE condition.
386
+ )doc" ,
387
+ arg (" frame" ),
388
+ arg (" target_range" ),
389
+ arg (" gravitational_parameter" )
390
+ )
391
+
198
392
;
199
393
}
200
394
}
0 commit comments