• S sverchok
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 148
    • Задачи 148
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 21
    • Запросы на слияние 21
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • nikitronn
  • sverchok
  • Запросы на слияние
  • !3455

add custom enum 2

  • Ревью изменений

  • Скачать
  • Почтовые патчи
  • Простое отличие
Слиты nikitronn запросил слияние snlite_enum2 в master Авг 12, 2020
  • Обзор 1
  • Коммиты 8
  • Конвейеры 0
  • Изменения 3

Created by: zeffii

  • adds enum2 to the allowed directives,
  • adds np to the default import (makes it an available alias)

allows us to do

"""
in verts_a v
in faces_a s
in verts_b v
in faces_b s
in precision s d=0.1 n=2
in face_threshold s d=3.0 n=2
in shape_threshold s d=3.0 n=2
out verts_new v
out faces_new s
enum = common fuse cut
enum2 = raw clean
"""

def ui(self, context, layout):
    layout.prop(self, 'custom_enum', expand=True)
    layout.prop(self, 'custom_enum_2', expand=True)
    

from sverchok.utils.solid import svmesh_to_solid
from sverchok.nodes.modifier_make.join_tris import join_tris
from sverchok.data_structure import sv_lambda, match_long_repeat as mlr


params = sv_lambda(face_threshold=face_threshold, shape_threshold=shape_threshold)

for v1, f1, v2, f2 in zip(*mlr([verts_a, faces_a, verts_b, faces_b])):
 
    solid_a = svmesh_to_solid(v1, f1, precision)
    solid_b = svmesh_to_solid(v2, f2, precision)
    solid_out = getattr(solid_a, self.custom_enum)(solid_b)
    solid_out = solid_out.removeSplitter()
    
    rawdata = solid_out.tessellate(precision)
    b_verts = [(v.x, v.y, v.z) for v in rawdata[0]]

    if self.custom_enum_2 == "clean":        
        v_out, f_out = join_tris(b_verts, rawdata[1], params)
    else:
        v_out = b_verts
        f_out = rawdata[1]

    verts_new.append(v_out)
    faces_new.append(f_out)

and that looks like image

Ответственный
Назначить
Проверяющие
Запросить ревью
Оценка трудозатрат
Исходная ветка: snlite_enum2