Python перечисление установлено в качестве параметра в функции - PullRequest
1 голос
/ 27 марта 2020

Я смотрю на python API со следующим примером функции:

bpy.ops.object.bake(type='COMBINED', pass_filter={"DIFFUSE", "DIRECT"})

, в то время как параметр pass_filter принимает одно или несколько из следующих значений:

pass_filter (enum set in {
        'NONE', 'AO', 'EMIT',
        'DIRECT', 'INDIRECT',
        'COLOR', 'DIFFUSE', 'GLOSSY',
        'TRANSMISSION', 'SUBSURFACE',
        })

с другой стороны, у меня есть следующее, чтобы определить, должны ли параметры быть добавлены к pass_filter:

is_NONE = False
is_AO = True
is_EMIT = False
is_DIRECT = True
#..etc.

Как мне вставить их в функцию, как список или массив в параметр

1 Ответ

0 голосов
/ 27 марта 2020

Ключом к этому является знание {"DIFFUSE", "DIRECT"} представляет собой набор:

#!/usr/bin/python3
is_NONE = False
is_AO = True
is_EMIT = False
is_DIRECT = True
pass_filter = set()
if is_AO:
    pass_filter.add('AO')  
if is_DIRECT:
    pass_filter.add('DIRECT')  
print(pass_filter)

Смотрите здесь

Не стесняйтесь добавлять свои дополнительные операторы if!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...