0.2.0
Loading...
Searching...
No Matches
KmlLogger.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 <memory>
20#include <Eigen/src/Core/Matrix.h>
21
22namespace NAV
23{
24class NodeData;
25
27class KmlLogger : public Node, public FileWriter
28{
29 public:
33 ~KmlLogger() override;
35 KmlLogger(const KmlLogger&) = delete;
37 KmlLogger(KmlLogger&&) = delete;
39 KmlLogger& operator=(const KmlLogger&) = 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
64 void flush() override;
65
66 private:
68 bool initialize() override;
69
71 void deinitialize() override;
72
75 static void pinAddCallback(Node* node);
79 static void pinDeleteCallback(Node* node, size_t pinIdx);
80
82 std::vector<std::vector<Eigen::Vector3d>> _positionData;
83
87 void writeObservation(InputPin::NodeDataQueue& queue, size_t pinIdx);
88
91 gui::widgets::DynamicInputPins _dynamicInputPins{ 0, this, pinAddCallback, pinDeleteCallback, 1 };
92};
93
94} // namespace NAV
Inputs pins which can be added dynamically.
File Writer class.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Node Class.
Parent class for other data loggers which manages the output filestream.
Definition FileWriter.hpp:27
Data Logger for Pos data as KML files (input for Google Earth)
Definition KmlLogger.hpp:28
KmlLogger & operator=(const KmlLogger &)=delete
Copy assignment operator.
~KmlLogger() override
Destructor.
void restore(const json &j) override
Restores the node from a json object.
std::string type() const override
String representation of the Class Type.
json save() const override
Saves the node into a json object.
KmlLogger(KmlLogger &&)=delete
Move constructor.
static std::string category()
String representation of the Class Category.
KmlLogger & operator=(KmlLogger &&)=delete
Move assignment operator.
void guiConfig() override
ImGui config window which is shown on double click.
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.
KmlLogger()
Default constructor.
KmlLogger(const KmlLogger &)=delete
Copy constructor.
Abstract parent class for all nodes.
Definition Node.hpp:86
Inputs pins which can be added dynamically.
Definition DynamicInputPins.hpp:29