Общий эдж между двумя точками

Перекинув геометрию меша в объект bmesh, можно легко находить смежные ребра между двумя вертексами, благодаря списку связанных с конкретным вертексом ребер.

Создадим объект bmesh и перекинем в него геометрию текущего активного меша.

Пусть у нас имеются два выделенных вертекса, запишем их в список:

У каждого вертекса есть указатель на список прилинкованных к нему ребер: link_edges.

Для того чтобы найти ребро, лежащее между этими двумя вертексами и являющееся для них общим, нам нужно в двух списках ребер для обоих вертексов найти общий элемент.

Сделать это можно превратив каждый список в сет и выполнив операцию пересечения.

Чтобы из пересечения получить указатель на само ребро, выполним функцию next(iter).

Таким образом общее ребро между двумя вертексами можно найти, используя всего одну строчку кода.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии