20 using Eigen::Vector2d;
21 using Eigen::Vector3d;
28 Vector2d coords(0.5, 0.5);
31 BOOST_TEST(ret.sum() == 1.0);
32 BOOST_TEST(equals(ret, coords));
36 Vector2d coords(1.0, 0.0);
39 BOOST_TEST(ret.sum() == 1.0);
40 BOOST_TEST(equals(ret, coords));
44 Vector2d coords(0, 1.0);
47 BOOST_TEST(ret.sum() == 1.0);
48 BOOST_TEST(equals(ret, coords));
51 Vector2d l(0.75, 1.0);
52 Vector2d coords(0.25, 0.75);
54 BOOST_TEST(ret.sum() == 1.0);
55 BOOST_TEST(equals(ret, coords),
"Coords are " << ret <<
" but should be " << coords);
63 using Eigen::Vector2d;
64 using Eigen::Vector3d;
66 Vector3d a(0.0, 0.0, 0.0);
67 Vector3d b(1.0, 0.0, 0.0);
68 Vector3d n(0.0, 0.0, 1.0);
70 Vector3d l(0.5, 0.0, 0.0);
71 Vector2d coords(0.5, 0.5);
74 BOOST_TEST(ret.sum() == 1.0);
75 BOOST_TEST(equals(ret, coords));
78 Vector3d l(0.0, 0.0, 0.0);
79 Vector2d coords(1.0, 0.0);
82 BOOST_TEST(ret.sum() == 1.0);
83 BOOST_TEST(equals(ret, coords));
86 Vector3d l(1.0, 0.0, 0.0);
87 Vector2d coords(0, 1.0);
90 BOOST_TEST(ret.sum() == 1.0);
91 BOOST_TEST(equals(ret, coords));
94 Vector3d l(0.75, 1.0, 0.0);
95 Vector2d coords(0.25, 0.75);
97 BOOST_TEST(ret.sum() == 1.0);
98 BOOST_TEST(equals(ret, coords), fmt::format(
"Coords are {} but should be {}", ret, coords));
110 using Eigen::Vector3d;
112 Vector3d a(0.0, 0.0, 0.0);
113 Vector3d b(0.0, 1.0, 0.0);
114 Vector3d c(1.0, 0.0, 0.0);
115 Vector3d n(0.0, 0.0, 1.0);
118 Vector3d coords(1.0, 0.0, 0.0);
120 BOOST_TEST(ret.sum() == 1.0);
121 BOOST_TEST(equals(ret, coords));
125 Vector3d coords(0.0, 1.0, 0.0);
127 BOOST_TEST(ret.sum() == 1.0);
128 BOOST_TEST(equals(ret, coords));
132 Vector3d coords(0.0, 0.0, 1.0);
134 BOOST_TEST(ret.sum() == 1.0);
135 BOOST_TEST(equals(ret, coords));
139 Vector3d l = (a + b + c) / 3;
140 Vector3d coords(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
142 BOOST_TEST(ret.sum() == 1.0);
143 BOOST_TEST(equals(ret, coords));
147 Vector3d l = (a + b) / 2;
148 Vector3d coords(0.5, 0.5, 0.0);
150 BOOST_TEST(ret.sum() == 1.0);
151 BOOST_TEST(equals(ret, coords));
155 Vector3d l = (b + c) / 2;
156 Vector3d coords(0.0, 0.5, 0.5);
158 BOOST_TEST(ret.sum() == 1.0);
159 BOOST_TEST(equals(ret, coords));
163 Vector3d l = (a + c) / 2;
164 Vector3d coords(0.5, 0.0, 0.5);
166 BOOST_TEST(ret.sum() == 1.0);
167 BOOST_TEST(equals(ret, coords));
171 Vector3d l(2.0, 0.0, 0.0);
181 using Eigen::Vector2d;
182 using Eigen::Vector3d;
184 Vector2d a(0.0, 0.0);
185 Vector2d b(0.0, 1.0);
186 Vector2d c(1.0, 0.0);
187 Vector2d n(0.0, 0.0);
190 Vector3d coords(1.0, 0.0, 0.0);
192 BOOST_TEST(ret.sum() == 1.0);
193 BOOST_TEST(equals(ret, coords));
197 Vector3d coords(0.0, 1.0, 0.0);
199 BOOST_TEST(ret.sum() == 1.0);
200 BOOST_TEST(equals(ret, coords));
204 Vector3d coords(0.0, 0.0, 1.0);
206 BOOST_TEST(ret.sum() == 1.0);
207 BOOST_TEST(equals(ret, coords));
211 Vector2d l = (a + b + c) / 3;
212 Vector3d coords(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
214 BOOST_TEST(ret.sum() == 1.0);
215 BOOST_TEST(equals(ret, coords));
219 Vector2d l = (a + b) / 2;
220 Vector3d coords(0.5, 0.5, 0.0);
222 BOOST_TEST(ret.sum() == 1.0);
223 BOOST_TEST(equals(ret, coords));
227 Vector2d l = (b + c) / 2;
228 Vector3d coords(0.0, 0.5, 0.5);
230 BOOST_TEST(ret.sum() == 1.0);
231 BOOST_TEST(equals(ret, coords));
235 Vector2d l = (a + c) / 2;
236 Vector3d coords(0.5, 0.0, 0.5);
238 BOOST_TEST(ret.sum() == 1.0);
239 BOOST_TEST(equals(ret, coords));
243 Vector2d l(2.0, 0.0);
254 Eigen::Vector3d a{0.0, 0.0, 0.0};
255 Eigen::Vector3d b{0.0, 1.0, 0.0};
256 Eigen::Vector3d c{1.0, 0.0, 0.0};
257 Eigen::Vector3d d{0.0, 0.0, 1.0};
259 Eigen::Vector3d center{0.25, 0.25, 0.25};
boost::test_tools::predicate_result equals(const std::vector< float > &VectorA, const std::vector< float > &VectorB, float tolerance)
equals to be used in tests. Compares two std::vectors using a given tolerance. Prints both operands o...