我想使用CGAL::read_OFF()加载一个coff文件(带有颜色的网格)。下一次尝试是将这些信息组合成一个网格变量(类似于polygon_soup_to_polygon_mesh函数,但不确定,因为此命令也不支持颜色信息)。你知道如何读取COFF文件并将其合并为包含颜色信息的网格吗?
bool
read_OFF( std::istream& in,
std::vector< Point_3 >& points,
std::vector< Polygon_3 >& polygons,
std::vector<Color_rgb>& fcolors,
std::vector<Color_rgb>& vcolors,
bool /* verbose */ = false)然后
下面是我想要加载的COFF文件的示例:
COFF
12 12 0
-0.4 -4.898587e-17 0.85 158 138 122 255
-0.4 -4.898587e-17 -0.9 255 0 122 255
0.4 4.898587e-17 -0.9 0 255 122 255
0.4 4.898587e-17 0.85 158 138 122 255
-0.4 -1.2 0.85 158 0 255 255
-0.4 -1.2 -0.9 158 138 122 255
0.4 -1.2 -0.9 158 138 122 255
0.4 -1.2 0.85 158 138 122 255
-0.4 -1.2 0.85 158 138 122 255
-0.4 -1.2 -0.9 100 255 0 255
0.4 -1.2 -0.9 222 0 122 255
0.4 -1.2 0.85 222 0 122 255
3 3 1 0
3 3 2 1
3 1 4 0
3 5 4 1
3 2 5 1
3 6 5 2
3 7 2 3
3 7 6 2
3 4 3 0
3 4 7 3
3 9 11 8
3 10 11 9发布于 2018-02-07 22:25:30
您可以使用COFF数据结构,它有一个支持Surface_mesh文件的read_off()函数,该函数由operator>>()调用。所以只需定义一个Surface_mesh(Point_3),让我们称其为sm,让我们将其命名为is,并调用
is>>sm; 这应该会用你的网格和正确的颜色填充你的surface_mesh。在你的例子中,颜色将是每顶点的。
https://stackoverflow.com/questions/48645996
复制相似问题