Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
FrameID.hpp
Go to the documentation of this file.
1// Vulcan Frame Identifiers
2// Lightweight frame identity for the coordinate frame tree
3#pragma once
4
5#include <cstdint>
6
7namespace vulcan {
8
23
25struct FrameID {
26 uint32_t id;
27
28 constexpr FrameID() : id(static_cast<uint32_t>(BuiltinFrame::ECI)) {}
29 constexpr FrameID(
30 BuiltinFrame builtin) // NOLINT(google-explicit-constructor)
31 : id(static_cast<uint32_t>(builtin)) {}
32 explicit constexpr FrameID(uint32_t raw) : id(raw) {}
33
34 [[nodiscard]] constexpr bool is_builtin() const {
36 }
37
38 [[nodiscard]] constexpr bool operator==(const FrameID &other) const {
39 return id == other.id;
40 }
41 [[nodiscard]] constexpr bool operator!=(const FrameID &other) const {
42 return id != other.id;
43 }
44 [[nodiscard]] constexpr bool operator<(const FrameID &other) const {
45 return id < other.id;
46 }
47};
48
59
60} // namespace vulcan
Definition Aerodynamics.hpp:11
BuiltinFrame
Built-in frame identifiers.
Definition FrameID.hpp:10
@ ENU
Definition FrameID.hpp:14
@ Wind
Definition FrameID.hpp:16
@ Rail
Definition FrameID.hpp:19
@ ECI
Definition FrameID.hpp:11
@ Stability
Definition FrameID.hpp:17
@ Body
Definition FrameID.hpp:15
@ _BuiltinCount
Definition FrameID.hpp:21
@ CDA
Definition FrameID.hpp:20
@ NED
Definition FrameID.hpp:13
@ ECEF
Definition FrameID.hpp:12
@ Geocentric
Definition FrameID.hpp:18
constexpr FrameID FRAME_GEOCENTRIC
Definition FrameID.hpp:56
constexpr FrameID FRAME_ECI
Definition FrameID.hpp:49
constexpr FrameID FRAME_CDA
Definition FrameID.hpp:58
constexpr FrameID FRAME_RAIL
Definition FrameID.hpp:57
constexpr FrameID FRAME_WIND
Definition FrameID.hpp:54
constexpr FrameID FRAME_BODY
Definition FrameID.hpp:53
constexpr FrameID FRAME_ECEF
Definition FrameID.hpp:50
constexpr FrameID FRAME_STABILITY
Definition FrameID.hpp:55
constexpr FrameID FRAME_ENU
Definition FrameID.hpp:52
constexpr FrameID FRAME_NED
Definition FrameID.hpp:51
Universal frame identifier.
Definition FrameID.hpp:25
uint32_t id
Definition FrameID.hpp:26
constexpr bool operator<(const FrameID &other) const
Definition FrameID.hpp:44
constexpr FrameID(BuiltinFrame builtin)
Definition FrameID.hpp:29
constexpr bool operator==(const FrameID &other) const
Definition FrameID.hpp:38
constexpr FrameID()
Definition FrameID.hpp:28
constexpr FrameID(uint32_t raw)
Definition FrameID.hpp:32
constexpr bool is_builtin() const
Definition FrameID.hpp:34
constexpr bool operator!=(const FrameID &other) const
Definition FrameID.hpp:41