Открыть боковую панель
Городецкий Никита Сергеевич
sverchok
Коммиты
2922c8d5
Коммит
2922c8d5
создал
Ноя 08, 2023
по автору
satabol
Просмотр файлов
fix #5049. Logic Functions cannot recreate node.
- Refactor migrate_from
владелец
1975db7f
Изменения
1
Скрыть пробелы
Построчно
Рядом
nodes/logic/logic_node.py
Просмотр файла @
2922c8d5
...
@@ -118,47 +118,46 @@ class SvLogicNodeMK2(SverchCustomTreeNode, bpy.types.Node):
...
@@ -118,47 +118,46 @@ class SvLogicNodeMK2(SverchCustomTreeNode, bpy.types.Node):
layout
.
prop
(
self
,
"output_numpy"
,
expand
=
False
)
layout
.
prop
(
self
,
"output_numpy"
,
expand
=
False
)
def
migrate_from
(
self
,
old_node
):
def
migrate_from
(
self
,
old_node
):
old_node_input_A
=
None
if
old_node
.
bl_idname
==
SvLogicNodeMK2
.
bl_idname
:
if
'A'
in
old_node
.
inputs
:
return
old_node_input_A
=
old_node
.
inputs
[
'A'
]
elif
old_node
.
bl_idname
==
'SvLogicNode'
:
old_node_input_B
=
None
old_node_input_A
=
old_node
.
inputs
.
get
(
'A'
)
if
'B'
in
old_node
.
inputs
:
old_node_input_B
=
old_node
.
inputs
.
get
(
'B'
)
old_node_input_B
=
old_node
.
inputs
[
'B'
]
if
hasattr
(
old_node
,
'items_'
):
if
hasattr
(
old_node
,
'items_'
):
self
.
function_name
=
old_node
.
items_
self
.
function_name
=
old_node
.
items_
if
hasattr
(
old_node
,
'x'
):
if
hasattr
(
old_node
,
'x'
):
self
.
inputs
[
'A'
].
default_int_property
=
old_node
.
x
self
.
inputs
[
'A'
].
default_int_property
=
old_node
.
x
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_int_property'
):
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_int_property'
):
self
.
inputs
[
'A'
].
default_int_property
=
old_node_input_A
.
default_int_property
self
.
inputs
[
'A'
].
default_int_property
=
old_node_input_A
.
default_int_property
if
hasattr
(
old_node
,
'y'
):
if
hasattr
(
old_node
,
'y'
):
self
.
inputs
[
'B'
].
default_int_property
=
old_node
.
y
self
.
inputs
[
'B'
].
default_int_property
=
old_node
.
y
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_int_property'
):
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_int_property'
):
self
.
inputs
[
'B'
].
default_int_property
=
old_node_input_B
.
default_int_property
self
.
inputs
[
'B'
].
default_int_property
=
old_node_input_B
.
default_int_property
if
hasattr
(
old_node
,
'i_x'
):
if
hasattr
(
old_node
,
'i_x'
):
self
.
inputs
[
'A'
].
default_float_property
=
old_node
.
i_x
self
.
inputs
[
'A'
].
default_float_property
=
old_node
.
i_x
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_float_property'
):
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_float_property'
):
self
.
inputs
[
'A'
].
default_float_property
=
old_node_input_A
.
default_float_property
self
.
inputs
[
'A'
].
default_float_property
=
old_node_input_A
.
default_float_property
if
hasattr
(
old_node
,
'i_y'
):
if
hasattr
(
old_node
,
'i_y'
):
self
.
inputs
[
'B'
].
default_float_property
=
old_node
.
i_y
self
.
inputs
[
'B'
].
default_float_property
=
old_node
.
i_y
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_float_property'
):
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_float_property'
):
self
.
inputs
[
'B'
].
default_float_property
=
old_node_input_B
.
default_float_property
self
.
inputs
[
'B'
].
default_float_property
=
old_node_input_B
.
default_float_property
if
hasattr
(
old_node
,
'prop_types'
)
and
len
(
old_node
.
prop_types
)
>
0
:
if
hasattr
(
old_node
,
'prop_types'
)
and
len
(
old_node
.
prop_types
)
>
0
:
self
.
inputs
[
'A'
].
default_property_type
=
'float'
if
old_node
.
prop_types
[
0
]
else
'int'
self
.
inputs
[
'A'
].
default_property_type
=
'float'
if
old_node
.
prop_types
[
0
]
else
'int'
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_property_type'
):
elif
old_node_input_A
and
hasattr
(
old_node_input_A
,
'default_property_type'
):
self
.
inputs
[
'A'
].
default_property_type
=
old_node_input_A
.
default_property_type
self
.
inputs
[
'A'
].
default_property_type
=
old_node_input_A
.
default_property_type
self
.
inputs
[
'A'
].
use_prop
=
True
# like sv_init
self
.
inputs
[
'A'
].
use_prop
=
True
# like sv_init
self
.
inputs
[
'A'
].
show_property_type
=
True
self
.
inputs
[
'A'
].
show_property_type
=
True
if
hasattr
(
old_node
,
'prop_types'
)
and
len
(
old_node
.
prop_types
)
>
1
:
if
hasattr
(
old_node
,
'prop_types'
)
and
len
(
old_node
.
prop_types
)
>
1
:
self
.
inputs
[
'B'
].
default_property_type
=
'float'
if
old_node
.
prop_types
[
1
]
else
'int'
self
.
inputs
[
'B'
].
default_property_type
=
'float'
if
old_node
.
prop_types
[
1
]
else
'int'
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_property_type'
):
elif
old_node_input_B
and
hasattr
(
old_node_input_B
,
'default_property_type'
):
self
.
inputs
[
'B'
].
default_property_type
=
old_node_input_B
.
default_property_type
self
.
inputs
[
'B'
].
default_property_type
=
old_node_input_B
.
default_property_type
self
.
inputs
[
'B'
].
use_prop
=
True
# like sv_init
self
.
inputs
[
'B'
].
use_prop
=
True
# like sv_init
self
.
inputs
[
'B'
].
show_property_type
=
True
self
.
inputs
[
'B'
].
show_property_type
=
True
def
sv_init
(
self
,
context
):
def
sv_init
(
self
,
context
):
a
=
self
.
inputs
.
new
(
'SvStringsSocket'
,
'A'
)
a
=
self
.
inputs
.
new
(
'SvStringsSocket'
,
'A'
)
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать