9#include <SimoxUtility/algorithm/string/string_tools.h>
12#include <RobotAPI/libraries/armem_robot_state/aron/Proprioception.aron.generated.h>
21 const RobotUnitDataStreaming::TimeStep&
data;
22 const RobotUnitDataStreaming::DataEntry&
entry;
38 std::optional<std::string>
findByPrefix(
const std::string& key,
39 const std::set<std::string>& prefixes);
41 template <
class ValueT>
43 findByPrefix(
const std::string& key,
const std::map<std::string, ValueT>& map)
45 for (
const auto& [prefix, value] : map)
47 if (simox::alg::starts_with(key, prefix))
55 template <
class ValueT>
57 findBySuffix(
const std::string& key,
const std::map<std::string, ValueT>& map)
59 for (
const auto& [suffix, value] : map)
61 if (simox::alg::ends_with(key, suffix))
76 std::map<std::string, std::function<void(Eigen::Vector3f&,
float)>>
vector3fSetters;
78 std::map<std::string, std::function<std::map<std::string, float>*(prop::arondto::Joints&)>>
81 std::function<std::map<std::string, Eigen::Vector3f>*(prop::arondto::Joints&)>>
85 const std::vector<std::string>&
split,
89 std::map<std::string, std::function<Eigen::Vector3f*(prop::arondto::Platform&)>>
93 std::map<std::string, std::function<Eigen::Vector3f*(prop::arondto::ForceTorque&)>>
static T GetAs(const timestep_t &st, const entry_t &e)
T getValueAs(const ConverterValue &value)
ValueT findBySuffix(const std::string &key, const std::map< std::string, ValueT > &map)
std::optional< std::string > findByPrefix(const std::string &key, const std::set< std::string > &prefixes)
Search.
std::vector< std::string > split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)
const RobotUnitDataStreaming::DataEntry & entry
const RobotUnitDataStreaming::TimeStep & data