WSF
WsfConstellationOptions Class Reference

#include <WsfConstellationOptions.hpp>

Public Member Functions

 WsfConstellationOptions (const WsfConstellationOptions &aOther)=default
WsfConstellationOptionsoperator= (const WsfConstellationOptions &aOther)=default
bool IsSetup () const
 Return if this object has been fully set up.
std::string ValidateSetup () const
bool IsWalkerDelta () const
 Return if these options are for a Walker Delta design.
bool IsWalkerStar () const
 Return if these options are for a Walker Star design.
bool IsGeneral () const
 Return if these options are for a general design.
unsigned int GetTotalSats () const
 Return the total number of members in this constellation design.
unsigned int GetNumPlanes () const
 Return the number of orbital planes in this constellation design.
unsigned int GetSatsPerPlane () const
 Return the number of members per plane in this constellation design.
unsigned int GetWalkerF () const
 Return the Walker inter-plane phasing parameter in this constellation design.
const UtAngleValue & GetAnomalyAlias () const
 Return the inter-plane phasing angle in this constellation design.
const UtAngleValue & GetRAAN_Range () const
 Return the range in RAAN over which the orbital planes are distributed in this constellation design.
const UtLengthValue & GetSemiMajorAxis () const
 Return the semi-major axis of the orbits in this constellation design.
const UtLengthValue & GetCircularAltitude () const
 Return the circular altitude of the orbits in this constellation design.
const UtTimeValue & GetOrbitalPeriod () const
 Return the orbital period of the orbits in this constellation design.
double GetRevolutionsPerDay () const
 Return the number of revolutions per day of the orbits in this constellation design.
bool SpecifiedAsSemiMajorAxis () const
 Return if the orbit size was specified via semi-major axis.
bool SpecifiedAsCircularAltitude () const
 Return if the orbit size was specified via the circular altitude.
bool SpecifiedAsOrbitalPeriod () const
 Return if the orbit size was specified via the orbital period.
bool SpecifiedAsRevolutionsPerDay () const
 Return if the orbit size was specified via the number of revolutions per day.
const UtAngleValue & GetInclination () const
 Return the inclination of the orbits in this constellation design.
const UtAngleValue & GetInitialRAAN () const
 Return the RAAN of the zeroth orbital plane in this constellation design.
const UtAngleValue & GetInitialAnomaly () const
 Return the true anomaly of the zeroth member of the zeroth plane in this constellation design.
const std::string & GetConstellationName () const
 Return the name of the constellation design.
const std::string & GetPlatformType () const
 Return the type of platform that would be used for members of this constellation design.
const UtPath & GetBasePath () const
 Return the base path to which any generated files will be placed for this constellation design.
void SetSemiMajorAxis (const UtLengthValue &aSemiMajorAxis)
 Set the semi-major axis of the orbits in this constellation design.
void SetCircularAltitude (const UtLengthValue &aCircularAltitude)
 Set the circular altitude of the orbits in this constellation design.
void SetOrbitalPeriod (const UtTimeValue &aOrbitalPeriod)
 Set the orbital period of the orbits in this constellation design.
void SetRevolutionsPerDay (double aRevolutionsPerDay)
 Set the number of revolutions per day of the orbits in this constellation design.
void SetInclination (const UtAngleValue &aInclination)
 Set the inclination of the orbits in this constellation design.
void SetInitialRAAN (const UtAngleValue &aInitialRAAN)
 Set the RAAN of the zeroth plane in this constellation design.
void SetInitialAnomaly (const UtAngleValue &aInitialAnomaly)
 Set the true anomaly of the zeroth member of the zeroth orbital plane in this constellation design.
void SetConstellationName (const std::string &aConstellationName)
 Set the name of this constellation design.
void SetPlatformType (const std::string &aPlatformType)
 Set the platform type of the members of this constellation design.
void SetBasePath (const UtPath &aBasePath)
 Set the base path of any generated files for this constellation design.
void OutputOptions (std::ostream &aStream) const
 Write these options into a AFSIM input comment block in the provided aStream.
