WSF
WsfEclipseEventManager Class Reference

#include <WsfEclipseEventManager.hpp>

Inheritance diagram for WsfEclipseEventManager:
Collaboration diagram for WsfEclipseEventManager:

Public Member Functions

 WsfEclipseEventManager ()
bool Initialize () override
bool IsEnabled () const
void Enable (double aSimTime)
void Disable ()
 Disable eclipse event reporting. No further eclipse events will be triggered after this method is called.
Public Member Functions inherited from WsfSimulationExtension
 WsfSimulationExtension ()
 ~WsfSimulationExtension () override=default
WsfSimulationGetSimulation () const
const WsfScenarioGetScenario () const
virtual void AddedToSimulation ()
virtual bool PrepareExtension ()
virtual bool PlatformsInitialized ()
virtual void PendingStart ()
virtual void Start ()
virtual void Complete (double aSimTime)
Public Member Functions inherited from WsfExtension
virtual ~WsfExtension ()=default
const std::string & GetExtensionName () const

Additional Inherited Members

static void __private_SetSim (WsfSimulationExtension &aExtension, WsfSimulation *aSimPtr)
Protected Member Functions inherited from WsfExtension
void InitializeExtensionName (const std::string &aName)

Detailed Description

A class that optimizes eclipse event generation (ECLIPSE_ENTRY and ECLIPSE_EXIT). Checks are only performed if these events have subscribers at the start of the simulation, (typically WsfEventOutput, WsfCSV_EventOutput, and WsfScriptObserver), or if the Enable() method is called. Events are scheduled at the times of eclipse entry and exit. Times are re-evaluated (because of earth motion), during these event executions. If a satellite is not in eclipse on a given orbit, the times are re-evaluated every one-quarter orbit for changes.

Note
If there are no subscribers to the eclipse events at the start of a simulation, the Enable() method must be called before subscribing during a running simulation.

Constructor & Destructor Documentation

◆ WsfEclipseEventManager()

WsfEclipseEventManager::WsfEclipseEventManager ( )

Member Function Documentation

◆ Disable()

void WsfEclipseEventManager::Disable ( )

Disable eclipse event reporting. No further eclipse events will be triggered after this method is called.

◆ Enable()

void WsfEclipseEventManager::Enable ( double aSimTime)

Enable eclipse event reporting. This method is called automatically in Initialize() if there are subscibers to eclipse events at the start of the simulation; otherwise Enable() must be called before subscribing to eclipse events.

References WsfSimulation::GetPlatformByIndex(), WsfSimulation::GetPlatformCount(), WsfSimulationExtension::GetSimulation(), WsfObserver::OrbitalManeuverCompleted(), WsfObserver::OrbitalManeuverUpdated(), WsfObserver::PlatformDeleted(), WsfObserver::PlatformInitialized(), and platformPtr.

Referenced by Initialize().

◆ Initialize()

bool WsfEclipseEventManager::Initialize ( )
overridevirtual

Called in response to WsfSimulation::Initialize. This is called to allow the extension to perform any initialization that is required.

Note
The extension should not assume that another extension has been initialized unless it this extension has been registered as a dependency of the other extension.

Reimplemented from WsfSimulationExtension.

References WsfObserver::EclipseEntry(), WsfObserver::EclipseExit(), Enable(), and WsfSimulationExtension::GetSimulation().

◆ IsEnabled()

bool WsfEclipseEventManager::IsEnabled ( ) const
inline

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