INSTINCT Code Coverage Report


Directory: src/
File: Navigation/Gravity/Gravity.cpp
Date: 2025-11-25 23:34:18
Exec Total Coverage
Lines: 0 29 0.0%
Functions: 0 2 0.0%
Branches: 0 18 0.0%

Line Branch Exec Source
1 // This file is part of INSTINCT, the INS Toolkit for Integrated
2 // Navigation Concepts and Training by the Institute of Navigation of
3 // the University of Stuttgart, Germany.
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9 #include "Gravity.hpp"
10
11 #include <cmath>
12
13 #include <imgui.h>
14
15 namespace NAV
16 {
17
18 ✗ const char* to_string(GravitationModel gravitationModel)
19 {
20 ✗ switch (gravitationModel)
21 {
22 ✗ case GravitationModel::None:
23 ✗ return "None";
24 ✗ case GravitationModel::Const:
25 ✗ return "Const";
26 ✗ case GravitationModel::WGS84:
27 ✗ return "WGS84";
28 ✗ case GravitationModel::WGS84_Skydel:
29 ✗ return "WGS84 (Skydel Constants)";
30 ✗ case GravitationModel::Somigliana:
31 ✗ return "Somigliana";
32 ✗ case GravitationModel::EGM96:
33 ✗ return "EGM96";
34 ✗ case GravitationModel::COUNT:
35 ✗ return "";
36 }
37 ✗ return "";
38 }
39
40 ✗ bool ComboGravitationModel(const char* label, GravitationModel& gravitationModel)
41 {
42 ✗ bool clicked = false;
43 ✗ if (ImGui::BeginCombo(label, NAV::to_string(gravitationModel)))
44 {
45 ✗ for (size_t i = 0; i < static_cast<size_t>(GravitationModel::COUNT); i++)
46 {
47 ✗ const bool is_selected = (static_cast<size_t>(gravitationModel) == i);
48 ✗ if (ImGui::Selectable(NAV::to_string(static_cast<GravitationModel>(i)), is_selected))
49 {
50 ✗ gravitationModel = static_cast<GravitationModel>(i);
51 ✗ clicked = true;
52 }
53
54 // Set the initial focus when opening the combo (scrolling + keyboard navigation focus)
55 ✗ if (is_selected)
56 {
57 ✗ ImGui::SetItemDefaultFocus();
58 }
59 }
60
61 ✗ ImGui::EndCombo();
62 }
63 ✗ return clicked;
64 }
65
66 } // namespace NAV
67