9 #include <gtest/gtest.h> 14 using namespace signed_distance_field;
17 TEST(testGridmap3dLookup, nearestNode) {
19 const Position3 gridOrigin{-0.1, -0.2, -0.4};
20 const double resolution = 0.1;
26 ASSERT_EQ(originNode.
x, 0);
27 ASSERT_EQ(originNode.
y, 0);
28 ASSERT_EQ(originNode.
z, 0);
32 ASSERT_EQ(originNodeProjected.
x, 0);
33 ASSERT_EQ(originNodeProjected.
y, 0);
34 ASSERT_EQ(originNodeProjected.
z, 0);
38 ASSERT_EQ(maxNodeProjected.
x, gridsize.x - 1);
39 ASSERT_EQ(maxNodeProjected.
y, gridsize.y - 1);
40 ASSERT_EQ(maxNodeProjected.
z, gridsize.z - 1);
45 const size_t_3d closestNodeIndex = gridmap3DLookup.
nearestNode(nodePosition + 0.49 * Position3::Constant(resolution));
46 ASSERT_EQ(closestNodeIndex.
x, nodeIndex.x);
47 ASSERT_EQ(closestNodeIndex.
y, nodeIndex.y);
48 ASSERT_EQ(closestNodeIndex.
z, nodeIndex.z);
51 TEST(testGridmap3dLookup, linearIndex) {
53 const Position3 gridOrigin{-0.1, -0.2, -0.4};
54 const double resolution = 0.1;
57 ASSERT_EQ(gridmap3DLookup.
linearIndex({0, 0, 0}), 0);
58 ASSERT_EQ(gridmap3DLookup.
linearIndex({gridsize.x - 1, gridsize.y - 1, gridsize.z - 1}), gridmap3DLookup.
linearSize() - 1);
Position3 nodePosition(const size_t_3d &index) const noexcept
size_t linearSize() const noexcept
Gridmap3dLookup::size_t_3d size_t_3d
size_t linearIndex(const size_t_3d &index) const noexcept
Eigen::Vector3d Position3
TEST(GridMap, CopyConstructor)
size_t_3d nearestNode(const Position3 &position) const noexcept