使用boost::geometry计算点顺序的测试程序
在使用boost::geometry进行空间计算时,我们有时需要针对一个点集合计算它们的顺序以便进行后续操作。此时可以使用boost::geometry::detail::calculate_point_order函数来完成这一操作。
下面是一个简单的示例程序,展示了如何使用boost::geometry::detail::calculate_point_order函数来计算点的顺序:
#include <iostream>
#include <vector>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
int main()
{
using boost::geometry::detail::calculate_point_order;
using boost::geometry::model::d2::point_xy;
std::vector<point_xy<double>> points = {
{ 0, 0 },
{ 1, 1 },
{ 2, 0 },
{ 1, -1 }
};
std::vector<std::size_t> indices(points.size(), 0);
calculate_point_order(points.begin(), points.end(),