std::string GetGeneratedFilePrefix () const
 Return the name of files that would be generated for this constellation design.
std::string GetMemberName (unsigned int aPlane, unsigned int aSatellite) const
 Return the name a platform would have for the given position.
UtAngleValue GetMemberRAAN (unsigned int aPlane) const
 Return the RAAN of the members of the given aPlane.
UtAngleValue GetMemberAnomaly (unsigned int aPlane, unsigned int aSatellite) const
 Return the true anomaly for the given aSatellite in the given aPlane.

Static Public Member Functions

static WsfConstellationOptions CreateWalkerDelta (unsigned int aNumTotalSats, unsigned int aNumPlanes, unsigned int aWalkerF)
static WsfConstellationOptions CreateWalkerStar (unsigned int aNumTotalSats, unsigned int aNumPlanes, unsigned int aWalkerF)
static WsfConstellationOptions CreateGeneral (unsigned int aNumPlanes, unsigned int aNumSatsPerPlane, const UtAngleValue &aAnomalyAlias, const UtAngleValue &aRAAN_Range)
 Create a set of options for General constellation.

Static Public Attributes

static constexpr const char * cBASE_NAME {"Constellation Name"}
static constexpr const char * cPLATFORM_TYPE {"Platform Type"}
static constexpr const char * cGENERATION_PATH {"Path to generated files"}
static constexpr const char * cREVS_PER_DAY {"Revs. Per Day"}
static constexpr const char * cINCLINATION {"Inclination"}
static constexpr const char * cNUM_PLANES {"Number of Planes"}
static constexpr const char * cSATS_PER_PLANE {"Satellites per Plane"}
static constexpr const char * cINITIAL_RAAN {"Initial RAAN"}
static constexpr const char * cRAAN_RANGE {"RAAN Range"}
static constexpr const char * cINITIAL_ANOMALY {"Initial Anomaly"}
static constexpr const char * cANOMALY_ALIAS {"Anomaly Alias"}
static constexpr const char * cALTITUDE {"Orbit Altitude"}
static constexpr const char * cSEMI_MAJOR_AXIS {"Semi-major Axis"}
static constexpr const char * cPERIOD {"Orbital Period"}
static constexpr const char * cHEADER_START_MARKER

Detailed Description

This class represents the options that for a constellation as created by the constellation maker.

Constructor & Destructor Documentation

◆ WsfConstellationOptions()

WsfConstellationOptions::WsfConstellationOptions ( const WsfConstellationOptions & aOther)
default

Member Function Documentation

◆ CreateGeneral()

WsfConstellationOptions WsfConstellationOptions::CreateGeneral ( unsigned int aNumPlanes,
unsigned int aNumSatsPerPlane,
const UtAngleValue & aAnomalyAlias,
const UtAngleValue & aRAAN_Range )
static

Create a set of options for General constellation.

References WsfConstellationOptions().

Referenced by WsfConstellationMaker::CreateGeneral(), and operator=().

◆ CreateWalkerDelta()

WsfConstellationOptions WsfConstellationOptions::CreateWalkerDelta ( unsigned int aNumTotalSats,
unsigned int aNumPlanes,
unsigned int aWalkerF )
static

Create a set of options for a Walker Delta constellation.

This method will return options that correspond to a Walker Delta constellation. If aNumTotalSats is not evenly divisible by aNumPlanes, or if aWalkerF is not in the allowed range, then this will return an invalid set of options, and will print out error messages indicating the nature of the failure.

Parameters
aNumTotalSats- The total number of members of the constellation.
aNumPlanes- The number of orbital planes for the constellation.
aWalkerF- The inter-plane phasing parameter for the constellation.
Returns
- The specified constellation options, or an Invalid set of options for inputs out of their allowed range.

References WsfConstellationOptions().

Referenced by WsfConstellationMaker::CreateWalkerDelta(), and operator=().

◆ CreateWalkerStar()

