3 #include <SimoxUtility/algorithm/get_map_keys_values.h>
4 #include <SimoxUtility/algorithm/advanced.h>
13 std::optional<std::string>
16 for (
const auto& prefix : prefixes)
53 return &p.acceleration;
57 return &p.relativePosition;
66 ftGetters[
"gravCompF"] = [](prop::arondto::ForceTorque & ft)
68 return &ft.gravityCompensationForce;
70 ftGetters[
"gravCompT"] = [](prop::arondto::ForceTorque & ft)
72 return &ft.gravityCompensationTorque;
74 ftGetters[
"f"] = [](prop::arondto::ForceTorque & ft)
78 ftGetters[
"t"] = [](prop::arondto::ForceTorque & ft)
86 return &j.acceleration;
90 return &j.gravityTorque;
94 return &j.inertiaTorque;
98 return &j.inverseDynamicsTorque;
115 #define ADD_SCALAR_SETTER(container, name, type) \
116 container [ #name ] = []( \
117 prop::arondto::Joints & dto, \
118 const std::vector<std::string>& split, \
119 const ConverterValue & value) \
121 dto. name [split.at(1)] = getValueAs< type >(value); \
161 #define ADD_VECTOR3_SETTER(container, name, type) \
162 container [ #name ] = [this]( \
163 prop::arondto::Joints & dto, \
164 const std::vector<std::string>& split, \
165 const ConverterValue & value) \
167 auto& vec = dto. name [split.at(1)]; \
168 auto& setter = this->vector3fSetters.at(split.at(3)); \
169 setter(vec, getValueAs< type >(value)); \