0.2.0
Loading...
Searching...
No Matches
TimeWindow.hpp
Go to the documentation of this file.
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
13
14#pragma once
15
16#include <array>
18
20
22#include "util/Eigen.hpp"
23
24namespace NAV
25{
27class TimeWindow : public Node
28{
29 public:
33 ~TimeWindow() override;
35 TimeWindow(const TimeWindow&) = delete;
39 TimeWindow& operator=(const TimeWindow&) = delete;
42
44 [[nodiscard]] static std::string typeStatic();
45
47 [[nodiscard]] std::string type() const override;
48
50 [[nodiscard]] static std::string category();
51
54 void guiConfig() override;
55
57 [[nodiscard]] json save() const override;
58
61 void restore(const json& j) override;
62
63 private:
64 constexpr static size_t OUTPUT_PORT_INDEX_FLOW = 0;
65 constexpr static size_t INPUT_PORT_INDEX_FLOW = 0;
66
68 bool initialize() override;
69
73 void afterCreateLink(OutputPin& startPin, InputPin& endPin) override;
74
78 void afterDeleteLink(OutputPin& startPin, InputPin& endPin) override;
79
83 void receiveObs(InputPin::NodeDataQueue& queue, size_t pinIdx);
84
86 std::array<InsTime, 2> _startEndTime;
87
89 std::array<gui::widgets::TimeEditFormat, 2> _timeEditFormat;
90
92 bool _inverseWindow = false;
93};
94} // namespace NAV
Vector space operations.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
The class is responsible for all time-related tasks.
Node Class.
Widget to modify time point values.
Input pins of nodes.
Definition Pin.hpp:491
Abstract parent class for all nodes.
Definition Node.hpp:86
Output pins of nodes.
Definition Pin.hpp:338
Limits measurement data from any source to a user-defined timewindow.
Definition TimeWindow.hpp:28
static std::string category()
String representation of the Class Category.
~TimeWindow() override
Destructor.
static std::string typeStatic()
String representation of the Class Type.
TimeWindow & operator=(TimeWindow &&)=delete
Move assignment operator.
void guiConfig() override
ImGui config window which is shown on double click.
std::string type() const override
String representation of the Class Type.
TimeWindow(TimeWindow &&)=delete
Move Constructor.
void restore(const json &j) override
Restores the node from a json object.
json save() const override
Saves the node into a json object.
TimeWindow & operator=(const TimeWindow &)=delete
Copy assignment operator.
TimeWindow(const TimeWindow &)=delete
Copy Constructor.
TimeWindow()
Default constructor.