Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
FrameNode.hpp
Go to the documentation of this file.
1// Vulcan Frame Tree Node
2// Structural metadata for a frame in the tree
3#pragma once
4
6
7#include <string>
8#include <utility>
9
10namespace vulcan {
11
13inline constexpr int MAX_FRAME_DEPTH = 32;
14
16struct FrameNode {
19 std::string name;
20 int depth;
21 bool is_root;
22
24 : id(FRAME_ECI), parent_id(FRAME_ECI), name("ECI"), depth(0),
25 is_root(true) {}
26
27 FrameNode(FrameID id_, FrameID parent_id_, std::string name_, int depth_)
28 : id(id_), parent_id(parent_id_), name(std::move(name_)), depth(depth_),
29 is_root(false) {}
30};
31
32} // namespace vulcan
Definition Aerodynamics.hpp:11
constexpr FrameID FRAME_ECI
Definition FrameID.hpp:49
constexpr int MAX_FRAME_DEPTH
Maximum supported frame tree depth.
Definition FrameNode.hpp:13
Universal frame identifier.
Definition FrameID.hpp:25
int depth
Definition FrameNode.hpp:20
std::string name
Definition FrameNode.hpp:19
bool is_root
Definition FrameNode.hpp:21
FrameID id
Definition FrameNode.hpp:17
FrameNode(FrameID id_, FrameID parent_id_, std::string name_, int depth_)
Definition FrameNode.hpp:27
FrameID parent_id
Definition FrameNode.hpp:18
FrameNode()
Definition FrameNode.hpp:23