CGAL中的三角形多面体面

  • 本文关键字:体面 三角形 CGAL cgal
  • 更新时间 :
  • 英文 :


在CGAL中有一个任意多面体(可以是凸的、凹的,甚至有洞的(,我如何对其面进行三角测量,以便创建OpenGL缓冲区进行渲染?

我已经看到convex_ull_3((返回了一个具有三角形面的多面体,但它不能满足我对任意多面体的要求。

头文件<CGAL/triangulate_polyhedron.h>包含一个未记录的函数

template <typename Polyhedron>
void triangulate_polyhedron(Polyhedron& p)

例如与CCD_ 2一起工作。

多边形网格处理包提供了具有多个重载的函数CGAL::Polygon_mesh_processing::triangulate_faces。最简单的方法是

typedef CGAL::Simple_cartesian<float> Kernel;
typedef CGAL::Polyhedron_3<Kernel> Polyhedron_3;
Polyhedron_3 polyhedron = load_my_polyhedron();
CGAL::Polygon_mesh_processing::triangulate_faces(polyhedron);

之后,polyhedron中的所有面都是三角形。

该函数在适当的位置修改模型,因此必须使用支持删除的HalfedgeDS。这是默认设置,但是,例如,HalfedgeDS_vector不能。

另请参阅使用Surface_mesh而非Polyhedron_3的官方示例:多边形_网格_处理/三角形_面_示例.cpp

相关内容

  • 没有找到相关文章

最新更新