0.2.0
Loading...
Searching...
No Matches
VectorNavDataLogger.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
19
20namespace NAV
21{
22class NodeData;
23
25class VectorNavDataLogger : public Node, public FileWriter, public CommonLog
26{
27 public:
40
42 [[nodiscard]] static std::string typeStatic();
43
45 [[nodiscard]] std::string type() const override;
46
48 [[nodiscard]] static std::string category();
49
52 void guiConfig() override;
53
55 [[nodiscard]] json save() const override;
56
59 void restore(const json& j) override;
60
65 bool onCreateLink(OutputPin& startPin, InputPin& endPin) override;
66
68 void flush() override;
69
70 private:
72 bool initialize() override;
73
75 void deinitialize() override;
76
80 void writeObservation(InputPin::NodeDataQueue& queue, size_t pinIdx);
81
83 bool _headerWritten = false;
84};
85
86} // namespace NAV
Common logging variables like time into run and local positions.
File Writer class.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Node Class.
Common logging variables like time into run and local positions.
Definition CommonLog.hpp:26
Parent class for other data loggers which manages the output filestream.
Definition FileWriter.hpp:27
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
Data Logger for VectorNav observations.
Definition VectorNavDataLogger.hpp:26
VectorNavDataLogger(VectorNavDataLogger &&)=delete
Move constructor.
void restore(const json &j) override
Restores the node from a json object.
void guiConfig() override
ImGui config window which is shown on double click.
~VectorNavDataLogger() override
Destructor.
VectorNavDataLogger & operator=(const VectorNavDataLogger &)=delete
Copy assignment operator.
bool onCreateLink(OutputPin &startPin, InputPin &endPin) override
Called when a new link is to be established.
std::string type() const override
String representation of the Class Type.
VectorNavDataLogger & operator=(VectorNavDataLogger &&)=delete
Move assignment operator.
static std::string category()
String representation of the Class Category.
VectorNavDataLogger(const VectorNavDataLogger &)=delete
Copy constructor.
static std::string typeStatic()
String representation of the Class Type.
void flush() override
Function called by the flow executer after finishing to flush out remaining data.
json save() const override
Saves the node into a json object.
VectorNavDataLogger()
Default constructor.