Вот мой код:
Код: Выделить всё
m.updateDataMask(MeshModel::MM_FACEFACETOPO);
vcg::tri::UpdateTopology::FaceFace(m.cm);
m.updateDataMask(MeshModel::MM_VERTFACETOPO);
vcg::tri::UpdateTopology::VertexFace(m.cm);
tri::UpdateFlags::FaceBorderFromNone(m.cm);
// Update vertex selection based on selected faces
m.cm.svn = tri::UpdateSelection::VertexFromFaceStrict(m.cm);
// Update data mask for coordinates
m.updateDataMask(MeshModel::MM_VERTCOORD);
tri::Smooth::VertexCoordLaplacian(m.cm, 3, true, true); // Vertex smoothing
// Update bounding box and normals
m.updateBoxAndNormals();
// Update data mask to indicate modified vertices and normals
m.updateDataMask(
MeshModel::MM_VERTCOORD | // Vertex coordinates modified
MeshModel::MM_VERTNORMAL | // Vertex normals modified
MeshModel::MM_FACENORMAL // Face normals modified
);
Любые предложения или исправления будут очень признательны!Я пытался вызвать плагин filter_unsharp в edit_select, но мне это не удалось.
Я подозреваю, что причина в том, что я не заплатил достаточно внимания механизму обновления сетки на основе OpenGL в МешЛаб. Еще я пытался отследить процесс режима FP_LAPLACIAN_SMOOTH в filter_unsharp, но не смог найти, где именно он обновляет сетку. Для меня это немного сложно. Кто-нибудь может мне помочь?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -smoothing
Мобильная версия