[ RUN ] PCL.Octree_Pointcloud_Box_Search
../test/octree/test_octree.cpp:1349: Failure
Value of: inBox
Actual: false
Expected: idxInResults
Which is: true
[ FAILED ] PCL.Octree_Pointcloud_Box_Search (16558 ms)
To reproduce reliably, set test_runs to a large number, e.g. 1'000'000:
@frozar you're the guy to ask to have a look at this whenever you have time. Pretty please.
I'll do my best on this one (but not instantly).
Just for your information, to easy the work, I found one of the good seed. I mean, instead of using srand (static_cast<unsigned int> (time (NULL)));, use srand (static_cast<unsigned int> (465)); and you should get the error immediatly.
Thanks to the seed 465, anyone can investigate this bug quickly :cat:
We just hit a "zero" probability event. The point is exactly at the border and test conditions are different from the boxsearch implementation because they do not include the border.
(lldb) p lowerBoxCorner
(Eigen::Vector3f) $0 = {
Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > = {
m_storage = {
m_data = {
array = ([0] = 0.534261465, [1] = 3.33225989, [2] = 1.29086518)
}
}
}
}
(lldb) p upperBoxCorner
(Eigen::Vector3f) $1 = {
Eigen::PlainObjectBase<Eigen::Matrix<float, 3, 1, 0, 3, 1> > = {
m_storage = {
m_data = {
array = ([0] = 8.57035636, [1] = 7.97451305, [2] = 5.64270449) <- note the z coordinate
}
}
}
}
(lldb) p pt
(const pcl::PointXYZ) $2 = {
pcl::_PointXYZ = {
= {
data = (8.29265785, 4.70194817, 5.64270449, 1)
= (x = 8.29265785, y = 4.70194817, z = 5.64270449) <- note the z coordinate
}
}
}