Skip to content
Snippets Groups Projects
Commit e921167f authored by Stefan Reither's avatar Stefan Reither
Browse files

adds entry for map to simple json logger

parent 254c8c75
No related branches found
No related tags found
No related merge requests found
......@@ -71,6 +71,11 @@ void SimpleJsonLoggerEntry::Add(const std::string& key, const std::vector<float>
obj->add(key, ToArr(value));
}
void SimpleJsonLoggerEntry::Add(const std::string& key, const std::map<std::string, float>& value)
{
obj->add(key, ToObj(value));
}
JsonArrayPtr SimpleJsonLoggerEntry::ToArr(const Eigen::VectorXf& vec)
{
......@@ -101,6 +106,16 @@ JsonObjectPtr SimpleJsonLoggerEntry::ToObj(Eigen::Vector3f vec)
return obj;
}
JsonObjectPtr SimpleJsonLoggerEntry::ToObj(const std::map<std::string, float>& value)
{
JsonObjectPtr obj(new JsonObject);
for (const std::pair<std::string, float>& pair : value)
{
obj->add(pair.first, JsonValue::Create(pair.second));
}
return obj;
}
JsonArrayPtr SimpleJsonLoggerEntry::ToArr(Eigen::Matrix4f mat)
{
JsonArrayPtr arr(new JsonArray);
......
......@@ -27,6 +27,7 @@
#include <ArmarXGui/libraries/StructuralJson/JsonObject.h>
#include <Eigen/Dense>
#include <map>
namespace armarx
{
......@@ -46,10 +47,12 @@ namespace armarx
void Add(const std::string& key, const std::string& value);
void Add(const std::string& key, float value);
void Add(const std::string& key, const std::vector<float>& value);
void Add(const std::string& key, const std::map<std::string, float>& value);
static JsonArrayPtr ToArr(const Eigen::VectorXf& vec);
static JsonArrayPtr ToArr(const std::vector<float>& vec);
static JsonObjectPtr ToObj(Eigen::Vector3f vec);
static JsonObjectPtr ToObj(const std::map<std::string, float>& value);
static JsonArrayPtr ToArr(Eigen::Matrix4f mat);
static JsonArrayPtr MatrixToArr(Eigen::MatrixXf mat);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment