WSF
WsfSpaceScriptOrbitalManeuvers.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2016 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFSCRIPTORBITALMANEUVERS_HPP
13#define WSFSCRIPTORBITALMANEUVERS_HPP
14
15#include "wsf_space_export.h"
16
18
19namespace wsf
20{
21
22namespace space
23{
24
25namespace script
26{
27
30class WSF_SPACE_EXPORT OrbitalEventCondition : public WsfScriptObjectClass
31{
32public:
33 OrbitalEventCondition(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
34 ~OrbitalEventCondition() override = default;
35
36 void* Create(const UtScriptContext& aInstance) override;
37 void* Clone(void* aObjectPtr) override;
38 void Destroy(void* aObjectPtr) override;
39
42 // Methods that return WsfOrbitalEventCondition
44 UT_DECLARE_SCRIPT_METHOD(AT_RELATIVE_TIME);
47 UT_DECLARE_SCRIPT_METHOD(AT_ASCENDING_NODE);
48 UT_DECLARE_SCRIPT_METHOD(AT_DESCENDING_NODE);
49 UT_DECLARE_SCRIPT_METHOD(AT_ASCENDING_RADIUS);
50 UT_DECLARE_SCRIPT_METHOD(AT_DESCENDING_RADIUS);
51 UT_DECLARE_SCRIPT_METHOD(AT_NORTHERN_INTERSECTION);
52 UT_DECLARE_SCRIPT_METHOD(AT_SOUTHERN_INTERSECTION);
53 UT_DECLARE_SCRIPT_METHOD(AT_ECLIPSE_ENTRY);
54 UT_DECLARE_SCRIPT_METHOD(AT_ECLIPSE_EXIT);
55
57 UT_DECLARE_SCRIPT_METHOD(SetOrbitNumber);
58};
59
61class WSF_SPACE_EXPORT OrbitalManeuverCondition : public OrbitalEventCondition
62{
63public:
64 OrbitalManeuverCondition(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
65 ~OrbitalManeuverCondition() override = default;
66};
67
69class WSF_SPACE_EXPORT OrbitalEvent : public WsfScriptObjectClass
70{
71public:
72 OrbitalEvent(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
73 ~OrbitalEvent() override = default;
74
75 void* Clone(void* aObjectPtr) override;
76 void Destroy(void* aObjectPtr) override;
77
78 // Methods
81 UT_DECLARE_SCRIPT_METHOD(EvaluationTime);
93 UT_DECLARE_SCRIPT_METHOD(SetUpdateInterval);
95};
96
98class WSF_SPACE_EXPORT OrbitalManeuver : public OrbitalEvent
99{
100public:
101 OrbitalManeuver(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
102 ~OrbitalManeuver() override = default;
103
104 // Methods that return optimize option identifiers for the intercept & rendezvous maneuvers.
108};
109
111class WSF_SPACE_EXPORT CompoundManeuver : public OrbitalManeuver
112{
113public:
114 CompoundManeuver(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
115 ~CompoundManeuver() override = default;
116
120};
121
123class WSF_SPACE_EXPORT ChangeEccentricity : public OrbitalManeuver
124{
125public:
126 ChangeEccentricity(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
127 ~ChangeEccentricity() override = default;
128
131};
132
134class WSF_SPACE_EXPORT Circularize : public OrbitalManeuver
135{
136public:
137 Circularize(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
138 ~Circularize() override = default;
139
142};
143
145class WSF_SPACE_EXPORT ChangeInclination : public OrbitalManeuver
146{
147public:
148 ChangeInclination(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
149 ~ChangeInclination() override = default;
150
153};
154
156class WSF_SPACE_EXPORT ChangeRAAN : public OrbitalManeuver
157{
158public:
159 ChangeRAAN(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
160 ~ChangeRAAN() override = default;
161
165};
166
168class WSF_SPACE_EXPORT ChangeRAAN_Inclination : public OrbitalManeuver
169{
170public:
171 ChangeRAAN_Inclination(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
172 ~ChangeRAAN_Inclination() override = default;
173
178};
179
181class WSF_SPACE_EXPORT DeltaV : public OrbitalManeuver
182{
183public:
184 DeltaV(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
185 ~DeltaV() override = default;
186
188 UT_DECLARE_SCRIPT_METHOD(Construct_Deprecated); // DEPRECATED
192};
193
194class WSF_SPACE_EXPORT Drift : public OrbitalManeuver
195{
196public:
197 Drift(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
198 ~Drift() override = default;
199
203
206};
207
209class WSF_SPACE_EXPORT Tangent : public OrbitalManeuver
210{
211public:
212 Tangent(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
213 ~Tangent() override = default;
214
217};
218
220class WSF_SPACE_EXPORT Normal : public OrbitalManeuver
221{
222public:
223 Normal(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
224 ~Normal() override = default;
225
228};
229
231class WSF_SPACE_EXPORT HohmannTransfer : public OrbitalManeuver
232{
233public:
234 HohmannTransfer(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
235 ~HohmannTransfer() override = default;
236
239};
240
242class WSF_SPACE_EXPORT ChangeSemiMajorAxis : public OrbitalManeuver
243{
244public:
245 ChangeSemiMajorAxis(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
246 ~ChangeSemiMajorAxis() override = default;
247
250};
251
253class WSF_SPACE_EXPORT MatchVelocity : public OrbitalManeuver
254{
255public:
256 MatchVelocity(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
257 ~MatchVelocity() override = default;
258
261};
262
263class WSF_SPACE_EXPORT NaturalMotionCircumnavigation : public OrbitalManeuver
264{
265public:
266 NaturalMotionCircumnavigation(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
267 ~NaturalMotionCircumnavigation() override = default;
268
272
275 UT_DECLARE_SCRIPT_METHOD(OutOfPlaneAmplitude);
276 UT_DECLARE_SCRIPT_METHOD(OutOfPlanePhase);
277
280 UT_DECLARE_SCRIPT_METHOD(SetOutOfPlaneAmplitude);
281 UT_DECLARE_SCRIPT_METHOD(SetOutOfPlanePhase);
282};
283
285class WSF_SPACE_EXPORT Intercept : public OrbitalManeuver
286{
287public:
288 Intercept(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
289 ~Intercept() override = default;
290
295
297
300};
301
303class WSF_SPACE_EXPORT Rendezvous : public OrbitalManeuver
304{
305public:
306 Rendezvous(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
307 ~Rendezvous() override = default;
308
313
315
318};
319
321class WSF_SPACE_EXPORT Target : public OrbitalManeuver
322{
323public:
324 Target(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
325 ~Target() override = default;
326
331
333
336};
337
339class WSF_SPACE_EXPORT Teardrop : public OrbitalManeuver
340{
341public:
342 Teardrop(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
343 ~Teardrop() override = default;
344
348
350 UT_DECLARE_SCRIPT_METHOD(RadialOffsetAtPOCA);
353
355};
356
358class WSF_SPACE_EXPORT PerformStaging : public OrbitalEvent
359{
360public:
361 PerformStaging(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
362 ~PerformStaging() override = default;
363
366};
367
369class WSF_SPACE_EXPORT Scripted : public OrbitalEvent
370{
371public:
372 Scripted(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
373 ~Scripted() override = default;
374
377};
378
380class WSF_SPACE_EXPORT ChangeAttitude : public OrbitalEvent
381{
382public:
383 ChangeAttitude(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
384 ~ChangeAttitude() override = default;
385
388};
389
390} // namespace script
391
392} // namespace space
393
394} // namespace wsf
395
396#endif
WsfScriptObjectClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfScriptObjectClass.cpp:24
Definition WsfSpaceOrbitSize.hpp:32
ChangeAttitude(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1583
~ChangeAttitude() override=default
ChangeEccentricity(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:257
ChangeInclination(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:291
ChangeRAAN_Inclination(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:343
ChangeRAAN(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:316
~ChangeRAAN() override=default
ChangeSemiMajorAxis(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:582
~Circularize() override=default
Circularize(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:277
CompoundManeuver(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:238
UT_DECLARE_SCRIPT_METHOD(Construct_Deprecated)
~DeltaV() override=default
UT_DECLARE_SCRIPT_METHOD(Construct)
DeltaV(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:389
UT_DECLARE_SCRIPT_METHOD(DriftRate)
UT_DECLARE_SCRIPT_METHOD(Construct_2)
UT_DECLARE_SCRIPT_METHOD(Construct_1)
~Drift() override=default
UT_DECLARE_SCRIPT_METHOD(ConstructCost)
Drift(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:441
UT_DECLARE_SCRIPT_METHOD(SetDriftRate)
HohmannTransfer(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:559
Intercept(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:902
UT_DECLARE_SCRIPT_METHOD(Construct_1)
UT_DECLARE_SCRIPT_METHOD(Construct_2)
UT_DECLARE_SCRIPT_METHOD(ConstructCost)
UT_DECLARE_SCRIPT_METHOD(SetTolerance)
UT_DECLARE_SCRIPT_METHOD(TargetPoint)
~Intercept() override=default
MatchVelocity(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:609
~MatchVelocity() override=default
NaturalMotionCircumnavigation(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:632
UT_DECLARE_SCRIPT_METHOD(Construct)
~Normal() override=default
Normal(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:541
UT_DECLARE_SCRIPT_METHOD(AT_ASCENDING_RADIUS)
UT_DECLARE_SCRIPT_METHOD(AT_NORTHERN_INTERSECTION)
void * Clone(void *aObjectPtr) override
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1795
OrbitalEventCondition(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1606
void Destroy(void *aObjectPtr) override
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1800
UT_DECLARE_SCRIPT_METHOD(AT_DESCENDING_RADIUS)
UT_DECLARE_SCRIPT_METHOD(AT_SOUTHERN_INTERSECTION)
void * Create(const UtScriptContext &aInstance) override
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1790
OrbitalEvent(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:99
void * Clone(void *aObjectPtr) override
Definition WsfSpaceScriptOrbitalManeuvers.cpp:123
UT_DECLARE_SCRIPT_METHOD(EvaluationTime)
void Destroy(void *aObjectPtr) override
Definition WsfSpaceScriptOrbitalManeuvers.cpp:129
~OrbitalEvent() override=default
UT_DECLARE_SCRIPT_METHOD(ConditionType)
UT_DECLARE_SCRIPT_METHOD(SetUpdateInterval)
OrbitalManeuverCondition(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1805
OrbitalManeuver(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1811
~PerformStaging() override=default
PerformStaging(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1524
UT_DECLARE_SCRIPT_METHOD(ConstructCost)
~Rendezvous() override=default
UT_DECLARE_SCRIPT_METHOD(SetTolerance)
Rendezvous(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1403
~Scripted() override=default
Scripted(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1540
Tangent(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:523
~Tangent() override=default
Target(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1023
~Target() override=default
UT_DECLARE_SCRIPT_METHOD(Construct_2)
UT_DECLARE_SCRIPT_METHOD(ConstructCost)
UT_DECLARE_SCRIPT_METHOD(TargetPoint)
UT_DECLARE_SCRIPT_METHOD(Construct_1)
UT_DECLARE_SCRIPT_METHOD(SetTolerance)
UT_DECLARE_SCRIPT_METHOD(Tolerance)
Teardrop(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfSpaceScriptOrbitalManeuvers.cpp:1141
UT_DECLARE_SCRIPT_METHOD(SetRepetitions)
UT_DECLARE_SCRIPT_METHOD(Construct_2)
~Teardrop() override=default
UT_DECLARE_SCRIPT_METHOD(Construct_1)
UT_DECLARE_SCRIPT_METHOD(TimeToPOCA)
UT_DECLARE_SCRIPT_METHOD(RadialOffsetAtPOCA)
UT_DECLARE_SCRIPT_METHOD(Repetitions)
UT_DECLARE_SCRIPT_METHOD(ConstructCost)
Definition WsfScriptConjunctionReport.cpp:26
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved