Загрузка файлов .off проста:
typedef CGAL::Simple_cartesian<double> Kernel;
typedef CGAL::Surface_mesh<Kernel::Point_3> SurfaceMesh;
typedef CGAL::Polyhedron_3<Kernel> Polyhedron;
...
SurfaceMesh surface;
Polyhedron poly;
std::fstream inputOffFile( "myFile.off" );
inputOffFile >> poly;
CGAL::copy_face_graph( poly, surface);
Затем я могу перебрать координаты вершины по:
std::vector<float> verts;
for( SurfaceMesh::Vertex_index vi : surface.vertices() )
{
Point pt = surface.point( vi );
verts.push_back( pt.x() );
verts.push_back( pt.y() );
verts.push_back( pt.z() );
}
Но как я могу получить доступ к цветам вершин, которые тоже были сохранены в файле .off?
РЕДАКТИРОВАТЬ: Вероятно, CGAL :: copy_face_graph не копирует свойство цвета, поэтому я думаю, что мне нужен другой подход?