siderust-cpp
0.8.0
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
twilight.hpp
Go to the documentation of this file.
1
#pragma once
2
31
#include "
ffi_core.hpp
"
32
33
#include <qtty/qtty.hpp>
34
35
namespace
siderust
{
36
42
enum class
TwilightPhase
: int32_t {
43
Day
= SIDERUST_TWILIGHT_PHASE_T_DAY,
44
Civil
= SIDERUST_TWILIGHT_PHASE_T_CIVIL,
45
Nautical
= SIDERUST_TWILIGHT_PHASE_T_NAUTICAL,
46
Astronomical
= SIDERUST_TWILIGHT_PHASE_T_ASTRONOMICAL,
47
Dark
= SIDERUST_TWILIGHT_PHASE_T_DARK,
48
};
49
58
inline
TwilightPhase
twilight_phase
(qtty::Degree altitude) {
59
siderust_twilight_phase_t out{};
60
check_status
(siderust_twilight_classification_deg(altitude.value(), &out),
"twilight_phase"
);
61
return
static_cast<
TwilightPhase
>
(out);
62
}
63
70
inline
TwilightPhase
twilight_phase
(qtty::Radian altitude) {
71
siderust_twilight_phase_t out{};
72
check_status
(siderust_twilight_classification_rad(altitude.value(), &out),
"twilight_phase(rad)"
);
73
return
static_cast<
TwilightPhase
>
(out);
74
}
75
76
}
// namespace siderust
ffi_core.hpp
Error handling and utility base for the siderust C++ wrapper.
siderust
Definition
altitude.hpp:19
siderust::check_status
void check_status(siderust_status_t status, const char *operation)
Definition
ffi_core.hpp:111
siderust::TwilightPhase
TwilightPhase
Sky-condition phase determined by the Sun's altitude.
Definition
twilight.hpp:42
siderust::TwilightPhase::Day
@ Day
Sun above horizon.
siderust::TwilightPhase::Civil
@ Civil
-6° to 0°.
siderust::TwilightPhase::Nautical
@ Nautical
-12° to -6°.
siderust::TwilightPhase::Astronomical
@ Astronomical
-18° to -12°.
siderust::TwilightPhase::Dark
@ Dark
Below -18°.
siderust::twilight_phase
TwilightPhase twilight_phase(qtty::Degree altitude)
Classify the sky condition from the Sun's altitude in degrees.
Definition
twilight.hpp:58
include
siderust
twilight.hpp
Generated by
1.9.8