WSF
WsfRocketOrbitalManeuvering Class Reference

An extension of the base class for orbital maneuvering, utilizing the rocket equation. More...

#include <WsfRocketOrbitalManeuvering.hpp>

Inheritance diagram for WsfRocketOrbitalManeuvering:
Collaboration diagram for WsfRocketOrbitalManeuvering:

Classes

class  Stage
class  Rocket

Public Member Functions

 WsfRocketOrbitalManeuvering ()=default
 WsfRocketOrbitalManeuvering (const WsfRocketOrbitalManeuvering &aSrc)
WsfRocketOrbitalManeuveringoperator= (const WsfRocketOrbitalManeuvering &)=delete
 ~WsfRocketOrbitalManeuvering () override
WsfOrbitalManeuveringClone () const override
bool ProcessInput (UtInput &aInput) override
bool Initialize (const UtCalendar &aEpoch) override
void SetPlatformAttributes (WsfPlatform *aPlatform) const override
 Set attributes for empty mass, fuel mass, and payload mass in WsfPlatform so that they will be available in script.
Public Member Functions inherited from WsfOrbitalManeuvering
 WsfOrbitalManeuvering ()=default
 WsfOrbitalManeuvering (const WsfOrbitalManeuvering &aSrc)=default
WsfOrbitalManeuveringoperator= (const WsfOrbitalManeuvering &)=delete
 ~WsfOrbitalManeuvering () override=default
virtual bool Maneuver (const UtCalendar &aEpoch, const WsfOrbitalManeuver &aManeuver, const UtVec3d &aCommandedDeltaV, UtVec3d &aActualDeltaV)
const UtCalendar & GetUpdateTime () const
double GetManeuverDuration (const UtCalendar &aEpoch, const WsfOrbitalManeuver &aManeuver, double aDeltaV) const
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Utility methods that are optionally supported in derived classes.

double GetRequiredDuration (double aDeltaV) const override
 Given a delta-v, return the required time to complete the maneuver.
double GetRequiredDeltaV (double aDuration) const override
 Given a maneuver duration, return the necessary delta-v.
double GetAvailableDeltaV () const override
double GetAvailableDuration () const override
 Return the available duration corresponding with the available delta-v.
bool ReduceAvailableDeltaV_By (double aDeltaV) override
bool PerformStagingOperation () override
 Default method returns false (see WsfRocketOrbitalManeuvering).
const double GetTotalMass () const

Additional Inherited Members

Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
Static Public Attributes inherited from WsfOrbitalManeuvering
static constexpr double cINFINITE_DELTA_V = std::numeric_limits<double>::max()
 Constant value representing infinite delta-V; used to compare against values computed for maneuvers.
static constexpr double cINFINITE_DURATION = std::numeric_limits<double>::max()
 Constant value representing infinite maneuver duration; used to compare against values computed for maneuvers.
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).
bool mDebug {false}
UtCalendar mUpdateTime {}

Detailed Description

An extension of the base class for orbital maneuvering, utilizing the rocket equation.

Constructor & Destructor Documentation

◆ WsfRocketOrbitalManeuvering() [1/2]

WsfRocketOrbitalManeuvering::WsfRocketOrbitalManeuvering ( )
default

◆ WsfRocketOrbitalManeuvering() [2/2]

WsfRocketOrbitalManeuvering::WsfRocketOrbitalManeuvering ( const WsfRocketOrbitalManeuvering & aSrc)

◆ ~WsfRocketOrbitalManeuvering()

WsfRocketOrbitalManeuvering::~WsfRocketOrbitalManeuvering ( )
override

Member Function Documentation

◆ Clone()

WsfOrbitalManeuvering * WsfRocketOrbitalManeuvering::Clone ( ) const
overridevirtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfOrbitalManeuvering.

References WsfOrbitalManeuvering::WsfOrbitalManeuvering(), and WsfRocketOrbitalManeuvering().

◆ GetAvailableDeltaV()

double WsfRocketOrbitalManeuvering::GetAvailableDeltaV ( ) const
overridevirtual

Return the remaining delta-V available. The value is allowed to go negative for verification purposes. Any negative value indicates no more delta-v is available.

Reimplemented from WsfOrbitalManeuvering.

Referenced by ReduceAvailableDeltaV_By().

◆ GetAvailableDuration()

double WsfRocketOrbitalManeuvering::GetAvailableDuration ( ) const
overridevirtual

Return the available duration corresponding with the available delta-v.

Reimplemented from WsfOrbitalManeuvering.

◆ GetRequiredDeltaV()

double WsfRocketOrbitalManeuvering::GetRequiredDeltaV ( double aDuration) const
overridevirtual

Given a maneuver duration, return the necessary delta-v.

Implements WsfOrbitalManeuvering.

◆ GetRequiredDuration()

double WsfRocketOrbitalManeuvering::GetRequiredDuration ( double aDeltaV) const
overridevirtual

Given a delta-v, return the required time to complete the maneuver.

Implements WsfOrbitalManeuvering.

◆ GetTotalMass()

◆ Initialize()

bool WsfRocketOrbitalManeuvering::Initialize ( const UtCalendar & aEpoch)
overridevirtual

◆ operator=()

◆ PerformStagingOperation()

bool WsfRocketOrbitalManeuvering::PerformStagingOperation ( )
overridevirtual

Default method returns false (see WsfRocketOrbitalManeuvering).

Reimplemented from WsfOrbitalManeuvering.

◆ ProcessInput()

bool WsfRocketOrbitalManeuvering::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfOrbitalManeuvering.

References WsfOrbitalManeuvering::ProcessInput().

◆ ReduceAvailableDeltaV_By()

bool WsfRocketOrbitalManeuvering::ReduceAvailableDeltaV_By ( double aDeltaV)
overridevirtual

Remove available delta V if it is being monitored. Change any internal state as appropriate.

Returns
true if the delta-v could be removed; false otherwise.

Reimplemented from WsfOrbitalManeuvering.

References GetAvailableDeltaV(), and WsfOrbitalManeuvering::mDebug.

◆ SetPlatformAttributes()

void WsfRocketOrbitalManeuvering::SetPlatformAttributes ( WsfPlatform * aPlatform) const
overridevirtual

Set attributes for empty mass, fuel mass, and payload mass in WsfPlatform so that they will be available in script.

Reimplemented from WsfOrbitalManeuvering.

References WsfPlatform::SetEmptyMass(), WsfPlatform::SetFuelMass(), and WsfPlatform::SetPayloadMass().


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