WSF
WsfSolarTerminator.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9
10#ifndef WSFSOLARTERMINATOR_HPP
11#define WSFSOLARTERMINATOR_HPP
12
13#include "wsf_space_export.h"
14
15class UtCalendar;
16class WsfPlatform;
17
19namespace WsfSolarTerminator
20{
21// The following definitions are in degrees, and are taken from
22// Fundamentals of Astrodynamics and Applications, 4th Ed.
23// p. 281.
24constexpr double cTWILIGHT_CIVIL = 96.0;
25constexpr double cTWILIGHT_NAUTICAL = 102.0;
26constexpr double cTWILIGHT_ASTRONOMICAL = 108.0;
27
28enum class PhaseOfDay
29{
30 cDAY = 1,
33};
34
35WSF_SPACE_EXPORT PhaseOfDay GetPhaseOfDay(double aLatDegrees,
36 double aLonDegrees,
37 const UtCalendar& aTime,
38 double aLimitDegrees = cTWILIGHT_CIVIL);
39
40WSF_SPACE_EXPORT bool MaskedByHorizon(const double aObserverWCS[3], const double aTargetWCS[3]);
41
49
51} // namespace WsfSolarTerminator
52
53#endif // WSFSOLARTERMINATOR_HPP
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
A set of utilities relating to the Solar terminator.
Definition WsfSolarTerminator.cpp:25
PlatformSolarIllumination GetPlatformSolarIllumination(WsfPlatform *aPlatformPtr)
Definition WsfSolarTerminator.cpp:187
PhaseOfDay GetPhaseOfDay(double aLatDegrees, double aLonDegrees, const UtCalendar &aTime, double aLimitDegrees)
Definition WsfSolarTerminator.cpp:108
constexpr double cTWILIGHT_CIVIL
Definition WsfSolarTerminator.hpp:24
bool MaskedByHorizon(const double aObserverWCS[3], const double aTargetWCS[3])
Definition WsfSolarTerminator.cpp:136
PlatformSolarIllumination
Definition WsfSolarTerminator.hpp:43
@ cINVALID_PLATFORM
Definition WsfSolarTerminator.hpp:44
@ cEARTH_PENUMBRA
Definition WsfSolarTerminator.hpp:46
@ cEARTH_UMBRA
Definition WsfSolarTerminator.hpp:47
@ cILLUMINATED
Definition WsfSolarTerminator.hpp:45
constexpr double cTWILIGHT_ASTRONOMICAL
Definition WsfSolarTerminator.hpp:26
PhaseOfDay
Definition WsfSolarTerminator.hpp:29
@ cTWILIGHT
Definition WsfSolarTerminator.hpp:31
@ cNIGHT
Definition WsfSolarTerminator.hpp:32
@ cDAY
Definition WsfSolarTerminator.hpp:30
constexpr double cTWILIGHT_NAUTICAL
Definition WsfSolarTerminator.hpp:25
Copyrights Multiple, All Rights Reserved