WSF
WsfConstellation.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 2020 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 WSFCONSTELLATION_HPP
13#define WSFCONSTELLATION_HPP
14
15#include <string>
16
17#include "UtUnitTypes.hpp"
18
19class WsfPlatform;
20
23
25{
26public:
28
30 bool IsGeneral() const { return mOptions.IsGeneral(); }
31
33 bool IsWalkerDelta() const { return mOptions.IsWalkerDelta(); }
34
36 bool IsWalkerStar() const { return mOptions.IsWalkerStar(); }
37
44 unsigned int GetTotalSats() const { return mOptions.GetTotalSats(); }
45
47 unsigned int GetNumPlanes() const { return mOptions.GetNumPlanes(); }
48
50 unsigned int GetSatsPerPlane() const { return mOptions.GetSatsPerPlane(); }
51
60 unsigned int GetWalkerF() const { return mOptions.GetWalkerF(); }
61
63 UtAngleValue GetAnomalyAlias() const { return mOptions.GetAnomalyAlias(); }
64
66 UtAngleValue GetRAAN_Range() const { return mOptions.GetRAAN_Range(); }
67
69 std::string GetName() const { return mOptions.GetConstellationName(); }
70
72 std::string GetPlatformType() const { return mOptions.GetPlatformType(); }
73
75 UtLengthValue GetSemiMajorAxis() const { return mOptions.GetSemiMajorAxis(); }
76
78 UtLengthValue GetCircularAltitude() const { return mOptions.GetCircularAltitude(); }
79
81 UtTimeValue GetOrbitalPeriod() const { return mOptions.GetOrbitalPeriod(); }
82
84 double GetRevolutionsPerDay() const { return mOptions.GetRevolutionsPerDay(); }
85
87 UtAngleValue GetInclination() const { return mOptions.GetInclination(); }
88
90 UtAngleValue GetInitialRAAN() const { return mOptions.GetInitialRAAN(); }
91
93 UtAngleValue GetInitialAnomaly() const { return mOptions.GetInitialAnomaly(); }
94
95 std::string GetMemberName(unsigned int aPlane, unsigned int aMember) const;
96 WsfPlatform* GetMember(unsigned int aPlane, unsigned int aMember) const;
97
98private:
100 const WsfConstellationManager& mManager;
101};
102
103#endif // WSFCONSTELLATION_HPP
A simulation extension to manage WsfConstellation objects.
Definition WsfConstellationManager.hpp:26
Definition WsfConstellationOptions.hpp:27
unsigned int GetSatsPerPlane() const
Return the number of members per orbital plane in the design of this constellation.
Definition WsfConstellation.hpp:50
UtLengthValue GetCircularAltitude() const
Return the circular altitude of the orbits in this constellation.
Definition WsfConstellation.hpp:78
bool IsGeneral() const
Return if this constellation was created with a general design.
Definition WsfConstellation.hpp:30
UtTimeValue GetOrbitalPeriod() const
Return the orbital period of the orbits in this constellation.
Definition WsfConstellation.hpp:81
UtAngleValue GetInclination() const
Return the inclination of the orbits in this constellation.
Definition WsfConstellation.hpp:87
UtLengthValue GetSemiMajorAxis() const
Return the semi-major axis of the orbits in this constellation.
Definition WsfConstellation.hpp:75
unsigned int GetTotalSats() const
Definition WsfConstellation.hpp:44
std::string GetName() const
Return the constellation's name.
Definition WsfConstellation.hpp:69
unsigned int GetWalkerF() const
Definition WsfConstellation.hpp:60
std::string GetPlatformType() const
Return the platform type of the members of this constellation.
Definition WsfConstellation.hpp:72
double GetRevolutionsPerDay() const
Return the number of revolutions per day of the orbits in this constellation.
Definition WsfConstellation.hpp:84
unsigned int GetNumPlanes() const
Return the number of orbital planes in the design of this constellation.
Definition WsfConstellation.hpp:47
WsfConstellation(const WsfConstellationManager &aManager, const WsfConstellationOptions &aOptions)
Definition WsfConstellation.cpp:17
bool IsWalkerDelta() const
Return if this constellation was created with a Walker Delta design.
Definition WsfConstellation.hpp:33
std::string GetMemberName(unsigned int aPlane, unsigned int aMember) const
Definition WsfConstellation.cpp:32
WsfPlatform * GetMember(unsigned int aPlane, unsigned int aMember) const
Definition WsfConstellation.cpp:46
UtAngleValue GetInitialRAAN() const
Return the RAAN of the zeroth orbital plane for this constellation.
Definition WsfConstellation.hpp:90
UtAngleValue GetAnomalyAlias() const
Return the inter-plane phasing angle for the design of this constellation.
Definition WsfConstellation.hpp:63
bool IsWalkerStar() const
Return if this constellation was created with a Walker Star design.
Definition WsfConstellation.hpp:36
UtAngleValue GetRAAN_Range() const
Return the range in RAAN for the orbital planes for this constellation.
Definition WsfConstellation.hpp:66
UtAngleValue GetInitialAnomaly() const
Return the initial true anomaly of the zeroth member of the zeroth plane in this constellation.
Definition WsfConstellation.hpp:93
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Copyrights Multiple, All Rights Reserved