У меня проблемы с определением, где находится фильтр Close Holes из Meshlab
Так что я знаю, что Meshlab построен поверх библиотеки VCG с открытым исходным кодом, найденной здесь, поэтому я решил, что смогу найти, какая часть кода задействована в фильтре Close Holes, но у меня возникли некоторые проблемы.
Если это возможно, может кто-нибудь указать мне, какой алгоритм используется или где искать в источнике VCG (или источнике Meshlab), чтобы найти код для фильтра?
Я хотел включить это во что-то, что я делаю, не вызывая сценарий meshlabserver + filter.
1 ответ
Откройте фильтр "закрывать дыры" в meshlab. Нажмите Справка. Обратите внимание на необычную фразу "закрытие дыры". Загрузите дистрибутив исходного кода, в настоящее время MeshLabSrc_AllInc_v133.tgz.
cd meshlab/src
find . -type f -print0 |xargs -0 grep "closing a hole"
Обратите внимание на один удар: ./meshlabplugins/filter_meshing/meshfilter.cpp:
... "After closing a hole the faces that have been created are left selected.
...
Отредактируйте meshfilter.cpp и найдите чуть выше этой строки, case FP_CLOSE_HOLES:
,
Grep снова для FP_CLOSE_HOLES
, Найти звонок EarCuttingFill
,
Grep EarCuttingFill
, Не найти определений для этого. Google вместо этого, и найти его ссылку VCG.
Еще несколько кликов дают исходный код.
Изменить: эти URL с 2014 года не работают. В 2018 году попробуйте http://docs.ros.org/diamondback/api/vcglib/html/classvcg_1_1tri_1_1Hole.html и http://docs.ros.org/diamondback/api/vcglib/html/hole_8h_source.html