FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
ValuesDisplayBase.h
1
14#pragma once
15
16#include <cstddef>
17#include <string>
18#include <vector>
19
21{
22public:
24 static constexpr int kMaxElements = 16;
25
27 {
28 std::string description;
29 std::string format;
30 std::string unit;
31 int size;
32 double multiplier;
33 DisplayValue(int size, std::string description = "Output value:", std::string format = "{:4.2}", std::string unit = "", double multiplier = 1.0)
34 {
35 this->description = description;
36 this->format = format;
37 this->unit = unit;
38 this->multiplier = multiplier;
39 this->size = size;
40 }
41 };
42
48 explicit ValuesDisplayBase(std::vector<DisplayValue> valueSpec);
49
59 std::vector<std::string> FormatLines(const double* const vals) const;
60
65 std::size_t NumLines() const { return m_valueSpec.size(); }
66
67private:
68 std::vector<DisplayValue> m_valueSpec;
69};
Formats the lines Trawl/ValuesDisplay shows on the HUD, one per signal.
Definition ValuesDisplayBase.h:21
static constexpr int kMaxElements
The most elements a signal can have: std::format takes a fixed number of arguments.
Definition ValuesDisplayBase.h:24
std::size_t NumLines() const
Definition ValuesDisplayBase.h:65
std::vector< std::string > FormatLines(const double *const vals) const
ValuesDisplayBase(std::vector< DisplayValue > valueSpec)
Definition ValuesDisplayBase.h:27