C++ 在空间图上使用boost凸包

C++ 在空间图上使用boost凸包,c++,boost,graph,geometry,C++,Boost,Graph,Geometry,如果有一个boost图,它的顶点(浮动)中嵌入了位置数据,那么有没有一种方法可以使用,并将顶点作为输出 该图的定义如下: struct RoadVertexData { long long id; glm::vec3 position; }; using RGraph = boost::adjacency_list < boost::vecS, boost::vecS, boost::undirectedS, RoadVertexData>;

如果有一个boost图,它的顶点(浮动)中嵌入了位置数据,那么有没有一种方法可以使用,并将顶点作为输出

该图的定义如下:

    struct RoadVertexData {
     long long id;
     glm::vec3 position;
    };

using RGraph = boost::adjacency_list < boost::vecS, boost::vecS, boost::undirectedS, RoadVertexData>;
struct RoadVertexData{
长id;
glm::vec3位置;
};
使用RGraph=boost::adjacence_list

您可以通过一些努力将其转换为/从点转换为顶点,但我正在尝试了解,如果不这样做,它是否可以完成。

如果不这样做,它将无法完成

但是,您可以通过以开发成本为代价来优化运行时成本

请注意,这将是现在的开发成本,用于测试以及将来需要更改数据结构时。没什么新鲜事,解耦软件总是这样工作的

以优化的名义增加耦合会带来增加耦合的成本

现在,要做的工作并不琐碎。您必须根据需要对图形进行建模的几何体概念调整图形类型

  • 可以用作构建块/示例
你将如何得到你的结果是另一个问题。我想你会认为这是一个图表?或者只是一系列顶点描述符?后者显然更简单

反过来说?

如果你的图代表一个主要的几何概念,考虑逆向路线。Boost Graph还列出了its的要求,因此您可能希望将数据存储为Boost Geometry数据结构并进行调整。

我认为有一个模板化的方法/类或回调可以扩展,比如在我的数据结构中,点坐标位于此处,并在迭代点时使用它。