我正在尝试使用 OpenMesh 抽取网格。我遵循了文档中所述的示例:
cout << "Vertices: " << mesh->n_vertices() << endl;
DecimaterT<Mesh> decimater(*mesh); // a decimater object, connected to a mesh
ModQuadricT<Mesh>::Handle hModQuadric; // use a quadric module
decimater.add(hModQuadric); // register module at the decimater
decimater.initialize(); // let the decimater initialize the mesh and the
// modules
decimater.decimate_to(15000); // do decimation
cout << "Vertices: " << decimater.mesh().n_vertices() << endl;
decimate_to 方法正确终止并返回 56,000,这是应该折叠的顶点数。
但是,我可以通过日志得知网格上的顶点编号没有改变。这怎么可能?