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 を返します。これは、折りたたまれているはずの頂点の数です。
ただし、メッシュ上の頂点番号は変更されていないことをログで確認できます。これはどのように可能ですか?