37 #include <gtest/gtest.h>
48 memset(&cal.
M[0][0], 0,
sizeof(
float) * 9);
49 memset(&cal.
R[0][0], 0,
sizeof(
float) * 9);
50 memset(&cal.
P[0][0], 0,
sizeof(
float) * 12);
51 memset(&cal.
D[0], 0,
sizeof(
float) * 8);
73 cal.
P[0][2] = fx * tx;
86 memset(&cal.
M[0][0], 0,
sizeof(
float) * 9);
87 memset(&cal.
R[0][0], 0,
sizeof(
float) * 9);
88 memset(&cal.
P[0][0], 0,
sizeof(
float) * 12);
89 memset(&cal.
D[0], 0,
sizeof(
float) * 8);
98 cal.
K = {{{fx, 0.0, cx}, {0.0, fy, cy}, {0.0, 0.0, 1.0}}};
99 cal.
R = {{{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}}};
100 cal.
P = {{{fx, 0.0, cx, fx * tx}, {0.0, fy, cy, 0.0}, {0.0, 0.0, 1.0, 0.0}}};
103 cal.
D = {1.0, 0.1, 0.2, 0.3, 0.4, 5.1, 6.2, 7.3};
110 for (
size_t h = 0 ; h < 3 ; ++h)
112 for (
size_t w = 0 ; w < 3 ; ++w)
114 ASSERT_FLOAT_EQ(wire.
M[h][w], cal.
K[h][w]);
115 ASSERT_FLOAT_EQ(wire.
R[h][w], cal.
R[h][w]);
119 for (
size_t h = 0 ; h < 3 ; ++h)
121 for (
size_t w = 0 ; w < 4 ; ++w)
123 ASSERT_FLOAT_EQ(wire.
P[h][w], cal.
P[h][w]);
127 for (
size_t i = 0 ; i < cal.
D.size() ; ++i)
129 ASSERT_FLOAT_EQ(wire.
D[i], cal.
D[i]);
135 for (
size_t h = 0 ; h < 3 ; ++h)
137 for (
size_t w = 0 ; w < 3 ; ++w)
139 ASSERT_FLOAT_EQ(lhs.
K[h][w], rhs.
K[h][w]);
140 ASSERT_FLOAT_EQ(lhs.
R[h][w], rhs.
R[h][w]);
144 for (
size_t h = 0 ; h < 3 ; ++h)
146 for (
size_t w = 0 ; w < 4 ; ++w)
148 ASSERT_FLOAT_EQ(lhs.
P[h][w], rhs.
P[h][w]);
152 for (
size_t i = 0 ; i < rhs.
D.size() ; ++i)
154 ASSERT_FLOAT_EQ(lhs.
D[i], rhs.
D[i]);
164 memset(cal.
M, 0,
sizeof(
float) * 9);
165 memset(cal.
D, 0,
sizeof(
float) * 8);
166 memset(cal.
R, 0,
sizeof(
float) * 9);
167 memset(cal.
P, 0,
sizeof(
float) * 12);
207 ASSERT_TRUE(
static_cast<bool>(stereo.aux));
225 ASSERT_FALSE(
static_cast<bool>(stereo.aux));
285 for (
const auto &left: left_sources)
291 for (
const auto &right: right_sources)
297 for (
const auto &aux: aux_sources)
332 for (
const auto &left: left_sources)
338 for (
const auto &right: right_sources)
344 for (
const auto &aux: aux_sources)
375 ASSERT_TRUE(
static_cast<bool>(scaled.aux));
389 ASSERT_FALSE(
static_cast<bool>(scaled.aux));
402 ASSERT_TRUE(
static_cast<bool>(round_trip.aux));
403 check_equal(round_trip.aux.value(), cal.aux.value());
416 ASSERT_FALSE(
static_cast<bool>(round_trip.aux));