Добрый день!
Использую две библиотеки в проекте — Eigen и Boost.Geometry.
Eigen хорош тем, что держит SSE2 и прочее. Читал только положительные отзывы.
Boost.Geometry необходим для расчетов пересекаются ли две геометрии, входит ли точка в геометрию и т.д.
Так я понял, к Boost.Geometry можно прикрутить любой класс для работы с точками\векторами,
достаточно реализовать traits.
Немного про traits в boost.Geometry:
http://www.boost.org/doc/libs/1_57_0/libs/geometry/doc/html/geometry/design.html
Там только достаточно реализовать get:
namespace traits
{
template <>
struct access<mypoint, 0>
{
static double get(mypoint const& p)
{
return p.x;
}
};
// same for 1: p.y
...
}
?
И вообще будет ли смысл от использования точек Eigen в Boost.Geometry, если Boost.Geometry использует вектора просто как обычные структуры?
Ведь смысл SSE2 это в операциях над векторами.