WsfConstellationOptions WsfConstellationOptions::CreateWalkerStar ( unsigned int aNumTotalSats,
unsigned int aNumPlanes,
unsigned int aWalkerF )
static

Create a set of options for a Walker Star constellation.

This method will return options that correspond to a Walker Star constellation. If aNumTotalSats is not evenly divisible by aNumPlanes, or if aWalkerF is not in the allowed range, then this will return an invalid set of options, and will print out error messages indicating the nature of the failure.

Parameters
aNumTotalSats- The total number of members of the constellation.
aNumPlanes- The number of orbital planes for the constellation.
aWalkerF- The inter-plane phasing parameter for the constellation.
Returns
- The specified constellation options, or an Invalid set of options for inputs out of their allowed range.

References WsfConstellationOptions().

Referenced by WsfConstellationMaker::CreateWalkerStar(), and operator=().

◆ GetAnomalyAlias()

const UtAngleValue & WsfConstellationOptions::GetAnomalyAlias ( ) const
inline

Return the inter-plane phasing angle in this constellation design.

Referenced by GetMemberAnomaly().

◆ GetBasePath()

const UtPath & WsfConstellationOptions::GetBasePath ( ) const
inline

Return the base path to which any generated files will be placed for this constellation design.

Referenced by GetGeneratedFilePrefix().

◆ GetCircularAltitude()

const UtLengthValue & WsfConstellationOptions::GetCircularAltitude ( ) const
inline

Return the circular altitude of the orbits in this constellation design.

◆ GetConstellationName()

const std::string & WsfConstellationOptions::GetConstellationName ( ) const
inline

Return the name of the constellation design.

Referenced by GetGeneratedFilePrefix(), and GetMemberName().

◆ GetGeneratedFilePrefix()

std::string WsfConstellationOptions::GetGeneratedFilePrefix ( ) const

Return the name of files that would be generated for this constellation design.

References GetBasePath(), and GetConstellationName().

◆ GetInclination()

const UtAngleValue & WsfConstellationOptions::GetInclination ( ) const
inline

Return the inclination of the orbits in this constellation design.

◆ GetInitialAnomaly()

const UtAngleValue & WsfConstellationOptions::GetInitialAnomaly ( ) const
inline

Return the true anomaly of the zeroth member of the zeroth plane in this constellation design.

Referenced by GetMemberAnomaly().

◆ GetInitialRAAN()

const UtAngleValue & WsfConstellationOptions::GetInitialRAAN ( ) const
inline

Return the RAAN of the zeroth orbital plane in this constellation design.

Referenced by GetMemberRAAN().

◆ GetMemberAnomaly()

UtAngleValue WsfConstellationOptions::GetMemberAnomaly ( unsigned int aPlane,
unsigned int aSatellite ) const

Return the true anomaly for the given aSatellite in the given aPlane.

References GetAnomalyAlias(), GetInitialAnomaly(), and GetSatsPerPlane().

◆ GetMemberName()

std::string WsfConstellationOptions::GetMemberName ( unsigned int aPlane,
unsigned int aSatellite ) const

Return the name a platform would have for the given position.

References GetConstellationName().

◆ GetMemberRAAN()

UtAngleValue WsfConstellationOptions::GetMemberRAAN ( unsigned int aPlane) const

Return the RAAN of the members of the given aPlane.

References GetInitialRAAN(), GetNumPlanes(), and GetRAAN_Range().

◆ GetNumPlanes()

unsigned int WsfConstellationOptions::GetNumPlanes ( ) const
inline

Return the number of orbital planes in this constellation design.

Referenced by wsf::space::ConstellationGenerator::Generate(), and GetMemberRAAN().

◆ GetOrbitalPeriod()

const UtTimeValue & WsfConstellationOptions::GetOrbitalPeriod ( ) const
inline

Return the orbital period of the orbits in this constellation design.

◆ GetPlatformType()

const std::string & WsfConstellationOptions::GetPlatformType ( ) const
inline

Return the type of platform that would be used for members of this constellation design.

◆ GetRAAN_Range()

