git.lucas.co / cce-designer
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 }