graphic design tool
git clone https://git.lucas.co/cce-designer.git
nodes/group.json (4.4K)
1 {
2 "name": "Group",
3 "type": "group",
4 "inputs": 1,
5 "outputs": 1,
6 "params": [
7 {
8 "name": "input",
9 "label": "Input",
10 "type": "node",
11 "default": "",
12 "description": "The node whose geometry this reads; the selected elements are added to the named group and the geometry passed on."
13 },
14 {
15 "name": "group_name",
16 "label": "Group Name",
17 "type": "group",
18 "default": "group1",
19 "description": "The name of the group the selection is written to, which downstream nodes can pick by name."
20 },
21 {
22 "name": "element_type",
23 "label": "Element Type",
24 "type": "choice:Points,Primitives,Edges",
25 "default": "Points",
26 "show_when": "mode != Expand|Attribute",
27 "description": "What is selected: points, primitives (tested at their centre, with their points), or edges (both ends must match; their points are grouped)."
28 },
29 {
30 "name": "mode",
31 "label": "Mode",
32 "type": "choice:Box,Random,Attribute,Expand",
33 "default": "Box",
34 "description": "How elements are chosen: inside a box, a random count, by comparing an attribute to a threshold, or by growing or shrinking an existing group."
35 },
36 {
37 "name": "count",
38 "label": "Count",
39 "type": "spinbox",
40 "default": "1",
41 "min": 1.0,
42 "max": 500.0,
43 "step": 1.0,
44 "show_when": "mode == Random",
45 "description": "How many elements are picked at random. More than there are selects them all.",
46 "group": "mode"
47 },
48 {
49 "name": "seed",
50 "label": "Seed",
51 "type": "spinbox",
52 "default": "0",
53 "min": 0.0,
54 "max": 999.0,
55 "step": 1.0,
56 "show_when": "mode == Random",
57 "description": "Changes which elements are picked at random; the same seed always picks the same ones.",
58 "group": "mode"
59 },
60 {
61 "name": "center",
62 "label": "Center",
63 "type": "float3",
64 "default": "0.00:0.00:0.00",
65 "min": -10.0,
66 "max": 10.0,
67 "show_when": "mode == Box",
68 "description": "The centre of the selection box, in world units.",
69 "group": "mode"
70 },
71 {
72 "name": "size",
73 "label": "Size",
74 "type": "float3",
75 "default": "1.00:1.00:1.00",
76 "min": 0.0,
77 "max": 20.0,
78 "show_when": "mode == Box",
79 "description": "The full width, height and depth of the selection box, in world units. Elements inside or on its faces are selected.",
80 "group": "mode"
81 },
82 {
83 "name": "invert",
84 "label": "Invert",
85 "type": "toggle",
86 "default": "false",
87 "description": "Selects everything the mode would not select, and nothing it would.",
88 "group": "output"
89 },
90 {
91 "name": "highlight",
92 "label": "Highlight",
93 "type": "toggle",
94 "default": "true",
95 "description": "Tints the selected points amber so the group can be seen in the viewport. Changes their colour in the output.",
96 "group": "output"
97 },
98 {
99 "name": "attribute",
100 "label": "Attribute",
101 "type": "attribute",
102 "default": "",
103 "show_when": "mode == Attribute",
104 "description": "The point attribute compared against Threshold; points without it are not selected.",
105 "group": "mode"
106 },
107 {
108 "name": "comparison",
109 "label": "Comparison",
110 "type": "choice:Below,Above",
111 "default": "Above",
112 "show_when": "mode == Attribute",
113 "description": "Whether points whose attribute is below or above Threshold are selected. A value equal to Threshold is never selected.",
114 "group": "mode"
115 },
116 {
117 "name": "threshold",
118 "label": "Threshold",
119 "type": "float",
120 "default": "0.50",
121 "show_when": "mode == Attribute",
122 "description": "The value the attribute is compared against.",
123 "group": "mode"
124 },
125 {
126 "name": "source_group",
127 "label": "Source Group",
128 "type": "group",
129 "default": "",
130 "show_when": "mode == Expand",
131 "description": "The existing point group that is grown or shrunk across the mesh.",
132 "group": "mode"
133 },
134 {
135 "name": "rings",
136 "label": "Rings",
137 "type": "spinbox",
138 "default": "1",
139 "min": -8.0,
140 "max": 8.0,
141 "step": 1.0,
142 "show_when": "mode == Expand",
143 "description": "How many rings of neighbouring points the source group grows by. Negative shrinks it by peeling its boundary; 0 copies it unchanged.",
144 "group": "mode"
145 }
146 ]
147 }