const UtAngleValue & WsfConstellationOptions::GetRAAN_Range ( ) const
inline

Return the range in RAAN over which the orbital planes are distributed in this constellation design.

Referenced by GetMemberRAAN().

◆ GetRevolutionsPerDay()

double WsfConstellationOptions::GetRevolutionsPerDay ( ) const
inline

Return the number of revolutions per day of the orbits in this constellation design.

◆ GetSatsPerPlane()

unsigned int WsfConstellationOptions::GetSatsPerPlane ( ) const
inline

Return the number of members per plane in this constellation design.

Referenced by wsf::space::ConstellationGenerator::Generate(), and GetMemberAnomaly().

◆ GetSemiMajorAxis()

const UtLengthValue & WsfConstellationOptions::GetSemiMajorAxis ( ) const
inline

Return the semi-major axis of the orbits in this constellation design.

◆ GetTotalSats()

unsigned int WsfConstellationOptions::GetTotalSats ( ) const
inline

Return the total number of members in this constellation design.

◆ GetWalkerF()

unsigned int WsfConstellationOptions::GetWalkerF ( ) const
inline

Return the Walker inter-plane phasing parameter in this constellation design.

◆ IsGeneral()

bool WsfConstellationOptions::IsGeneral ( ) const
inline

Return if these options are for a general design.

Referenced by WsfConstellationMaker::CreateGeneral().

◆ IsSetup()

bool WsfConstellationOptions::IsSetup ( ) const

Return if this object has been fully set up.

References ValidateSetup().

Referenced by operator=().

◆ IsWalkerDelta()

bool WsfConstellationOptions::IsWalkerDelta ( ) const
inline

Return if these options are for a Walker Delta design.

Referenced by WsfConstellationMaker::CreateWalkerDelta().

◆ IsWalkerStar()

bool WsfConstellationOptions::IsWalkerStar ( ) const
inline

Return if these options are for a Walker Star design.

Referenced by WsfConstellationMaker::CreateWalkerStar().

◆ operator=()

◆ OutputOptions()

void WsfConstellationOptions::OutputOptions ( std::ostream & aStream) const

◆ SetBasePath()

void WsfConstellationOptions::SetBasePath ( const UtPath & aBasePath)
inline

Set the base path of any generated files for this constellation design.

◆ SetCircularAltitude()

void WsfConstellationOptions::SetCircularAltitude ( const UtLengthValue & aCircularAltitude)
inline

Set the circular altitude of the orbits in this constellation design.

◆ SetConstellationName()

void WsfConstellationOptions::SetConstellationName ( const std::string & aConstellationName)
inline

Set the name of this constellation design.

◆ SetInclination()

void WsfConstellationOptions::SetInclination ( const UtAngleValue & aInclination)
inline

Set the inclination of the orbits in this constellation design.

◆ SetInitialAnomaly()

void WsfConstellationOptions::SetInitialAnomaly ( const UtAngleValue & aInitialAnomaly)
inline

Set the true anomaly of the zeroth member of the zeroth orbital plane in this constellation design.

◆ SetInitialRAAN()

void WsfConstellationOptions::SetInitialRAAN ( const UtAngleValue & aInitialRAAN)
inline

Set the RAAN of the zeroth plane in this constellation design.

◆ SetOrbitalPeriod()

void WsfConstellationOptions::SetOrbitalPeriod ( const UtTimeValue & aOrbitalPeriod)
inline

Set the orbital period of the orbits in this constellation design.

◆ SetPlatformType()

void WsfConstellationOptions::SetPlatformType ( const std::string & aPlatformType)
inline

Set the platform type of the members of this constellation design.

◆ SetRevolutionsPerDay()

void WsfConstellationOptions::SetRevolutionsPerDay ( double aRevolutionsPerDay)
inline

Set the number of revolutions per day of the orbits in this constellation design.

◆ SetSemiMajorAxis()

void WsfConstellationOptions::SetSemiMajorAxis ( const UtLengthValue & aSemiMajorAxis)
inline

