Я написал небольшой трассировщик лучей (с CGAL :: Surface_mesh Mesh) с ускорением дерева в cgal.Я хотел бы найти всех соседей хитового примитива.
Ray_intersection hit = tree.first_intersection(rays[y][x]);
if(hit)
{
const Point& point = boost::get<Point>(hit->first);
const Primitive_id& primitive_id = boost::get<Primitive_id>(hit->second);
//i need the neighbours of the hit primitive
}
Как мне это сделать?Я нашел эту документацию, но, похоже, она работает только для точек, а не для примитивов:
https://doc.cgal.org/latest/Spatial_searching/index.html
И он ищет свое евклидово расстояние, не связанное вместе.
Естьтам что-то вроде:
std::vector<Primitive_id&> ids = getNeighoursOfPrimive(primitive_id);
Как я уже говорил, я использую CGAL :: Surface_mesh Mesh для своей сетки, и это только одна сетка в сцене.