7 #ifndef IFM3D_DESERIALIZE_STRUCT_CALIBRATION_HPP
8 #define IFM3D_DESERIALIZE_STRUCT_CALIBRATION_HPP
11 #include <ifm3d/deserialize/deserialize_utils.hpp>
12 #include <ifm3d/fg/organizer_utils.h>
13 #include <type_traits>
15 namespace ifm3d::calibration
25 using Ptr = std::shared_ptr<struct ExtrinsicOpticToUser>;
34 Read(
const uint8_t* data)
36 trans_x = mkval<float>(data + (
sizeof(
float) * 0));
37 trans_y = mkval<float>(data + (
sizeof(
float) * 1));
38 trans_z = mkval<float>(data + (
sizeof(
float) * 2));
39 rot_x = mkval<float>(data + (
sizeof(
float) * 3));
40 rot_y = mkval<float>(data + (
sizeof(
float) * 4));
41 rot_z = mkval<float>(data + (
sizeof(
float) * 5));
61 using Ptr = std::shared_ptr<struct Calibration>;
63 std::array<float, 32> model_parameters;
65 Read(
const uint8_t* data)
67 model_id = mkval<uint32_t>(data);
68 mkarray<float, 32>(data +
sizeof(uint32_t), model_parameters);
84 uint16_t hw_timestamp;
95 Read(
const uint8_t* data)
99 auto read = [&](
auto& val) {
100 using T = std::remove_reference_t<decltype(val)>;
101 val = mkval<T>(data + offset);
Definition: struct_calibration.hpp:60
All items are given in SI units, i.e.
Definition: struct_calibration.hpp:24
All items are given in SI units, i.e.
Definition: struct_calibration.hpp:83