C++11 CGAL凸包与特征值

C++11 CGAL凸包与特征值,c++11,cgal,eigen3,C++11,Cgal,Eigen3,如何使用CGAL中的数据来构造凸包。特别是我想使用eigent3类型,并以某种方式包装它,使CGAL可以直接使用它,而无需将所有eigent3Vector2d复制到CGALPoint_2类中 特征类型都有成员函数.x(),.y(),.z() 有没有人能介绍一下如何做到这一点,实在是太难理解了 更新 到目前为止,我提出了一个自定义迭代器,它存储对Eigen::Matrix(指针或Eigen::Ref类)的引用,并对2x1向量列进行迭代。这只是谜题的一部分:其次,我设法简单地键入defPoint_2

如何使用CGAL中的数据来构造凸包。特别是我想使用
eigent3
类型,并以某种方式包装它,使CGAL可以直接使用它,而无需将所有
eigent3
Vector2d
复制到CGAL
Point_2
类中

特征类型都有成员函数
.x(),.y(),.z()

有没有人能介绍一下如何做到这一点,实在是太难理解了

更新

到目前为止,我提出了一个自定义迭代器,它存储对
Eigen::Matrix
(指针或
Eigen::Ref
类)的引用,并对2x1向量列进行迭代。这只是谜题的一部分:其次,我设法简单地键入def
Point_2
作为
Eigen::Vector2d
,并使用内核扩展教程(见上文),但我仍然不知道如何组合整个谜题?(我明天发布代码)

您是对的,CGAL手册有点难以理解。您能否更具体地说明手册中不可理解的内容?我建议你编辑你的问题,而不是在评论中回答。复制点(成对的双点)将是可以忽略的。您可以做的一件相对简单的事情是创建一个traits类,遵循凸包的要求,使用您的点类型,并为每个谓词转换为cgal点类型并调用cgal的谓词。一个合理的编译器将内联所有内容,而cgal的点类型甚至不会出现在已编译的二进制文件中。@Gliss,你的意思是,我需要在哪里注入它?非常感谢?@Gabriel是的,这个。显然,你把它的一个实例作为最后一个参数传递给凸包函数。你最终找到问题的解决方案了吗?如果是这样,你能给你的帖子写一个自我回答吗?这可能会帮助用户解决同样的问题。