在 CGAL 中绘制彩色网格

Drawing a colored mesh in CGAL

在 CGAL 中有 Surface_mesh<Point_3>Surface_mesh::Property_map<Surface_mesh::Face_index, CGAL::Color>。我使用 CGAL::draw() 方法绘制这个网格,但是不同颜色的面没有反映出来。我错过了什么?

我认为您必须在查看器中按一次 M 键,才能激活 'multicolor' 功能。

当前版本的Surface mesh basic viewer不考虑面的颜色。

但是,更改代码很容易。

  1. 查看文件 draw_surface_mesh.h
  2. 添加仿函数 MyColorFunctorSM(受现有 DefaultColorFunctorSM 启发),returns 给定索引
  3. 的面的颜色
  4. 将绘图函数中的 DefaultColorFunctorSM 替换为您的新仿函数 MyColorFunctorSM。

(如果不想修改CGAL文件,可以在代码中定义仿函数,然后copy/paste在代码中修改draw函数)