在CGAL中绘制彩色网格

问题描述

在Cgal中,将Surface_mesh<Point_3>Surface_mesh::Property_map<Surface_mesh::Face_index,Cgal::Color>一起使用。我使用Cgal::draw()方法绘制此网格,但是,不同颜色的面孔无法反映出来。我想念什么?

解决方法

我认为您必须在查看器中按一次M键才能激活“多色”功能。

,

表面网格的基本查看器的当前版本未考虑面的颜色。

但是,更改代码很容易。

  1. 看看文件draw_surface_mesh.h
  2. 添加一个仿函数MyColorFunctorSM(受现有DefaultColorFunctorSM启发),以给定其索引的形式返回面孔的颜色
  3. 用新的仿函数MyColorFunctorSM替换绘图函数DefaultColorFunctorSM。

(如果您不想修改CGAL文件,则可以在代码中定义函子,并在修改之前将代码复制/粘贴到代码中)。