Set the semi-major axis of the orbits in this constellation design.

◆ SpecifiedAsCircularAltitude()

bool WsfConstellationOptions::SpecifiedAsCircularAltitude ( ) const
inline

Return if the orbit size was specified via the circular altitude.

◆ SpecifiedAsOrbitalPeriod()

bool WsfConstellationOptions::SpecifiedAsOrbitalPeriod ( ) const
inline

Return if the orbit size was specified via the orbital period.

◆ SpecifiedAsRevolutionsPerDay()

bool WsfConstellationOptions::SpecifiedAsRevolutionsPerDay ( ) const
inline

Return if the orbit size was specified via the number of revolutions per day.

◆ SpecifiedAsSemiMajorAxis()

bool WsfConstellationOptions::SpecifiedAsSemiMajorAxis ( ) const
inline

Return if the orbit size was specified via semi-major axis.

◆ ValidateSetup()

std::string WsfConstellationOptions::ValidateSetup ( ) const

Validate the setup of this object.

This method examines the current state of this object and reports on any deficiencies that would keep this object from being used as the options to create a constellation.

Returns
- A string containing messages for any deficiencies that need to be corrected.

Referenced by IsSetup(), and operator=().

Member Data Documentation

◆ cALTITUDE

const char* WsfConstellationOptions::cALTITUDE {"Orbit Altitude"}
staticconstexpr

Referenced by OutputOptions().

◆ cANOMALY_ALIAS

const char* WsfConstellationOptions::cANOMALY_ALIAS {"Anomaly Alias"}
staticconstexpr

Referenced by OutputOptions().

◆ cBASE_NAME

const char* WsfConstellationOptions::cBASE_NAME {"Constellation Name"}
staticconstexpr

Referenced by OutputOptions().

◆ cGENERATION_PATH

const char* WsfConstellationOptions::cGENERATION_PATH {"Path to generated files"}
staticconstexpr

Referenced by OutputOptions().

◆ cHEADER_START_MARKER

const char* WsfConstellationOptions::cHEADER_START_MARKER
staticconstexpr
Initial value:
{
"# New file created by AFSIM Wizard using the Constellation Maker\n/*\n"}

Referenced by OutputOptions().

◆ cINCLINATION

const char* WsfConstellationOptions::cINCLINATION {"Inclination"}
staticconstexpr

Referenced by OutputOptions().

◆ cINITIAL_ANOMALY

const char* WsfConstellationOptions::cINITIAL_ANOMALY {"Initial Anomaly"}
staticconstexpr

Referenced by OutputOptions().

◆ cINITIAL_RAAN

const char* WsfConstellationOptions::cINITIAL_RAAN {"Initial RAAN"}
staticconstexpr

Referenced by OutputOptions().

◆ cNUM_PLANES

const char* WsfConstellationOptions::cNUM_PLANES {"Number of Planes"}
staticconstexpr

Referenced by OutputOptions().

◆ cPERIOD

const char* WsfConstellationOptions::cPERIOD {"Orbital Period"}
staticconstexpr

Referenced by OutputOptions().

◆ cPLATFORM_TYPE

const char* WsfConstellationOptions::cPLATFORM_TYPE {"Platform Type"}
staticconstexpr

Referenced by OutputOptions().

◆ cRAAN_RANGE

const char* WsfConstellationOptions::cRAAN_RANGE {"RAAN Range"}
staticconstexpr

Referenced by OutputOptions().

◆ cREVS_PER_DAY

const char* WsfConstellationOptions::cREVS_PER_DAY {"Revs. Per Day"}
staticconstexpr

Referenced by OutputOptions().

◆ cSATS_PER_PLANE

const char* WsfConstellationOptions::cSATS_PER_PLANE {"Satellites per Plane"}
staticconstexpr

Referenced by OutputOptions().

◆ cSEMI_MAJOR_AXIS

const char* WsfConstellationOptions::cSEMI_MAJOR_AXIS {"Semi-major Axis"}
staticconstexpr

Referenced by OutputOptions().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved