forked from ChunelFeng/CGraph
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyMutable.py
More file actions
45 lines (41 loc) · 1.52 KB
/
MyMutable.py
File metadata and controls
45 lines (41 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
"""
@Author: Chunel
@Contact: chunel@foxmail.com
@File: MyMutable
@Time: 2025/4/9 00:05
@Desc:
"""
from typing import List
from PyCGraph import GMutable, CStatus, GElement
from MyParams.MyParam import MyParam
class MyMutable(GMutable):
def reshape(self, elements: List[GElement]) -> CStatus:
param: MyParam = self.getGParamWithNoEmpty('param1')
cnt = param.count % 4
if 0 == cnt:
print(" ---- run as a->[b,c]")
elements[1].addDependGElements({elements[0]})
elements[2].addDependGElements({elements[0]})
elements[0].setVisible(True) # must set all used elements visible
elements[1].setVisible(True)
elements[2].setVisible(True)
elif 1 == cnt:
print(" ---- run as c(*3)->b->a")
elements[0].addDependGElements({elements[1]})
elements[1].addDependGElements({elements[2]})
elements[0].setVisible(True)
elements[1].setVisible(True)
elements[2].setVisible(True)
elements[2].setLoop(3)
elif 2 == cnt:
print(" ---- run as a->c, do not run b")
elements[2].addDependGElements({elements[0]})
elements[0].setVisible(True)
elements[2].setVisible(True)
elif 3 == cnt:
print(" ---- run as [a,b(*2),c]")
elements[0].setVisible(True)
elements[1].setVisible(True)
elements[1].setLoop(2)
elements[2].setVisible(True)
return CStatus()