Я пытаюсь скомпилировать программу, которая использует boost :: geometry :: inside, но получаю следующую ошибку:
/ usr / include / boost / geometry / алгоритмы / inside.hpp: создание экземпляра
‘Bool boost :: geometry :: inside (const Geometry1 &, const Geometry2 &)
[с Geometry1 = legacy_point; Geometry2 =
std :: vector] ’: glcanvas.cpp: 1460: 57: требуется отсюда
/usr/include/boost/geometry/algorithms/within.hpp:295:55: ошибка:
«Подать заявку» не является членом
‘Boost :: geometry :: dispatch :: inside, boost :: geometry :: point_tag,
повышение :: геометрия :: multi_point_tag>
Моя геометрия определяется следующим образом:
struct legacy_point{
float x, y, z;
};
BOOST_GEOMETRY_REGISTER_POINT_3D(legacy_point, float, cs::cartesian, x, y, z)
BOOST_GEOMETRY_REGISTER_MULTI_POINT(decltype(std::vector< legacy_point>{}))
И я вызываю следующую функцию:
boost::geometry::within(point, conv_layer);
, где point
имеет тип legacy_point
, а conv_layer
- вектор legacy_point
. Я могу использовать функцию boost :: geometry :: distance, но получаю вышеуказанную ошибку в пределах.